- 博客(35)
- 收藏
- 关注
原创 Lecture3 Data Flow Analysis-Application-笔记
本文参考了该作者的一些图解和见解:https://zhuanlan.zhihu.com/p/131083830第三、四节主要讲解数据流分析的一些经典应用:ReachingDefinitions Analysis Live Variables Analysis Available Expressions Analysis1. 数据流分析概述2. Preliminaries of Data Flow Analysis3. Reaching Definitions An...
2020-08-14 16:22:18
554
1
原创 lecture2 Intermediate Representation-笔记
1. Compilers and Static Analyzers2. AST vs. IR3. IR: Three-Address Code (3AC)4. 3AC in Real Static Analyzer: Soot5. Static Single Assignment (SSA)6. Basic Blocks (BB)7. Control Flow Graphs (CFG)
2020-08-07 15:02:45
1776
1
原创 lecture1 Introduction-笔记
由于疫情原因,偶然间学习了南大的软件分析(Static Analysis)课程,因此从该篇起将每一节课的内容做一些记录和个人补充。
2020-08-04 16:59:14
439
原创 spark基本概念与架构设计
spark基本概念:•RDD:是ResillientDistributed Dataset(弹性分布式数据集)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型•DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系•Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task•Applica
2017-10-11 21:33:56
491
原创 MapReduce详解
MapReduce模型简介: •MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce •编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算 •MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可
2017-06-13 18:20:23
16359
2
原创 Hive的数据类型与基础操作
表 Hive的基本数据类型:类型描述示例TINYINT1个字节(8位)有符号整数1SMALLINT2个字节(16位)有符号整数1INT4个字节(32位)有符号整数1BIGINT8个字节
2017-06-13 11:35:18
775
原创 Hive的工作原理
一、SQL语句转换成MapReduce作业的基本原理join的实现原理:sql获取的数据先通过map函数处理,转换成key-value形式,接着shuffle为归并的过程,将key相同的归并到一起,最后通过Reduce函数处理。(关于MapReduce与shuffle的详解请看MapReduce篇)二、Hive中SQL查询转换成MapReduce作业的过程
2017-06-13 09:50:50
978
原创 数据仓库hive(简介与应用)
数据仓库概念:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。hive简介: •Hive是一个构建于Hadoop顶层的数据仓库工具 •支持大规模数据存储、分析,
2017-06-13 09:27:43
1762
原创 HBase的三大组件
•HBase的实现包括三个主要的功能组件:–(1)库函数:链接到每个客户端–(2)一个Master主服务器–(3)许多个Region服务器•主服务器Master负责管理和维护HBase表的分区信息,维护Region服务器列表,分配Region,负载均衡•Region服务器负责存储和维护分配给自己的Region,处理来自客户端的读写请求•客户端并不是直
2017-05-30 13:25:30
13972
1
原创 Hbase列族数据库(基本存储结构)
HBase:HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳•表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族•行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。•列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元...
2017-05-30 12:55:54
5452
1
原创 HDFS(名称节点与数据节点)简介
HDFS:分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群这些节点分为主从节点,主节点可叫作名称节点(NameNode),从节点可叫作数据节点(DataNode)HDFS通过块的模式存储数据,默认情况下一个块是64M,把大文件拆分成多个块,可以最小化寻址开销这样的好处是:1.支持大规模文件存储 : 文件以块为单位进行存储,一个大规模文件可以
2017-05-29 10:29:05
46099
原创 Hadoop整体架构简
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构Hadoop的核心是分布式文件系统hdfs(Hadoop Distribution File System)和MapReduce它的特性:1.高可用性 2.高效性 3.高扩展性 4.高容错性 5.成本低 6.运行在Linux上 7.支持多种编程语言Had
2017-05-29 10:00:16
691
原创 数据结构-表(java)
一、链表链表由一系列节点组成,这些节点不必在内存中相连。每一个节点均含有包含该元素后继节点的链,我们称之为next链,最后一个单元的next链引用null。从这张图可看出链表的结构,它和数组一样是线性表,但与数组不同的是,数组中所有的数据都是有顺序的,因此通过索引查找数据时效率较高。而链表由于是没有固定顺序的,它的插入与删除操作效率较高,但查询则需要通过next链不断查找下去。
2017-05-12 20:49:07
283
原创 struts2中上传与下载文件
一、文件上传和下载9.1 文件上传1)三个条件: 表单有filepost提交enctype="multipart/form-data"2)在Action中接收文件内容File attach; (attach是file表单的name属性)String attachContentType; 文件类型String attachFileName; 文件
2017-01-27 09:23:02
237
原创 struts2中自定义类型转换器
8 自定义类型转换作用: 默认情况下,页面的日期类型只能接收 yyyy-MM-dd类型,如果要转换yyyy/MM/dd这种类型,则需要使用自定义类型转换器进行转换。strut2提供了自定义类型转换器的基类: StrutsTypeConverter类/** * 自定义日期类型转换器 * @author APPle * */public class MyDate
2017-01-26 08:58:39
442
原创 struts2中数据共享给jsp页面的三种方式
sruts2的数据共享的三种方式:在web项目中都是使用域对象来共享数据。struts2提供给开发者使用域对象来共享数据的方法一共有三种。6.1 第一种方式ServletActionContext类getRequest() : 获取request对象getRequest().getSession() : 获取session对象getServletContext(
2017-01-25 09:42:12
682
原创 struts2基础标签属性详解
struts2配置文件:struts各标签中属性的作用 package: 代表一个包。管理action配置。在用一个包下面不能有同名的action name: 包名.在一个项目中不能出现同名的包。 extends: 继承。类似于类的继承。如果一个包继承另一个包,那么就会把父包的功能继承下来。 我们开发的包就必须继承struts-default包。 namespace
2017-01-24 15:33:26
855
原创 jsp中核心标签库c标签详解
uri: 表示需要导入的标签库的uri名称。每个标签库都会有一个tld后缀名的标签声明文件,在tld文件中都有唯一的uri的名称。这个uri的名称就是当前标签库的名称。prefix: 使用标签库的前缀,通用和tld文件的short-name名称相同 --%>1) 给域对象赋值: ------------------------------------------
2017-01-23 09:05:17
960
原创 jsp的基础语法
jsp中有两种方法调用java代码1)EL表达式 2)方式调用java代码 但要尽量少用java代码,最好用EL表达式来代替 ${name}:代表着用了getName()的方法(但数据需先存入域对象中)Jsp的9大内置对象 jsp中java代码中对应的对象 request HttpServletRequestresponse HttpServletRes
2017-01-22 09:31:35
276
原创 javaweb中四大域对象的生命周期与常用方法
一、ServletContext1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。2、作用范围:整个Web应用。3、作用:a)在不同Servlet 之间转发this.getServletContext().getRequestDispa
2017-01-21 10:08:02
2195
原创 java开发中的数据库连接池工具
dbcp连接//有配置文件才可以用try {//1)使用工厂类来创建dbcp连接池对象(读取配置文件方式)Properties prop = new Properties();//使用类路径读取配置文件InputStream in = Demo1.class.getResourceAsStream("/jdbc.properties");//加载配置文件prop.l
2017-01-20 10:06:32
295
转载 java开发中JDBC连接数据库的代码实现与详解(转载)
JDBC连接数据库 ?创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。 例如: try{
2017-01-20 10:01:30
322
原创 mysql数据库深入了解
数据库设计:(三大范式看情况遵守,不一定死守这三个规范)第一范式:要求表的每个字段都必须独立的不可分割的最小单元。第二范式:要求表的除主键外的其他字段都和主键有依赖关系。(一张表表达一个意思)工表:employee员工编号 员工姓名 部门名称 订单名称(这里违反) --违反第二范式,即不能出现与表无关的字段员工表:employee员工编号 员工姓名
2017-01-19 09:36:34
283
原创 mysql数据库的基础操作sql应用
1)管理数据库:增: create database 数据库名 default character set 字符集;修: alter database 数据库名 default character set 新的字符集;删: drop database 数据库名;查: show databases;2)管理表:增: create table 表名(字段名1 字段类型,字段名2
2017-01-18 10:04:59
250
原创 java反射机制运用到BaseDao等通用基类
反射中主要应用的方法:1.获取类的Class对象 推荐使用: 第一种。通过Class.forName获取Class对象. //方式1:通过Class.forName获取Class对象.Class clazz1 = Class.forName("cn.itcast.reflect.Person");// System.out.println("clazz1:"+cla
2017-01-17 09:30:54
927
原创 java正则表达式
预定义字符类 . 任何字符(与行结束符可能匹配也可能不匹配) \d 数字:[0-9] \D 非数字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 单词字符:[a-zA-Z_0-9] a-z A-Z 0-9 _\W 非单词字符:[^\w]注意: 一个
2017-01-17 09:27:48
392
原创 java中数据类型的转换
基本的数据类型由低级到高级分别为:(byte、short、char)——int——long——float——double;数据类型之间的转转换分为以下几种情况:1)低级到高级的自动类型转换; 例如1+1.2得出的结果会是double类型2)高级到低级的强制类型转换(会导致溢出或丢失精度); (int)(1+1.2)强制将double转换为int类型3)基本类型向类类型转换; 类
2017-01-16 10:19:16
285
原创 udp与tcp两种服务器基本应用
Tcp tcp的特点: 1. tcp协议通讯是面向连接的,tcp的客户端一旦建立,马上要与服务端建立连接。 2. tcp协议在连接中传输大数据量,tcp是基于IO流进行数据传输。 3. 通过三次握手机制连接,可靠协议(保证数据传输的完整性) 4. 因为tcp是面向连接的,所以效率稍低. 5. tcp协议是分客户端与服务端。 tcp协议下的So
2017-01-15 09:58:39
341
原创 IP详解
计算机与计算机的通讯三要素: 1. IP地址 2. 端口号 3. 通讯协议 IP地址: IP地址的本质是由32个二进制位数组成的, 为了方便人类记录,所以把一个ip地址分成了4段, 每段8个二进制数据。 2^8 = 0~255192.168.1.10 IP地址 = 网络号 + 主机号IP的类别:A类地址: 一个网络号 + 三个主机
2017-01-15 09:56:25
342
原创 java自定义线程与线程方法详解
自定义线程的创建方式:(推荐使用: 推荐使用第二种。 因为java是单继承的。) 方式一: 1. 自定义一个类继承Thread. 2. 子类重写run方法,把自定义线程的任务定义在run方法上。 3. 创建thread子类的对象,并且调用start方法开启线程。 方式二: 1. 自定义一个类去实现Runnable接口。 2. 实现了Ru
2017-01-14 16:04:48
1494
原创 关于java线程安全问题
线程:负责一个进程中的代码执行。线程是进程中的一个执行路径。线程安全问题出现的根本原因:1. 存在着两个或者两个以上的线程。2. 多个线程共享了着一个资源, 而且操作资源的代码有多句。线程安全问题的解决方案:1. 使用同步代码块格式:synchronized(锁对象){需要被同步的代码;}线程的生命周期状态图(线程总共有图
2017-01-14 16:03:07
1426
原创 java异常处理
按照我们异常处理的知识,如果一个方法通过throws抛出了异常,那么可以在抛出异常的方法中不使用try...catch,但是在调用这个方法的地方必须有try...catch来处理。然而:运行时异常:RunTimeException,此异常可以选择处理或不处理。可直接抛出throw new RuntimeException编译时异常即Exception一定要选择处理,
2017-01-13 15:21:55
317
原创 java装饰者模式
装饰者设计模式: 增强一个类的功能。 装饰者设计模式的步骤: 1. 在增强类的内部维护一个被增强类的引用。 2. 让增强与被增强类有一个共同父类或者是父接口. 装设者设计模式的: 好处:利用了多态达到 了类与类之间可以互相的装饰,比较灵活。 缺点: 代码结构不清晰,难以理解。 //带行号的缓冲类 增强类,这里的readLine()只是查看一
2017-01-13 15:18:48
241
原创 java文件IO流体系
字符流的体系;----------| Reader 抽象类 , 所有输入字符流的基类。---------------| FileReader 读取文件字符数据的输入字符流.---------------| BufferedReader 该类出现的目的:提高读取文件字符数据的效率,对FileReader的功能进行了拓展---readLine()。 缓冲输入字符流 --
2017-01-12 13:59:39
283
原创 java集合的一些心得
List ->> ArrayList LinkList Vector: 其中ArrayList查询快,增删慢;LinkList(底层基于链表)增删快,查询慢;Vector存在线程安全问题。Set集合元素不可重复List接口中的方法都需要操作索引值,就算参数中无索引值也会在方法中用到索引值。public boolean equals(Object obj) {
2017-01-04 08:58:38
591
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人