文档库 最新最全的文档下载
当前位置:文档库 › CoreJava学习笔记

CoreJava学习笔记

CoreJava学习笔记
CoreJava学习笔记

1.前言..................................................................................................................... 1-4

1.1.JA V A特点................................................................................................ 1-4

1.2.运行原理.................................................................................................. 1-4

1.3.JA V A目录................................................................................................ 1-4

2.一·基础知识........................................................................................................ 2-4

2.1.配置环境.................................................................................................. 2-4

2.2.Java中基本概念...................................................................................... 2-5

3.二·定义,关键字和类型................................................................................. 3-5

3.1.注释的三种形式...................................................................................... 3-5

3.2.Java代码中的“;”、“{}”、“” ............................................................ 3-5

3.3.标识符...................................................................................................... 3-5

3.4.数据类型.................................................................................................. 3-6

3.5.命名规则.................................................................................................. 3-6

4.三·表达式和控制流......................................................................................... 4-6

4.1.变量和作用域.......................................................................................... 4-6

4.2.操作符...................................................................................................... 4-7

4.3.数字类型之间的转换.............................................................................. 4-7

4.4.强制类型转换.......................................................................................... 4-8

4.5.转换的二种类型...................................................................................... 4-8

4.6.控制流...................................................................................................... 4-8

4.7.循环语句.................................................................................................. 4-8

5.四·数组............................................................................................................. 5-9

5.1.声明数组.................................................................................................. 5-9

5.2.创建数组.................................................................................................. 5-9

5.3.初始化数组............................................................................................ 5-10

5.4.多维数组................................................................................................ 5-10

5.5.数组拷贝................................................................................................ 5-10

6.五·对象和类.................................................................................................... 6-11

6.1.面向对象与面向过程............................................................................. 6-11

6.2.对象的概念............................................................................................ 6-12

6.3.成员变量和局部变量............................................................................ 6-12

6.4.成员方法................................................................................................ 6-12

6.5.This关键字............................................................................................ 6-13

6.6.访问控制符............................................................................................ 6-13

6.7.构造方法................................................................................................ 6-13

6.8.数据和方法的隐藏―――封装............................................................ 6-14

6.9.方法的重载............................................................................................ 6-15

7.六·高级语言特性.............................................................................................. 7-15

7.1.封装(encapsulation) ............................................................................. 7-15

7.2.继承(inherit) ......................................................................................... 7-16

7.2.1.JA V A继承特点 ........................................................................... 7-16

7.2.2.父类(SuperClass)和子类(SubClass)的关系................... 7-17

7.2.3.系统构造一个对象的顺序.......................................................... 7-17

7.3.多态(polymorphism) .............................................................................. 7-18

7.3.1.方法的覆盖(overridding)....................................................... 7-18

7.3.2.多态的分类.................................................................................. 7-18

7.3.3.运行时多态的三原则.................................................................. 7-19

7.3.4.关系运算符:instanceof ............................................................. 7-20

7.4.静态变量,方法和类............................................................................ 7-20

7.5.Singleton模式........................................................................................ 7-22

7.6.final关键字............................................................................................ 7-22

7.6.1.final变量不能被改变; ................................................................ 7-22

7.6.2.final方法不能被改写; ................................................................ 7-23

7.6.3.final类不能被继承; .................................................................... 7-23

7.6.4.String 类...................................................................................... 7-23

7.7.抽象类.................................................................................................... 7-24

7.8.接口(模板方法模式) ........................................................................... 7-25

7.9.Object 类 ............................................................................................... 7-27

7.10.封装类................................................................................................. 7-28

7.11.内部类................................................................................................. 7-29

7.11.1.内部类的分类 ............................................................................. 7-29

7.11.2.成员内部类 ................................................................................. 7-29

7.11.3.局部内部类 ................................................................................. 7-30

7.11.4.静态内部类 ................................................................................. 7-30

7.11.5.匿名内部类 ................................................................................. 7-31

7.12.集合..................................................................................................... 7-31

7.12.1.集合接口类层次......................................................................... 7-32

7.12.2.集合类层次................................................................................. 7-33

7.12.3.五个最常用的集合类之间的区别和联系................................. 7-33

7.12.4.比较............................................................................................. 7-35

7.13.反射..................................................................................................... 7-37

8.七·异常........................................................................................................... 8-37

8.1.异常的基本概念.................................................................................... 8-37

8.2.捕获异常................................................................................................ 8-38

8.3.处理异常................................................................................................ 8-38

8.4.捕捉多个异常........................................................................................ 8-38

8.5.finally 声明............................................................................................ 8-38

8.6.异常调用栈............................................................................................ 8-39

8.7.异常层次................................................................................................ 8-39

8.8.一些未检查的异常................................................................................ 8-39

8.9.写你自己的异常.................................................................................... 8-39

8.10.抛出你自己的异常............................................................................. 8-40

9.八·图形用户接口........................................................................................... 9-40

10.九·AWT(Abstract Window Toolkit)事件模型 .............................. 10-41

11.十·The AWT Component Library .......................................................... 11-41

12.十一·JFC(Java Foundation Classes)................................................ 12-41

13.十二·Applets ......................................................................................... 13-41

14.十三·线程Thread ................................................................................. 14-41

14.1.线程原理........................................................................................... 14-41

14.2.线程实现的两种形式....................................................................... 14-42

14.3.线程的生命周期............................................................................... 14-43

14.4.Thread的方法 .................................................................................. 14-43

14.5.共享数据的并发处理....................................................................... 14-44

14.6.使用互斥锁的注意事项................................................................... 14-44

15.十四·标准I/O流与文件 ...................................................................... 15-46

15.1.对文件的操作................................................................................... 15-46

15.2.处理跨平台性................................................................................... 15-46

15.3.对象的序列化接口........................................................................... 15-47

15.4.I/O流基础 ........................................................................................ 15-47

15.5.流的分类........................................................................................... 15-47

15.6.I/O输入输出 .................................................................................... 15-48

16.十五·网络编程...................................................................................... 16-52

16.1.网络基础知识................................................................................... 16-52

16.2.TCP Socket ....................................................................................... 16-54

16.2.1.建立TCP服务器端.................................................................. 16-54

16.2.2.建立TCP客户端...................................................................... 16-55

16.3.建立URL连接................................................................................. 16-55

16.4.UDP socket ....................................................................................... 16-58

16.4.1.建立UDP 发送端 .................................................................... 16-58

16.4.2.建立UDP 接受端 .................................................................... 16-59

17.java5.0的新特性..................................................................................... 17-60

17.1.泛型................................................................................................... 17-60

17.1.1.说明........................................................................................... 17-60

17.1.2.用法........................................................................................... 17-61

17.1.3.泛型的通配符"?" ...................................................................... 17-62

17.1.4.泛型方法的定义....................................................................... 17-63

17.1.5.泛型类的定义........................................................................... 17-64

17.1.6.泛型与异常............................................................................... 17-64

17.1.7.泛型的一些局限型................................................................... 17-66

17.2.增强的for循环................................................................................ 17-66

17.3.自动装箱和自动拆箱....................................................................... 17-70

17.3.1.在基本数据类型和封装类之间的自动转换........................... 17-70

17.4.类型安全的枚举............................................................................... 17-70

17.5.静态引入........................................................................................... 17-72

17.6.C风格的格式化输出....................................................................... 17-72

17.7.Building Strings(StringBuilder类) ................................................... 17-73

17.8.可变长的参数................................................................................... 17-73

17.9.JA V A5.0 的注释(Annotation) ........................................................ 17-74

17.10.Callable 和Future接口.................................................................. 17-75 JA V A数据库连接:JDBC

1.前言

1.1. JAVA特点

1) 简单(Java语法是C++语法的一个“纯净”版本);

2) 可移植性(一次编译到处运行)

3) 面向对象

4) 分布式(Java把打开套接字连接等繁琐的网络任务变得非常容易)

5) 健壮性(Java编译器会检查出很多其他语言在运行时刻才显示出来的错误;Java采用的指针模型可以消除重写内存和数据崩溃的可能)

6) 多线程(多线程编程的简单性是Java成为流行的服务器端开发语言的主要原因之一)

7)安全(用Java可以构建防病毒和防篡改的系统)

9) 动态(Java可随意增加新的方法以及实例变量,而客户端却不需做任何的更改)

10)体系结构中立(字节码与计算机体系结构无关,只要存在运行时系统,可在多种处理器上执行)

1.2. 运行原理

先编译*.java文件――――>*.class文件

运行*.class ――加载――> JVM(JA V A虚拟机)

1.3. JAVA目录

JRE―――――――运行环境

SRC――――――-类库

BIN―――――――应用程序

2.一·基础知识

2.1. 配置环境

LINUX系统(修改环境配置文件)

1 打开shell

2 vi .bash_profile

3 JA V A_HOME=JA V A目录路径

4 PATH=$JA V A_HOME/bin:其他路径

5 CLASSPATH=.

6 export JA V A_HOME CLASSPATH

Windows系统

我的电脑属性―――>环境变量

设置环境变量:

JA V A_HOME=路径

PATH = %PATH%;c:\j2sdk1.4.2_05\bin;

CLASSPATH = .;

2.2. Java中基本概念

1) 源文件

在最顶层只包括一个public类型的类/接口,文件名与类/接口名同并以.java作为文件后缀。

2) 包(package ,在源文件中this identify只能放在第一行,且最多只能是一行)

一个将类和接口组织在一块的实体,在文件系统中以目录/文件夹型式呈现。

3.二·定义,关键字和类型

3.1. 注释的三种形式

// 单行注释

/* 一或多行注释*/

/** 文档注释*/

3.2. Java代码中的“;”、“{}”、“”

Java语句以分号分隔;

Java代码块包含在大括号内;

忽略空格。

3.3. 标识符

1) 用以命名类、方法和变量、以及包;

遵守JA V A的命名规范

类以每个单词都以大写字母开头。

方法和变量第一个字母不大写,其他依旧

2) 以字符、“_”或“$”开头;

3) 无长度限制。

3.4. 数据类型

1) 整型

byte 1B 8位-128到127

short 2B 16位-2^15到2^15-1

int 4B 32位-2^31到2^31-1

long 8B 64位-2^63到2^63-1

2) 浮点类型

float 4B 32位

double 8B 64位

3) 字符类型

char 2B 16位

4) 布尔型

boolean false/true

注:1) char是无符号的16位整数,字面值必须用单引号括起来;‘a’

2) String 是类,非原始数据类型;

3) 长整型数字有一个后缀为“L”或“l”,八进制前缀为“0”,十六进制前缀为“0x”;

4) 黙认浮点类型为double;

5) float数据类型有一个后缀为“f”或“F”,Double数据类型后可跟后缀“D”或“d“

3.5. 命名规则

1) 类/接口名首字母大写;

2) 方法、变量名第一个字母小写,其余首字母大写;

3) 常量名称全部大写;

4) 包名全部小写。

4.三·表达式和控制流

4.1. 变量和作用域

1) 局部变量

定义在方法内部,其作用域为所在代码块,也称为临时变量、栈变量。

存在于栈中。

2) 实例变量

定义在类内部方法之外,其作用域为整个类。如未定义初值,系统会自动

为其赋黙认值。存在于堆中

默认数值

类型黙认值

byte 0

short 0

int 0

long 0L

float 0.0f

double 0.0d

char '\u0000' 空格

boolean false

*All reference types null

4.2. 操作符

System.out.println(3/2) 按整型计算得1

1) >> 前面是零补零,前面是一补一;

2) >>> 无符号右移;

>>和>>>对于负数不一样

正数:>>等于除以X的2次方

负数:正数的结果+1

3) && 短路与,前面为假,表达式为假,后面不须计算;

4) || 短路或,前面为真,表达式为真,后面不计算;

例:

if(a<3&(b=a)==0) b赋值

if(a<3&&(b=a)==0) b不赋值

4.3. 数字类型之间的转换

1) byte ——→short ——→int ——→long

2) char ——→int - - - →float

3) float ——→double

4) long - - - →float

5) long - - - →double

6) int ——→double

注:1)实箭头表示无信息损失的转换,虚箭头表示转换可能引起损失;

2)int和float同为32位,但float要有几位表示幂的位数,在精度位数上要比int要小,所以有可能会有损失。long转为double同理;

3)char和short同为16位,但char属无符号数,其范围为0~2^16, short

的范围为-2^15~2^15-1 , 所以char和short不能相互转换;

4)byte、short、char属child型,在计算时会自动转为int型,然后转为更大范围类型(long、short、double)。

4.4. 强制类型转换

1) 语法:圆括号中给出要转换的目标类型,随后是待转换的变量名。例:doublc x=9.997;int nx = (int)x;

2) 如果试图强制转换的类型超出了目标类型的范围,结果是一个被截取的不同的数值;

3) 不能在布尔值和任何数字类型间强制类型转换,如确要转换,可使用条件表达式,例:b?1:0。

4.5. 转换的二种类型

1) 赋值

double a = 1.0f

int = …j?;

2) 方法调用

double converValue(int value){

return value;

}

3) 数值计算转换-9.232e20+1;

4.6. 控制流

if()

if()….else

if()…..else if()….else

switch(){

case variable:……..

case variable:……..

default:

…………

}

注解:switch()内数据类型为child类型byte short char 自动转换为int

case块中不加break时顺序执行下面的语句。

4.7. 循环语句

for(int i=0;i

while(){}

do{} while();-----------→加分号

例子:

loop:for(int i=0;i

for(int j=0;j

if(3==j){

break loop;//---------------→loop为标签只能用在循环语句中,循环//嵌套中用于跳到外层循环

}

}

}

辨析:

int x,a=6,b=7;

x=a++ + b++; //----------a=7,b=8,x=13

int x=6;x=~x;//---------------- 6的二进制0110 取反得11001 再转成补码(取反加一)10111 =-7

5.四·数组

5.1. 声明数组

1) 一组相同类型(可以是类)数据的集合;

2) 一个数组是一个对象;

3) 声明一个数组没有创建一个对象;

4) 数组能以下列形式声明:

int[] i 或int i[]

Car[] c 或Car c[]

*C++中只能Car c[]

*JA V A中推荐用Car[] c;

5.2. 创建数组

1) 创建基本数据类型数组int[] i = new int[2];

2) 创建引用数据类型数组Car[] c = new Car[100];

3) 数组创建后有初始值。

数字类型为0,布尔类型为false,引用类型为null

5.3. 初始化数组

1) 初始化、创建、和声明分开

int[] i;

i = new int[2];

i[0] = 0;

i[1] = 1;

2) 初始化、创建、和声明在同一时间

int[] i = {0,1};

Car[] c = {new Car(),new Car()};

5.4. 多维数组

1) 有效

int[][] i1 = new int[2][3];

int[][] i2 = new int[2][];

i2[0] = new int[2],i2[1] = new int[3];

*C++中int[][] =new int[][3];有效

2) 无效

int[][] i1 = new int[][3];

3) 数组长度------------ 数组的属性length

int[] i = new int[5];

int len = i.length;//len = 5;

Student[][] st = new Student[4][6];

len = st.length;//len = 4;

len = st[0].length;//len = 6;

请问以下哪段代码哪个可正确执行?(a,c)

1. a char[] i = {'a','b'}; i = new char[]{'b','c'};

b char[] i = {'a','b'}; i = {'b','c'};

c char[] i = new char[2]; i = new char[]{'b','c'};

d char[] i = new char[2]; i = {'b','c'};

5.5. 数组拷贝

System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length); 拷贝一个数组到另一个数组。

6.五·对象和类

6.1. 面向对象与面向过程

面向对象:

Everything is an Object

为什么面向对象?

符合我们看待客观世界的思维方式

各司其职各尽所能

可重用性

可移植性

可插入性

可扩展性

弱耦合性

面向过程:先有算法,后有数据结构

面向对象:先有数据结构,后有算法

定义类

定义属性:实例变量

定义方法:声明实现

Overload:方法名相同,参数表不同

编译器根据参数,选择一个方法,允许自动类型提升,就近匹配原则定义构造方法:1.分配空间 2.初始化属性 3.调用某一个构造方法ClassName cn=new ClassName();

对象变量:引用、句柄存储的是对象的地址(栈空间)

参数传递:简单类型参数:值传递对象类型参数:地址传递

this:当前对象

调用本类其他的构造方法,必须放在构造方法的第一行

封装:该隐藏的隐藏,该公开的公开

属性:隐藏private

方法:该公开的公开public

方法声明:可以公开

方法实现:不可以公开实现细节的改变对架构的影响最小化

6.2. 对象的概念

什么是对象:EVERYTHING IS OBJECT(万物皆对象)

所有的事物都有两个方面:

1.有什么(属性):用来描述对象。

2.能够做什么(方法):告诉外界对象有那些功能。后者以前者为基础。

*一个对象的属性也可以是一个的对象。这是一种对象的关联(associate)public class Student{

private String name;---------对象

private int age;---------------基本类型

private gender;

public void study(){}---------方法

}

6.3. 成员变量和局部变量

1.实例变量:定义在类中但在任何方法之外。(New出来的均有初值)

实例变量中对象默认值为null。

实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。

2.局部变量:定义在方法之中的变量。

局部变量要先赋值,再进行运算,而实例变量均已经赋初值。这是局部变量和实例变量的一大区别。

局部变量不允许范围内定义两个同名变量。实例变量和局部变量允许命名冲突,但在局部变量的作用域内局部变量优先,访问实例变量是使用this.variableName。

对于引用型类型变量

Car cart = new Car();

变量cart存在在栈中,而cart对象实际存在在堆中。

如果没有引用

New Cart();

垃圾回收会很快回收这个匿名对象。

简单的垃圾收集器原理

每个对象都包含了一个引用计数器,Garbage Collection 运行时检查对象的这个计数器,垃圾收集器会在整个对象列表中移动巡视,一旦它发现其中一个引用计数成为0,就释放它占据的存储空间。

6.4. 成员方法

方法定义

1) 格式([argument_list>])[throws

]{}

例如:public String getName(){ return name; }

2) 当没有返回值时,返回类型必须被定义为void。

3) 构造方法没有返回类型。

4) 返回类型必须与方法相邻,其他修饰符号可以调换位置。

参数传递

Java语言总是使用传值调用。这意味着方法得到的只是所有参数值的拷贝。因此,方法不能修改传递给它的任何参数变量的内容。对于对象类型的参数传递的也是该对象的引用值,方法中并不能改变对象变量,但能通过该变量调用对象的方法或修改对象的成员。

***方法与函数的区别,方法的内容是和对象的属性紧密相连的,函数只为了解决一个功能。

6.5. This关键字

1) this是个隐式参数,代表被构造的对象;

publie class Person{

private String name;

public void setName(String name){

https://www.wendangku.net/doc/37743565.html,=name;------------- https://www.wendangku.net/doc/37743565.html,为成员变量

}

}

2) 如果构造器的第一个语句具有形式this(...),那么这个构造器将调用同一类中的其他构造器。

3)在构造器中this()必须放在方法的第一行。

*Super关键字也是个隐形参数,代表被构造对象的父类。

同样也必须在构造方法的第一行

6.6. 访问控制符

权限高

public 全部可见

protected 本类可见,同包可见,子类可见

default 本类可见,同包可见

private 本类可见

权限低

6.7. 构造方法

构造方法是在生成对象的过程中调用的方法,但构造方法并不能创建对象。

其特点为:

1.构造方法没有返回值。

2.构造方法的方法名与类名相同。

格式为:public ClassName(){}

构造方法也可以是其他的限制符――private protected default private 一般用在singleton模式中。

在一个对象的生成周期中构造方法只用一次,一旦这个对象生成,那么这个构造方法失效。

*接口不能创建实例,因为没有构造方法

可以构造多个构造方法,但多个构造方法的参数表一定不同,参数顺序不同即属于不同的构造方法:-----------------------→构造方法的重载

public student(string name,int a){

}

public student(int a,string name){

}

为两个不同的构造方法。

如果我们未给系统提供一个构造方法,那么系统会自动提供一个为空的构造方法。

如果我们提供了有参的构造方法,那么系统不会再提供无参的构造方法了。这样当被子类继承时,如果子类构造方法不人为调用父类的有参构造方法就会出现异常。

6.8. 数据和方法的隐藏―――封装

public class Person{

private String name;----------------------→数据的隐藏

private int age;

public String getName(){-------------------→方法尽量公开

return name;

}

public int getAge(){

return age;

}

}

有些方法也需要隐藏起来,比如:

Class Singleton{

Private Singleton(){

……

}

Public static Singleton getInstance(){

…..

…..

If(…..){

Singleton=new Singleton();

}

//对生产对象的条件进行限制

Return singleton;

}

}

6.9. 方法的重载

Overloading在一个类中可以定义多个同名方法,各个方法的参数表一定不同。但修饰词可能相同,返回值也可能相同。

在程序的编译过程中根据变量类型来找相应的方法。Overloading被认为是编译时的多态。Overloading 只是为方便程序员编程的解决方法,编译之后的方法名实际加上了各参数类型成为唯一的名字。

普通方法

public void aa(int a,double b) throws IOException{}

private int aa(double a,int b){}

protected double aa(String a,String b){}

构造方法也可以实现overloading。

例:

public void teach(){};

public void teach(int a){};

public void teach(String a){}为三种不同的方法。

Overloading方法对于不匹配的参数是从低向高转换的。Byte—short—float—int—long—double。

System.out.println(“%5.2f,%10.3f”, num,num2); 按格式输入

7.六·高级语言特性

7.1. 封装(encapsulation)

1.事物的内部实现细节隐藏起来

2.对外提供一致的公共的接口――间接访问隐藏数据

3.可维护性

7.2. 继承(inherit)

7.2.1.JAV A继承特点

继承:父类的成员能否继承到子类?

子类能否访问到父类的成员

private:本类内部可以访问不能继承到子类

(default):本类内部可以访问,同包其他类也可以访问;

能否继承到子类?不一定

protected:本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问能继承到子类

public:任何地方都可以访问能继承到子类

从严到宽

覆盖:

方法名:相同

参数表:相同

访问限制符:相同或者更宽

返回值类型:相同或者子类返回的类型是父类返回的类型的子类

对象的构造过程:

1.递归的构造父类对象

2.分配空间

3.初始化属性

4.调用本类的某一个构造方法

super:调用父类的某一个构造方法

父类对象

多态:

1. 对象不变

2. 只能对对象调用编译时类型中定义的方法

3. 运行时,根据对象的运行时类型,找覆盖过的方法来调用(运行时动态类型判定)

强制类型转换instanceof

屏蔽子类差异,利用父类共性做出通用编程

属性的遮盖(shadow)没有多态

方法的重载看参数的编译时类型

7.2.2.父类(SuperClass)和子类(SubClass)的关系

父类的非私有化属性(不同包的子类无法访问default修饰符)和方法可以默认继承到子类。

Class Son extends Father{

}

而如果父类中的私有方法被子类调用的话,则编译报错。

父类的构造方法子类不可以继承,更不存在覆盖的问题。

所以子类构造方法默认调用父类的无参构造方法。(所以养成写无参构造的习惯)如果子类访问父类的有参构造方法,必须在子类构造方法第一行使用super(参数) 当构造一个对象的时候,系统先构造父类对象,再构造子类对象。

Public class BMWcar extends Car{

Public BMWcar(){

Super(int alength); //显式的调用父类的构造,默认调用无参构造

//所以父类没有无参构造的话,子类如果不加显示调用其他构造就会报错。这里的super是一个对父类的引用

}

}

7.2.3.系统构造一个对象的顺序

1先为最里层类成员属性赋初值;

2再构造该类对象;

3返回外层,重复1(上一层类)、2步骤直到完成最外层类的构造。

super() this() 不会同时出现

A(){

super();

A(int a){

this();

}

7.3. 多态(polymorphism)

多态:一个对象变量可以指向多种实际类型的现象。

7.3.1.方法的覆盖(overridding)

当子类从父类继承一个无参方法,而又定义了一个同样的无参方法,则子类新写的方法覆盖父类的方法,称为覆盖。(注意返回值类型也必须相同,否则编译出错。)

如果方法参数表不同,则成重载。

特点:

1.对于方法的访问限制修饰词,子类方法要比父类的访问权限更高。

父类为public,那么子类为private则出现错误。

2.子类抛出的异常应该是父类抛出的异常或其子类。

7.3.2.多态的分类

多态分两种:

1编译时多态:编译时动态重载;

2运行时多态:指一个对象可以具有多个类型,方法的覆盖

这样对于对象而言分为:

理解运行时多态:

Car c = new Bus();

Car编译时类型编译时检查变量类型是否存在,是否有调用的方法

Bus运行时类型实际运行是访问heep中的对象,调用实际的方法。

运行时多态是由运行时类型决定的

编译时多态是由编译时类型决定的

猫,小鸟,狗都是动物,都可以安上动物的标签。

Interface Animal{}

Class Car implements Animal{}

Class Bird implements Animal{}

Class Dog implements Animal{}

方法中

Animal a = new Car();

Animal b = new Bird();

Animal c = new Dog();

*方法重载看的是参数的编译时类型

public class Animal{

public static void main(String[] args){

}

}

(1) 是覆盖吗?不能多态了

abstract class MyClass{

priavate void m();

}

class Sub extends MyClass(){

public void m();

}

(2) 错误的修饰符组合

abstract class MyClass{

priavate abstract void m();

}

class Sub extends MyClass(){

public void m();

}

(3) 5.0 新非覆盖

abstract class MyClass{

private final void m();

}

class Sub extends MyClass(){

public void m();

}

7.3.3.运行时多态的三原则

1.对象不变;(改变的是主观认识)

2.对于对象的调用只能限于编译时类型的方法,如调用运行时类型方法报错。在上面的例子中:Animal a=new Dog();对象a的编译时类型为Animal,运行时类型为dog。

注意:编译时类型一定要为运行时类型的父类或者同类型。

对于语句:Dog d=(Dog)a。将d强制声明为a类型,此时d为Dog(),此时d就可以调用运行时类型。注意:a和d指向同一对象。

3.动态类型判定实际调用的方法。即它调用覆盖后的方法。

7.3.4.关系运算符:instanceof

instanceof Animal;(这个式子的结果是一个布尔表达式)

上面语句是判定a是否可以贴Animal标签。如果可以贴则返回true,否则返回false。

在上面的题目中: a instanceof Animal返回 True,

a instanceof Dog也返回 True,

用于判定前面的对象是否是后边的类或者子类。

Animal a = new Car();

If(a instanceof Dog){

Dog b =(Dog)a;

}

else if(a instanceof Car){

Car c =(Car)a

}

不会错。

7.4. 静态变量,方法和类

静态变量

Static int data语句说明data为类变量,为一个类的共享变量,属于整个类。

例:

Class M{

static int data;

}

M m1=new M(); M m2=new M();

m1.data=0;

m1.data++的结果为1,此时m2.data的结果也为1。

Static定义的是一块为整个类共有的一块存储区域。

其变量可以通过类名去访问:类名.变量名。与通过对象引用访问变量是等价的。

2) 静态方法

Public static void printData(){}

表明此类方法为类方法(静态方法)

静态方法不需要有对象,可以使用类名调用。

静态方法中不允许访问类的非静态成员,包括成员的变量和方法,因为此时是通过类调用的,没有对象的概念。方法中this.data和super.data是不可用的。

原因:从根本来说,是静态变量不管类是否实例化都会存在,而实例变量只有类实例化了才存在。直接调用静态方法时并不确定实例变量是否存在。

行测总结笔记-学霸笔记-必过知识讲解

行测总结笔记-学霸笔 记-必过

现在开始 资料分析 之所以把资料分析放在第一,是因为本人以前最怕资料分析不难但由于位于最后,时间紧加上数字繁琐,得分率一直很低。而各大论坛上的普遍说法是资料分析分值较高,不可小觑。有一次去面试,有个行测考90分的牛人说他拿到试卷先做资料分析,我也试过,发觉效果并不好,细想来经验因人而议,私以为资料分析还是应该放在最后,只是需要保证平均5分钟一篇的时间余量,胆大心细。 一、基本概念和公式 1、同比增长速度(即同比增长率)=(本期数-去年同期数)/ 去年同期数x100% =本期数/去年同期数-1 显然后一种快得多环比增长速度(即环比增长率)=(本期数-上期数)/上期数=本期数/上期数-1 2、百分数、百分比(略) 3、比重(略) 4、倍数和翻番 翻番是指数量的加倍,翻番的数量以2^n次变化 5、平均数(略) 6、年均增长率

如果第一年的数据为A,第1年为B 二、下面重点讲一下资料分析速算技巧 1、÷(1)≈b×(1)结果会比正确答案略小,记住是略小,如果 看到有个选项比你用这种方法算出来的结果略大,那么就可以选;比它小的结果不管多接近一律排除;x越小越精确 ÷(1)≈(1)结果会比正确答案略小,x越小越精确 特别注意: ⑴当选项差距比较大时,推荐使用该方法,当差距比较小时,需验证 ⑵增长率或者负增长率大于10%,不适用此方法 2、分子分母比较法 ⑴分子大分母小的分数大于分子小分母大的分数 ⑵差分法★ 若其中一个分数的分子和分母都大于另外一个分数的分子和分母,且大一点点时,差分法非常适用。 例:2008年产猪6584头,2009年产猪8613头,2010年产猪10624头,问2009与2010哪一年的增长率高

JBPM工作流演示系统使用说明

JBPM工作流演示系统使用说明 安装讲明 本系统在JDK1.5的基础上编译,请选择支持JDK1.5及以上版本的WEB 容器,举荐使用Tomcat5.5,不保证与其他WEB服务器兼容,理论上应该可不能显现兼容性咨询题。 如果要编辑源代码,请使用Eclipse3.3+MyEclipse6.0版本,JBPM版本为3. 2.3,其他版本可能会显现文件无法打开或编译的情形。 本系统在Spring2.0+Struts1.2+Hibernate3.1基础上构建,与低版本不兼容。 数据库为MySql5.0,编码采纳utf-8。 系统架构

功能讲明 本应用要紧用于演示JBPM工作流的使用,数据均储备在数据库中,包括两大模块:权限操纵和流程操纵。权限操纵模块是为流程操纵模块服务的,为了讲明在实际应用中如何动态指定审批执行者。但实际上其代码量并不比工作流的代码少。 流程图 功能详解 1、创建请假条 创建请假条时必须输入请假天数和请假缘故,系统会对数据进行检查。同时,会自动显示当前有效的审批人,包括经理审批和老总审批。审批者是能够自定义的,而且只有一个有效,其他自动设为无效。有效的审批设置自动显示在新建请假条页面。 2、送审 新建请假条后,如果数据输入无误,自动跳转到“送审请假条”页面,该页面显示所有刚刚定义的请假条,可用操作有“送审”、“重写”。每个请假条的详细信息以列表形式显示。 术语讲明: 送审:请假条定义后,请假条处于等待审批状态,要点击“送审”按钮流程才会往下走,即交给经理审批。 重写:如果输入的信息有出入,能够点此按钮编辑请假信息。进入重写页面后,将显示该请假条在什么时候编辑过。如下图: 3、我发起的所有任务

行测总结笔记学霸笔记必过模板

现在开始 资料分析 之所以把资料分析放在第一,是因为本人以前最怕资料分析不难但由于位于最后,时间紧加上数字繁琐,得分率一直很低。而各大论坛上的普遍说法是资料分析分值较高,不可小觑。有一次去面试,有个行测考90分的牛人说他拿到试卷先做资料分析,我也试过,发觉效果并不好,细想来经验因人而议,私以为资料分析还是应该放在最后,只是需要保证平均5分钟一篇的时间余量,胆大心细。 一、基本概念和公式 1、同比增长速度(即同比增长率)=(本期数-去年同期数)/去年同期数x100% =本期数/去年同期数-1 显然后一种快得多 环比增长速度(即环比增长率)=(本期数-上期数)/上期数=本期数/上期数-1 2、百分数、百分比(略) 3、比重(略) 4、倍数和翻番 翻番是指数量的加倍,翻番的数量以2^n次变化 5、平均数(略) 6、年均增长率 如果第一年的数据为A,第n+1年为B 二、下面重点讲一下资料分析速算技巧 1、a=b÷(1+x%)≈b×(1-x%)结果会比正确答案略小,记住是略小,如果看到有个选项比 你用这种方法算出来的结果略大,那么就可以选;比它小的结果不管多接近一律排除; x越小越精确 a=b÷(1-x%)≈bX(1+x%)结果会比正确答案略小,x越小越精确 特别注意: ⑴当选项差距比较大时,推荐使用该方法,当差距比较小时,需验证 ⑵增长率或者负增长率大于10%,不适用此方法 2、分子分母比较法 ⑴分子大分母小的分数大于分子小分母大的分数 ⑵差分法★ 若其中一个分数的分子和分母都大于另外一个分数的分子和分母,且大一点点时,差分法非常适用。 例:2008年产猪6584头,2009年产猪8613头,2010年产猪10624头,问2009与2010哪一年的增长率高 答:2009增长率8613/6584-1 ,2010增长率10624/8613-1,-1不用看,利用差分法

资料分析报告笔记整理好

资料分析笔记整理 一.资料分析基础概念与解题技巧 1.资料分析核心运算公式 2.资料分析常用基本概念 3.资料分析速算技巧 二.资料分析高频高点梳理 1.ABR类问题 2.比重类问题 资料分析基础概念与解题技巧 一、基期、本期 基期,表示的是在比较两个时期的变化时,用来做比较值(基准值)的时期,该时期的数值通常作为计算过程中的除数或者减数; 本期,相对于基期而言,是当前所处的时期,该时期的数值通常作为计算过程中的被除数或者被减数。 【注】和谁相比,谁做基期。 二、增长量、增长率(增长速度、增长幅度) 增长量,表示的是本期与基期之间的绝对差异,是一绝对值。 增长率,表示的是末期与基期之间的相对差异,是一相对值。 增长率=增长速度(增速)=增长幅度(增幅) 【注】在一些“最值”比较题的题干表述中,经常出现“增加(长)最多”和“增加(长)最快”,我们需要注意,前者比较的是增长量,而后者则比较的是增长率。 三、同比、环比 同比和环比均表示的是两个时期的变化情况,但是这两个概念比较的基期不同。同比,指的是本期发展水平与历史同期的发展水平的变化情况,其基期对应的是历史同期。 环比,指的是本期发展水平与上个统计周期的发展水平的变化情况,其基期对应的是上个统计周期。 【注】环比常出现在月份、季度相关问题。 四、公式运用与练习 资料分析的考察离不开对于两个时期的数值的比较,由此得出四个概念,

即基期(A),本期(B),增长率(R),增长量(X)。 增长量=基期量*增长率=本期量-基期量=本期量-本期量/1+增长率 增长率=增长量/基期量=(本期量-基期量)/基期量=本期量/基期量-1 本期=基期+增长量=基期+基期*增长率=基期*(1+增长率) 基期=本期-增长量=本期/1+增长率 【习题演练】 【例一】2012年1-3月,全国进出口总值为8593.7亿美元,同比增长7.3%,其中:出口4300.2亿美元,增长7.6%;进口4293.6亿美元,增长6.9%。3月当月,全国进出口总值为3259.7亿美元,同比增加216亿美元,其中:出口1656.6亿美元,增长135.4亿美元;进口1603.1亿美元,增长5.3%。 1、2011年一季度,全国进出口总值约为多少? 2、2012年一季度,全国出口额同比增长多少? 3、2011年三月份,全国进出口总值约为多少? 4、2012年三月份,全国出口总值同比增速约为多少? 【注】进出口相关问题,为资料分析中的一个易错点,注意题目中进出口、进口、出口的表述,注意进出口量与进出口额的不同,理解顺差、逆差的含义 出口-进口=顺差,反之则是逆差 2、资料分析常用基本概念 一、百分数、百分点 百分数,表示的是将相比较的基期的数值抽象为100,然后计算出来的数值,用“%”表示,一般通过数值相除得到,在资料分析题目常用在以下情况:(1)部分在整体中所占的比重;(2)表示某个指标的增长率或者减少率。 百分点,表示的是增长率、比例等以百分数表示的指标的变化情况,一般通过百分数相减得到,在资料分析题目常用在以下情况:(1)两个增长率、比例等以百分数表示的数值的差值;(2)在A拉动B增长几个百分点,这样的表述中。【例1】2010年,某省地区生产总值达到6835.7亿元,比去年同期增长14.9%。其中,第一产业增加值为483.5亿元,比去年同期增长25.8%,第二产业增加值为2985.6亿元,同比增长12.5%。 1、2010年,该省第一产业增加值占地区生产总值的比重为()。A.12.63% B.12.63个百分点 C.7.07% D.7.07个百分点 2、2010年,该省第一产业增加值同比增速比第二产业增加值增速高()。A.13.3% B.13.3个百分点 C.14.3% D.14.3个百分点 二、倍数、翻番 倍数,指将对比的基数抽象为1,从而计算出的数值。 翻番,指数量的加倍,如:如果某指标是原来的2倍,则意味着翻了一番,是原来的4倍,则意味着翻了两番,依此类推。所用的公式为:末期/基期=2n,即翻了n番。 【注】注意“超过N倍”“是xx的N倍”两种说法的区别。超过N倍,说明是基数的N+1倍。

工作流与JBPM开发实例精解

1.工作流与JBPM 开发实例 前几天发了一篇文章,没几个人看也没人留言,看来我这功夫差的还是远啊,今天来一个实际点的吧。可能上回的废话太多。说说这个jbpm应该怎么来用。 首先当你想学一个框架的时候一定是你要有项目来用他了,OK,那么你项目当中的流程是什么你应该清楚吧,那么当你清楚了这些的时候我们就开始我们这个最简单的例子吧。 假如我们现在有这么一个例子,公司员工想报销点出差费,那么他要将他的申请提交给他的第一级领导——部门主管去审批,然后部门主管审批完了之后还要交给这个部门主管的上级公司老总进行审批。那么针对这个简单的流程,我们应该从哪里下手呢? 首先第一件事情就是写流程定义文件,那么这个文件我们用什么来写呢,他就是一个符合某个语法的xml文件,幸运的是jbpm给我们提供了一个集成的开发环境让我们来用。 首先去官网上下一个jbpm-jpdl-suite-3.2.GA包,解压后你会发现他里面有一个designer文件夹,那个里面就是我们写流程定义文件的开发环境,他是一个eclipse的插件,但是好像他给我们的那个eclipse版本有问题,建议大家从新下一个eclipse-SDK-3.2.1-win32.zip这个版本的eclipse,然后覆盖他给我们提供的那个。 准备工作做完了,那么我们就开始吧,首先我们打开解压目录下的designer 文件夹中的designer.bat文件,他弹出一个eclipse,然后我们就用这个东西来开发我们的流程定义文件了。 打开之后你就会看见一个他的小例子,不过我们不去用他,我们自己新建一个工程。右键-new-other-jBoss jbpm-process project。这个时候你会看见他弹出一个对话框,输入你的工程名字,然后点击next,这个时候你会发现他已经把jbpm加载进去了,记住要选中Generate simple ......。 工程建立完了,我们开始建立我们的流程定义文件。在工程里面你会发现src/main/jpdl这个source folder,然后你会看见他里面已经有了一个流程定义文件了,但是我们不去用他的,我们自己建立一个,右键src/main/jpdl,然后new-other-jBoss jbpm-process definition。这个时候他就会弹出一个对话框,起一个你要写的流程定义文件的名字输入进去,OK,可以了。这个时候你打开你建立的那个文件夹,里面就有processdefinition.xml文件,ok,打开他。 在右面的图里面你就可以看到一张什么都没有的白纸,我们看看这部分左面的那些东西,什么start啊,end啊,tasknode啊,fork啊,join啊。那我们来解释一下这是个什么东西呢,我们看看我们的需求,员工要写一个报销单,然

公务员考试行测资料分析状元笔记

2017年公务员考试行测资料分析状元笔记通用阅读——上看标题,下看注释,中间看时间,单位(重点) 1文字性材料——难的是阅读(结构阅读是重点) 文字性材料阅读结构和中心 结构几段落——总分和并列—并列部分找中心词(圈点标点,括号标结构,圈标中心词)无结构小段,就仔细阅读,创造结构(圈点标点,标点暗示结构,括号标结构,圈标中心词)无结构大段,就直接读题—找两个关键词——区分性(平均气温),明显性(符号数字字母,例如括号,摄氏度,顿号之类的)——2007年底比2007年更合适 多个题目涉及同一个关键词的,可以一起做 2表格型材料——难的是计算 阅读横标目和纵标目 分清合计和项目和地区 3图形型材料——难的是理解 饼状图——看周围类别名称(包括大小的排名要心中有印象) 柱状趋势图——看横轴和纵轴(要注意两个纵轴的分别对应柱状和点) 柱状分两种:一种是绝对值(高低差异),一种是比例(高低相同,柱状分几个部分) 4统计术语(不是重点) 增长率是属于后一年(所以第一年的增长率是算不出来的) 前一年的总量=后一年除以(1+增长率)后一年除以(1-增长率) 增长率的对比(很容易会出隔两年的总量,倒推2次):增长率增长或降低了5个百分点(直接加减) 乘以2看成除以5 乘以5看成除以2 乘以25看成除以4 除以125看成乘以8 同比是与上一年的同一期相比较 环比是挨着的相同时间段相比较 同比和环比:如果有注释按注释为准 今年5月份环比=今年4月份 今年5月份同比=去年5月份 5统计性数据的要素——时间和单位(重点) 1时间表述(陷阱)——对时间很敏感 1.计算的年份不一样 2.计算的时间段不一样 2单位表述(陷阱)——对单位很敏感 1.饼状图有单位,就不是百分比 相比较的数据的单位不一样(注意是百分号还是千分号。年利率往往用百分,月利率用千分之) 2.计算的单位不一样 下列选项一定正确和一定错误的题目是最难的,可以放在最后做。

jBPM4.4详细讲解

jBPM4.4 一、什么是jBPM JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。 java Business Process Management :工作流,工作流引擎 注:记得j小写,因为j代表java,与Log4j中j一样 工作流管理系统不止一中,如还有Intaliol BPMS …但JBoss jBPM灵活性且扩展性高。 jBPM项目于2002.3由Tom Baeyens 发起,2003.12发布1.0版本,2004年10.18发布 2.0,并在这天加入了JBOSS组织-→被RedHat公司 二、能干什么 提供工作流的实现,帮助更好的进行BPM 三、jBPM有什么,简介jBPM的Service API 各种服务 1:ProcessEngine:流程引擎。并不负责具体的业务,而是用于获取各种Service。 2:RepositoryService:流程资源服务的接口,如流程定义发布、查询、删除等。 3:ExecutionService:用于操作流程实例的服务,可以进行流程实例发布、查询、流程推进、设置流程变量等操作。 4:TaskService:用于操作人工任务的服务,可以进行任务创建、查询、获取、提交完成、保存、删除等操作。 5:HistoryService:用于操作流程历史的服务,提供对流程历史库(就是已经完成的流程实例)的操作。比如:历史流程实例,历史活动实例等。 6:IdentityService:用于操作用户、用户组以及成员关系的服务 7:ManagementService:流程管理控制服务的接口,只提供异步工作(Job)相关的执行和查询操作。 四、Myeclipse8.5 搭配开发环境 1.jbpm-4.4.zip 下载完 2.myeclipse→help→Myeclipse Configuration Center →add……. 3.找到\jbpm- 4.4\install\src\gpd\jbpm-gpd-site.zip 安装这个插件 4.记得不要联网安装,不要选source文件 5.安装完后window→JBoss jBPM→runtime Location→add 添加jbpm的路径 6.添加lib下所有jar包,如果你使用的是tomcat6.0则:要把 Juel-api.jar ,juel-impl.jar,juel-engine.jar 拷到tomcat lib 下并把原来的el-api.jar删掉 项目中就不要再导上面三个包 五、修改配置文件 1、将example中的下列配置文件拷贝到java项目的src目录下: jBPM.cfg.xml、jBPM.hibernate.cfg.xml、jBPM.mail.properties、 jBPM.mail.templates.xml、process_forms.css 2、在以上配置文件中的jBPM.hibernate.cfg.xml,实际上就是我们熟悉的 hibernate.cfg.xml,这里,要修改为连接我们的数据库。 oracle.jdbc.driver.OracleDriver

资料分析笔记整理样本

资料分析笔记整顿 一.资料分析基本概念与解题技巧 1.资料分析核心运算公式 2.资料分析惯用基本概念 3.资料分析速算技巧 二.资料分析高频高点梳理 1.ABR类问题 2.比重类问题 资料分析基本概念与解题技巧 一、基期、本期 基期,表达是在比较两个时期变化时,用来做比较值(基准值)时期,该时期数值普通作为计算过程中除数或者减数; 本期,相对于基期而言,是当前所处时期,该时期数值普通作为计算过程中被除数或者被减数。 【注】和谁相比,谁做基期。 二、增长量、增长率(增长速度、增长幅度) 增长量,表达是本期与基期之间绝对差别,是一绝对值。 增长率,表达是末期与基期之间相对差别,是一相对值。 增长率=增长速度(增速)=增长幅度(增幅) 【注】在某些“最值”比较题题干表述中,经常浮现“增长(长)最多”和“增长(长)最快”,咱们需要注意,前者比较是增长量,而后者则比较是增长率。 三、同比、环比 同比和环比均表达是两个时期变化状况,但是这两个概念比较基期不同。 同比,指是本期发展水平与历史同期发展水平变化状况,其基期相应是历史同期。

环比,指是本期发展水平与上个记录周期发展水平变化状况,其基期相应是上个记录周期。 【注】环比常出当前月份、季度有关问题。 四、公式运用与练习 资料分析考察离不开对于两个时期数值比较,由此得出四个概念, 即基期(A),本期(B),增长率(R),增长量(X)。 增长量=基期量*增长率=本期量-基期量=本期量-本期量/1+增长率 增长率=增长量/基期量=(本期量-基期量)/基期量=本期量/基期量-1 本期=基期+增长量=基期+基期*增长率=基期*(1+增长率) 基期=本期-增长量=本期/1+增长率 【习题演习】 【例一】1-3月,全国进出口总值为8593.7亿美元,同比增长7.3%,其中:出口4300.2亿美元,增长7.6%;进口4293.6亿美元,增长6.9%。3月当月,全国进出口总值为3259.7亿美元,同比增长216亿美元,其中:出口1656.6亿美元,增长135.4亿美元;进口1603.1亿美元,增长5.3%。 1、一季度,全国进出口总值约为多少? 2、一季度,全国出口额同比增长多少? 3、三月份,全国进出口总值约为多少? 4、三月份,全国出口总值同比增速约为多少? 【注】进出口有关问题,为资料分析中一种易错点,注意题目中进出口、进口、出口表述,注意进出口量与进出口额不同,理解顺差、逆差含义 出口-进口=顺差,反之则是逆差 2、资料分析惯用基本概念 一、百分数、百分点 百分数,表达是将相比较基期数值抽象为100,然后计算出来数值,用“%”表

jbpm数据库说明

jBPM,全称是Java Business Process Management,是一种基于J2EE 的轻量级 工作流管理系统。 一、介绍下大背景工作流的应用市场部分内容就不提了。首先提一下目前工作流域 的两种主流方向 1、workflow 。 代表osworkflow 等。 workflow 的特点为:其主要侧重于对流程的处理模型方面,也就是说它关注的重心是流程的处理 2、BPM商业逻辑流程模型 BPM的重心为商业逻辑流程模型的处理 其中以JBPM为代表 这是两者最大的区别,也就是切入点不同。不过对我们实际应用来说,选哪个区别都不是很大说到工作流就要提到WFM组织,这个组织是国际上一些厂商组成的一个工作流的组织,该组织给出了一个他们自己定义的工作流的定义,及XPDL语义。 该定义将工作流的定义包括为至少以下五部分内容: 1、工作流过程活动 2、转移信息 3、参与者声明 4、外部应用程序声明 5、相关数据 并给出了标准的语法来描述上述元数据 1:workflow process 2:activity 3:transition 4:application 5:date field 由于JBPM不符合上述语法定义,因此JBPM是不符合该WFM规范的不过上述每部分内容在JBPM都有自己的定义来描述 二、JBPM流程的一个基本的处理步骤 1、加载(发布)流程定义 2、启动流程 3、处理任务 4、记录流程的相关状态 1、加载(发布)流程定义 这个意思是,我们通过jbpm 的designer 插件,或者是用其他工具,制定出processDefinition (可以是String ,可以是包文件,也可以是流数据等),然后将其加载到应用中的过程。这个加载可以是写入内存中,或者是直接 写入数据库等 2、启动流程

JBPM工作流表结构的详解

注:红色的表为经常使用的表.这里不使用JBPM自己的权限角色定义. 整体说明: JBPM4_DEPLOYMENT 流程定义表 JBPM4_DEPLOYPROP 流程定义属性表 JBPM4_EXECUTION 流程实例表 JBPM4_HIST_ACTINST 流程活动(节点)实例表 JBPM4_HIST_DETAIL 流程历史详细表 JBPM4_HIST_PROCINST 流程实例历史表 JBPM4_HIST_TASK 流程任务实例历史表 JBPM4_HIST_VAR 流程变量(上下文)历史表 JBPM4_ID_GROUP 组表 JBPM4_ID_MEMBERSHIP 用户角色表 JBPM4_ID_USER 用户表 JBPM4_JOB 定时表 JBPM4_LOB 存储表 JBPM4_PARTICIPATION 参与者表 JBPM4_SWIMLANE 泳道表 JBPM4_TASK 任务表 JBPM4_VARIABLE 上下文表 红色的表为经常使用的表.这里不使用JBPM自己的权限角色定义. 发布一个流程deploy后 jbpm4_deployment新增一条记录 jbpm4_deployprop新增三条记录 jbpm4_lob 新增一条记录 开始一个流程startProcessInstanceByKey后 jbpm4_execution新增一条记录 jbpm4_hist_actinst 新增一条记录 jbpm4_hist_procinst新增一条记录 jbpm4_hist_task新增一条记录 jbpm4_task 新增一条记录 流程定义相关的布署信息就存储在(1)JBPM4_DEPLOYMENT、(2) JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录 JBPM4_DEPLOYPROP 多三条,

粉笔资料分析听课笔记(整理版)

粉笔资料分析听课笔记(整理版) 一、常用分数、百分数、平方 1 3 =33.3% 1 4 =25% 1 5 =20% 1 6 =16.7% 1 7 =14.3% 1 8 =12.5% 1 9 =11.1% 1 10 =10% 1 11 =9.1% 1 12 =8.3% 1 13 =7.7% 1 14 =7.1% 1 15 =6.7% 1 16 =6.3% 1 1.5 =66.7% 1 2.25 =44% 1 2.5 =40% 1 3.5 =28.6% 1 4.5 =22% 1 5.5 =18.2% 1 6.5 =15.4% 1 7.5 =13.3% 1 8.5 =11.8% 1 9.5 =10.5% 1 10.5 =9.5% 1 11.5 =8.7% 1 12.5 =7.8% 1 13.5 =7.4% 1 14.5 =6.9% 1 15.5 =6.5% 1 16.5 =6.1% 22=2 32=9 42=16 52=25 62=36 72=49 82=64 92=81 102=100 112= 121 122=144 132=169 142=196 152=225 162=256 172=289 182=324 192=361 202=400 212=441 222=484 232=529 242=576 252 =625 262=676 272=729 282=784 292=841 二、截位直除速算法 逍遥龙舞公考笔记1

三、其他速算技巧 1、一个数×1.5,等于这个数本身加上这个数的一半。 2、一个数×1.1 等于这个数错位相加. 3、一个数×0.9 等于这个数错位相减. 4、一个数÷5,等于这个数乘以2,乘积小数点向前移 1 位。 5、一个数÷25,等于这个数乘以4,乘积小数点向前移 2 位。 6、一个数÷125,等于这个数乘以8,乘积小数点向前移 3 位。 7、比较类:①分母相同,分子大的大;分子相同,分母小的大。 ②分子大分母小>分子小分母大。③当分母大分子大,分母小分子小 时,看分母与分母的倍数,分子与分子的倍数,谁倍数大听谁的,谁 小统统看为1,再比较。 四、统计术语 1、基期:相对于今年来说,去年的就是基期。 2、现期:相对于去年来说,今年的就是现期。 3、基期量:相对于今年来说,去年的量就是基期量。 4、现期量:相对于去年来说,今年的量就是基期量。 5、增长量:现期量和基期量的差值,就是增长量。 6、增长率:增长量与基期量的比值,就是增长率。 7、倍数:A是B的多少倍;A为B 的多少倍,等于增长率加1。 辨析:A比B增长了500%,那么就是A比B增长(多)5 倍,A是B的6 倍。 逍遥龙舞公考笔记2

Activiti5基于jBPM4的开源工作流系统10分钟入门指南

https://www.wendangku.net/doc/37743565.html, 觉得activiti设计得简单而强大,尝试翻译一下他的10分钟入门指南: 10分钟入门指南 通过一个(非常简单的)业务流程,介绍一些基本的Activiti工作流感念和API接口。 使用案例 这个用例叫干脆(straightfoward):有一个公司,暂且叫它BPMCorp。在BPMCorp内部,会计部门每个月都要写一份财务报告给公司的股东。但在发送给所有股东之前必须经过上级部门的批准。下面涉及的所有文件及代码片段均可以通过Activiti分发的examples范例包中找到,请查看包 https://www.wendangku.net/doc/37743565.html,ertask的内容。 流程图 如上所述的业务流程可以使用Activiti的可视化流程编辑器 Activiti Modeler查看及编辑。使用BPMN2.0的标准符号则如下图所示: 这里没有什么特殊的东西,图中看到的是一个none start event(左边的圆圈),其次是两个user tasks:"撰写财务报告"和”批准财务报告",以 none end event (右边边框加粗型的圆圈)结束。XML表示 上述业务流程的XML表示形式如下所示(FinancialReportProcess.bpmn20.xml). 流程中包含一些主要的元素(通过点击链接可以查看更详细的BPMN 2.0 元素的说明): ?none start event 让我们认识到要开始一个流程。 ?user tasks声明一个基于用户操作的流程任务. 注意第一个任务是分派用户组accountancy的, 而第二个任务是分派到用户组management的. 查看分派用户任务章节可以得到更多怎样分派任务到用户或组的信息。

资料分析知识点(整理版)

资料分析 第一节 增长 【例1】2012年国家外汇储备33116亿美元,2011年国家外汇储备31812亿美元。 {求增长量}○12012年国家外汇储备比上年增加了多少亿美元? {求增长率}○22012年国家外汇储备比上年增加了百分之几? 解析:○133116-31812;○2%10013181233116%100318123181233116??? ? ??-=?- 【例2】2012年2月因低温冷冻天气造成直接经济损失61亿元,比1月份减少27亿元,比2011年2月减少21亿元。2012年2月的损失比1月减少了百分之几?比上年2月减少了百分之几? 解析:○1%100276127?+;○ 2%100216121?+ 【例3】2012年社会消费品零售总额183996亿元,2012年社会消费品零售总额比2011年增长了14.3%。

{求基期量}①2011年社会消费品零售总额为多少亿元?(% 3.141183996+) {求现期量}②按此增速,到2013年社会消费品零售总额预计达到多少亿元?(()%3.141183996+?) {求现期量}③2012年社会消费品零售总额比2011年多多少亿元?(%3.14% 3.141183996?+) 第二节 同比增长与环比增长 1.同比是强调相同时间特性下的两个量之间的比较;而环比则是强调时间顺延下的两个量之间的比较。 2、有关公式

第三节 年均增长与年均增长率 时间差 首段时间该指标量末段时间该指标量平均增长量-= 如果第m 年数据指标为A ,第n 年数据指标为B ,那么这几年 年均增长量=m n A B -- ★年均增长量是指标在一段时间内平均每年的增长幅度。如果第m 年数据指标为A ,第n 年数据指标为B ,这几年的年均增长率为x ,且1-=-m n A B x ① (1)已知第m 年数据指标为A ,年均增长率为x ,求第n 年数据指标B 。 [] 略大于该值)B x m n A x A B m n ()(1)1(-+?≈+?=-②(前提:x <10%) (2)已知第m 年数据指标为A ,第n 年数据指标为B ,求年均增长率。 第n 年相对于第m 年的增长率为x ,1-=A B x 根据①式得()A B x m n =+-1,则有()11+=+-x x m n 根据二项式展开得()()()2 2 1x m n m n x m n x ---+-≈③,()实际值1-

jbpm工作流入门教程

jbpm工作流入门教程 1.jBPM的简单介绍 jBPM是JBOSS下的一个开源java工作流项目,该项目提供eclipse插件,基于Hibernate实现数据持久化存储。 参考 https://www.wendangku.net/doc/37743565.html,/products/jbpm 2.jBPM和myeclipse的冲突 当eclipse安装了myeclipse和jBPM时候,可能有冲突,具体表现在jBPM 的流程设计器不能在eclipse中使用。 3.Hibernate连接mysql数据库的一般参数 下面的配置参数,根据需要可以修改: jbpmtest是mysql中的schema的名字; GBK是字符集,可以根据需要修改; username=root,mysql数据库的用户名是root; password=mysql,mysql数据库的用户密码是mysql; hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost/jbpmtest?useUnicode=true&characterEncoding= GBK

https://www.wendangku.net/doc/37743565.html,ername=root hibernate.connection.password=mysql hibernate.show_sql=true hibernate.c3p0.min_size=1 hibernate.c3p0.max_size=3 4.Hibernate连接Oracle数据库的一般参数 hibernate.dialect=org.hibernate.dialect.Oracle9Dialect hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:orcl https://www.wendangku.net/doc/37743565.html,ername =jbpm hibernate.connection.password=jbpm 5.为jBPM创建数据库表等内容 5.1.为mysql创建数据库以及数据内容 JbpmSessionFactory.buildJbpmSessionFactory().getJbpmSchema().dropSchema(); JbpmSessionFactory.buildJbpmSessionFactory().getJbpmSchema().createSchema(); 这2个语针对mysq有效. 5.2.为oralce创建数据库以及数据内容 JbpmSessionFactory.buildJbpmSessionFactory().getJbpmSchema().dropSchema();

(完整版)粉笔资料分析听课笔记(整理版)

粉笔资料分析听课笔记(整理版)一、常用分数、百分数、平方 1 3=33.3% 1 4 =25% 1 5 =20% 1 6 =16.7% 1 7 =14.3% 1 8 =12.5% 1 9=11.1% 1 10 =10% 1 11 =9.1% 1 12 =8.3% 1 13 =7.7% 1 14 =7.1% 1 15=6.7% 1 16 =6.3% 1 1.5=66.7% 1 2.25 =44% 1 2.5 =40% 1 3.5 =28.6% 1 4.5 =22% 1 5.5=18.2% 1 6.5 =15.4% 1 7.5 =13.3% 1 8.5 =11.8% 1 9.5 =10.5% 1 10.5=9.5% 1 11.5 =8.7% 1 12.5 =7.8% 1 13.5 =7.4% 1 14.5 =6.9% 1 15.5=6.5% 1 16.5 =6.1% 22=2 32=942=1652=2562=3672=4982=64 92=81 102=100112= 121122=144132=169 142=196152=225 162=256 172=289182=324192=361202=400212=441 222=484 232=529242=576252=625 262=676272=729 282=784 292=841 二、截位直除速算法

三、其他速算技巧 1、一个数×1.5,等于这个数本身加上这个数的一半。 2、一个数×1.1等于这个数错位相加. 3、一个数×0.9等于这个数错位相减. 4、一个数÷5,等于这个数乘以2,乘积小数点向前移1位。 5、一个数÷25,等于这个数乘以4,乘积小数点向前移2位。 6、一个数÷125,等于这个数乘以8,乘积小数点向前移3位。 7、比较类:①分母相同,分子大的大;分子相同,分母小的大。 ②分子大分母小>分子小分母大。③当分母大分子大,分母小分子小时,看分母与分母的倍数,分子与分子的倍数,谁倍数大听谁的,谁小统统看为1,再比较。 四、统计术语 1、基期:相对于今年来说,去年的就是基期。 2、现期:相对于去年来说,今年的就是现期。 3、基期量:相对于今年来说,去年的量就是基期量。 4、现期量:相对于去年来说,今年的量就是基期量。

粉笔资料分析听课笔记(整理版)知识讲解

粉笔资料分析听课笔记(整理版)

粉笔资料分析听课笔记(整理版) 一、常用分数、百分数、平方 13 =33.3% 14 =25% 15 =20% 16 =16.7% 17 =14.3% 18 =12.5% 19 =11.1% 110 =10% 111 =9.1% 112 =8.3% 113 =7.7% 114 =7.1% 115 =6.7% 116 =6.3% 11.5 =66.7% 12.25 =44% 12.5 =40% 13.5 =28.6% 14.5 =22% 15.5 =18.2% 16.5 =15.4% 17.5 =13.3% 18.5 =11.8% 19.5 =10.5% 110.5 =9.5% 111.5 =8.7% 112.5 =7.8% 113.5 =7.4% 114.5 =6.9% 115.5 =6.5% 116.5 =6.1% 22=2 32=9 42=16 52=25 62=36 72=49 82=64 92=81 102=100 112= 121 122=144 132=169 142=196 152=225 162=256 172=289 182=324 192=361 202=400 212=441 222=484 232=529 242=576 252 =625 262=676 272=729 282=784 292=841 二、截位直除速算法 三、其他速算技巧

1、一个数×1.5,等于这个数本身加上这个数的一半。 2、一个数×1.1等于这个数错位相加. 3、一个数×0.9等于这个数错位相减. 4、一个数÷5,等于这个数乘以2,乘积小数点向前移1位。 5、一个数÷25,等于这个数乘以4,乘积小数点向前移2位。 6、一个数÷125,等于这个数乘以8,乘积小数点向前移3位。 7、比较类:①分母相同,分子大的大;分子相同,分母小的大。 ②分子大分母小>分子小分母大。③当分母大分子大,分母小分子小时,看分母与分母的倍数,分子与分子的倍数,谁倍数大听谁的,谁小统统看为1,再比较。 四、统计术语 1、基期:相对于今年来说,去年的就是基期。 2、现期:相对于去年来说,今年的就是现期。 3、基期量:相对于今年来说,去年的量就是基期量。 4、现期量:相对于去年来说,今年的量就是基期量。 5、增长量:现期量和基期量的差值,就是增长量。 6、增长率:增长量与基期量的比值,就是增长率。 7、倍数:A是B的多少倍;A为B的多少倍,等于增长率加 1。 辨析:A比B增长了500%,那么就是A比B增长(多)5倍,A 是B的6倍。

jbpm和shark工作流引擎对比

jbpm和shark工作流引擎对比 Xpdl:xml process definition language. Bpel:Business Process execution language. Jpdl:JBoss Jpbm Process definition language. 考察角度:稳固性,易用性,灵活性,可监管,扩展性,可爱护性,进展趋势。

附图1(shark类结构图): 流程图

附图2(jbpm 类结构图): 定义部分 to from Node Transition ProcessDefinition ProcessDefinition Node StartState EndState ProcessState SuperState State Fork Join TaskNode Task Transition Event Decision Action ExceptHandle CancelTimerAction CreateTimerAction Script VariableAccess TaskController ProcessState Script Swimlane 运行部分

ProcessInstance Token ModuleInstance ContextInstance TaskMgmtInstance TokenVariableMap TaskIanstance VariableInstance SwimlaneInstance PooledActor Timer Action Token ProcessInstance TaskInstance VariableLog TaskLog ProcessLog SignalLog TransitionLog ActionlLog Token Tansition Node Action Message signalCommand ExecuteActionCommand TaskNodeCommand MessageLog ProcessInstanceCreateLog ProcessInstanceEndLog RunTimeAction NodeInstance (StateNodeInstance)(DecisionNodeInstance)(SuperNodeInstance)(ProcessNodeInstance)(Fork/JoinNodeInstance)(TaskNodeInstance —>TaskInstance) 流程图 Fork 和join 范例(这也是和shark 区不较大的一个地点):

华图钻石班笔记之资料分析

资料分析——先读题后题目 通用阅读——上看标题,下看注释,中间看时间,单位(重点) 1文字性材料——难的是阅读(结构阅读是重点) 文字性材料阅读结构和中心 结构几段落——总分和并列—并列部分找中心词(圈点标点,括号标结构,圈标中心词)无结构小段,就仔细阅读,创造结构(圈点标点,标点暗示结构,括号标结构,圈标中心词)无结构大段,就直接读题—找两个关键词——区分性(平均气温),明显性(符号数字字母,例如括号,摄氏度,顿号之类的)——2007年底比2007年更合适 多个题目涉及同一个关键词的,可以一起做 2表格型材料——难的是计算 阅读横标目和纵标目 分清合计和项目和地区 3图形型材料——难的是理解 饼状图——看周围类别名称(包括大小的排名要心中有印象) 柱状趋势图——看横轴和纵轴(要注意两个纵轴的分别对应柱状和点) 柱状分两种:一种是绝对值(高低差异),一种是比例(高低相同,柱状分几个部分) 4统计术语(不是重点) 增长率是属于后一年(所以第一年的增长率是算不出来的) 前一年的总量=后一年除以(1+增长率)后一年除以(1-增长率) 增长率的对比(很容易会出隔两年的总量,倒推2次):增长率增长或降低了5个百分点(直接加减) 乘以2看成除以5 乘以5看成除以2 乘以25看成除以4 除以125看成乘以8 同比是与上一年的同一期相比较 环比是挨着的相同时间段相比较 同比和环比:如果有注释按注释为准 今年5月份环比=今年4月份 今年5月份同比=去年5月份 5统计性数据的要素——时间和单位(重点) 1时间表述(陷阱)——对时间很敏感 1.计算的年份不一样 2.计算的时间段不一样 2单位表述(陷阱)——对单位很敏感 1.饼状图有单位,就不是百分比 相比较的数据的单位不一样(注意是百分号还是千分号。年利率往往用百分,月利率用千分之) 2.计算的单位不一样 下列选项一定正确和一定错误的题目是最难的,可以放在最后做。 中国有没有到96%,言下之意是其他有没有到4%

相关文档
相关文档 最新文档