自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 444 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 1708 1

原创 lecture1 Introduction-笔记

由于疫情原因,偶然间学习了南大的软件分析(Static Analysis)课程,因此从该篇起将每一节课的内容做一些记录和个人补充。

2020-08-04 16:59:14 357

原创 spark基本概念与架构设计

spark基本概念:•RDD:是ResillientDistributed Dataset(弹性分布式数据集)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型•DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系•Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task•Applica

2017-10-11 21:33:56 427

原创 MapReduce详解

MapReduce模型简介:  •MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce  •编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算  •MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可

2017-06-13 18:20:23 16206 4

原创 Hive的数据类型与基础操作

表 Hive的基本数据类型:类型描述示例TINYINT1个字节(8位)有符号整数1SMALLINT2个字节(16位)有符号整数1INT4个字节(32位)有符号整数1BIGINT8个字节

2017-06-13 11:35:18 676

原创 Hive的工作原理

一、SQL语句转换成MapReduce作业的基本原理join的实现原理:sql获取的数据先通过map函数处理,转换成key-value形式,接着shuffle为归并的过程,将key相同的归并到一起,最后通过Reduce函数处理。(关于MapReduce与shuffle的详解请看MapReduce篇)二、Hive中SQL查询转换成MapReduce作业的过程

2017-06-13 09:50:50 914

原创 数据仓库hive(简介与应用)

数据仓库概念:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。hive简介:  •Hive是一个构建于Hadoop顶层的数据仓库工具  •支持大规模数据存储、分析,

2017-06-13 09:27:43 1678

原创 HBase的三大组件

•HBase的实现包括三个主要的功能组件:–(1)库函数:链接到每个客户端–(2)一个Master主服务器–(3)许多个Region服务器•主服务器Master负责管理和维护HBase表的分区信息,维护Region服务器列表,分配Region,负载均衡•Region服务器负责存储和维护分配给自己的Region,处理来自客户端的读写请求•客户端并不是直

2017-05-30 13:25:30 13152 1

原创 Hbase列族数据库(基本存储结构)

HBase:HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳•表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族•行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。•列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元...

2017-05-30 12:55:54 5204 1

原创 HDFS(名称节点与数据节点)简介

HDFS:分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群这些节点分为主从节点,主节点可叫作名称节点(NameNode),从节点可叫作数据节点(DataNode)HDFS通过块的模式存储数据,默认情况下一个块是64M,把大文件拆分成多个块,可以最小化寻址开销这样的好处是:1.支持大规模文件存储 : 文件以块为单位进行存储,一个大规模文件可以

2017-05-29 10:29:05 43628

原创 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 626

原创 数据结构-表(java)

一、链表链表由一系列节点组成,这些节点不必在内存中相连。每一个节点均含有包含该元素后继节点的链,我们称之为next链,最后一个单元的next链引用null。从这张图可看出链表的结构,它和数组一样是线性表,但与数组不同的是,数组中所有的数据都是有顺序的,因此通过索引查找数据时效率较高。而链表由于是没有固定顺序的,它的插入与删除操作效率较高,但查询则需要通过next链不断查找下去。

2017-05-12 20:49:07 243

原创 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 206

原创 struts2中自定义类型转换器

8 自定义类型转换作用: 默认情况下,页面的日期类型只能接收 yyyy-MM-dd类型,如果要转换yyyy/MM/dd这种类型,则需要使用自定义类型转换器进行转换。strut2提供了自定义类型转换器的基类: StrutsTypeConverter类/** * 自定义日期类型转换器 * @author APPle * */public class MyDate

2017-01-26 08:58:39 405

原创 struts2中数据共享给jsp页面的三种方式

sruts2的数据共享的三种方式:在web项目中都是使用域对象来共享数据。struts2提供给开发者使用域对象来共享数据的方法一共有三种。6.1 第一种方式ServletActionContext类getRequest() : 获取request对象getRequest().getSession() : 获取session对象getServletContext(

2017-01-25 09:42:12 640

原创 struts2基础标签属性详解

struts2配置文件:struts各标签中属性的作用   package: 代表一个包。管理action配置。在用一个包下面不能有同名的action name: 包名.在一个项目中不能出现同名的包。 extends:  继承。类似于类的继承。如果一个包继承另一个包,那么就会把父包的功能继承下来。  我们开发的包就必须继承struts-default包。 namespace

2017-01-24 15:33:26 811

原创 jsp中核心标签库c标签详解

uri: 表示需要导入的标签库的uri名称。每个标签库都会有一个tld后缀名的标签声明文件,在tld文件中都有唯一的uri的名称。这个uri的名称就是当前标签库的名称。prefix: 使用标签库的前缀,通用和tld文件的short-name名称相同 --%>1)  给域对象赋值: ------------------------------------------

2017-01-23 09:05:17 897

原创 jsp的基础语法

jsp中有两种方法调用java代码1)EL表达式 2)方式调用java代码 但要尽量少用java代码,最好用EL表达式来代替 ${name}:代表着用了getName()的方法(但数据需先存入域对象中)Jsp的9大内置对象 jsp中java代码中对应的对象 request     HttpServletRequestresponse   HttpServletRes

2017-01-22 09:31:35 242

原创 javaweb中四大域对象的生命周期与常用方法

一、ServletContext1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。2、作用范围:整个Web应用。3、作用:a)在不同Servlet 之间转发this.getServletContext().getRequestDispa

2017-01-21 10:08:02 2054

原创 java开发中的数据库连接池工具

dbcp连接//有配置文件才可以用try {//1)使用工厂类来创建dbcp连接池对象(读取配置文件方式)Properties prop = new Properties();//使用类路径读取配置文件InputStream in = Demo1.class.getResourceAsStream("/jdbc.properties");//加载配置文件prop.l

2017-01-20 10:06:32 259

转载 java开发中JDBC连接数据库的代码实现与详解(转载)

JDBC连接数据库   ?创建一个以JDBC连接数据库的程序,包含7个步骤:    1、加载JDBC驱动程序:       在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),       这通过java.lang.Class类的静态方法forName(String  className)实现。       例如:       try{

2017-01-20 10:01:30 297

原创 mysql数据库深入了解

数据库设计:(三大范式看情况遵守,不一定死守这三个规范)第一范式:要求表的每个字段都必须独立的不可分割的最小单元。第二范式:要求表的除主键外的其他字段都和主键有依赖关系。(一张表表达一个意思)工表:employee员工编号  员工姓名  部门名称   订单名称(这里违反)      --违反第二范式,即不能出现与表无关的字段员工表:employee员工编号  员工姓名

2017-01-19 09:36:34 256

原创 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 225

原创 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 884

原创 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 354

原创 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 245

原创 udp与tcp两种服务器基本应用

Tcp  tcp的特点:  1. tcp协议通讯是面向连接的,tcp的客户端一旦建立,马上要与服务端建立连接。   2. tcp协议在连接中传输大数据量,tcp是基于IO流进行数据传输。  3. 通过三次握手机制连接,可靠协议(保证数据传输的完整性)  4. 因为tcp是面向连接的,所以效率稍低.   5. tcp协议是分客户端与服务端。     tcp协议下的So

2017-01-15 09:58:39 301

原创 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 313

原创 java自定义线程与线程方法详解

自定义线程的创建方式:(推荐使用: 推荐使用第二种。  因为java是单继承的。)    方式一:   1. 自定义一个类继承Thread.  2. 子类重写run方法,把自定义线程的任务定义在run方法上。  3. 创建thread子类的对象,并且调用start方法开启线程。    方式二:  1. 自定义一个类去实现Runnable接口。  2. 实现了Ru

2017-01-14 16:04:48 1434

原创 关于java线程安全问题

线程:负责一个进程中的代码执行。线程是进程中的一个执行路径。线程安全问题出现的根本原因:1. 存在着两个或者两个以上的线程。2. 多个线程共享了着一个资源, 而且操作资源的代码有多句。线程安全问题的解决方案:1. 使用同步代码块格式:synchronized(锁对象){需要被同步的代码;}线程的生命周期状态图(线程总共有图

2017-01-14 16:03:07 1391

原创 java异常处理

按照我们异常处理的知识,如果一个方法通过throws抛出了异常,那么可以在抛出异常的方法中不使用try...catch,但是在调用这个方法的地方必须有try...catch来处理。然而:运行时异常:RunTimeException,此异常可以选择处理或不处理。可直接抛出throw new RuntimeException编译时异常即Exception一定要选择处理,

2017-01-13 15:21:55 267

原创 java装饰者模式

装饰者设计模式: 增强一个类的功能。  装饰者设计模式的步骤:  1. 在增强类的内部维护一个被增强类的引用。   2. 让增强与被增强类有一个共同父类或者是父接口.  装设者设计模式的:  好处:利用了多态达到 了类与类之间可以互相的装饰,比较灵活。  缺点: 代码结构不清晰,难以理解。 //带行号的缓冲类   增强类,这里的readLine()只是查看一

2017-01-13 15:18:48 207

原创 java文件IO流体系

字符流的体系;----------| Reader  抽象类 , 所有输入字符流的基类。---------------| FileReader 读取文件字符数据的输入字符流.---------------| BufferedReader  该类出现的目的:提高读取文件字符数据的效率,对FileReader的功能进行了拓展---readLine()。    缓冲输入字符流  --

2017-01-12 13:59:39 244

原创 java集合的一些心得

List  ->> ArrayList LinkList Vector: 其中ArrayList查询快,增删慢;LinkList(底层基于链表)增删快,查询慢;Vector存在线程安全问题。Set集合元素不可重复List接口中的方法都需要操作索引值,就算参数中无索引值也会在方法中用到索引值。public boolean equals(Object obj) {

2017-01-04 08:58:38 546

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除