Java ee Java Platform,Enterprise Edition
Ide --itegrity development environment
jms Java Message Service即Java消息服务
jmx JavaManagement Extensions,即Java管理扩展
jndi JavaNaming and Directory Interface,Java命名和目录接口)
2:在elicspe 下怎么调试 :断点 debug
编译版本 的选择 preferences---java –Compiler
模版代码:java-editor-templent
3:import静态方法导入: math
4 For 循环加强:
语法: for (type 变量名 :变量名集合)
{….}
注意:迭代变量名必须在()中定义;
集合变量名可以是数组或者实现了Hterable接口的集合类
5: 享元模式 flyweight
有很多很小的对象他们有很多相同的东西,可以把他们编成一个对象,有些不同变成外部的属性作为方法的参数传入,
Integer 类型转换 -128 -127 会自动保存
Integer s1= 13;
Integer s2 = 13;
System.out.println(s1==s2);
6:枚举
将大量的if else 转化为一个个独立的类
为什么要有枚举:
7:内部类:
8:反射基石-Class类
Class.for Name作用 :返回字节码,返回的方式有两种:第一这段字节码曾经被加载过,在java虚拟机里面,直接返回
第二java虚拟机没有,则用java类加载器直接去加载,把加载的缓存虚拟机里面。
9:获得字节码方法:3种
类名class 例如: System.class
对象getClass() 例如: new Date().getClass()
Class.forName(“类名”)
九个预定义Class实例对象:
数组类型的Class 实例对象:Class.isArry()
总之只要是在原程序出现的类型,都有各自的Class实例对象 如int[]
枚举类
10Constructor类
ConStructor 类代表某个类中的一个构造方法
…得到某个类所有的构造方法 ConStructor[] constructor = Class.forName(“java.lang.String”).getConstructor
获得某一个构造方法
ConStructor[] constructor= Class.forName(“java.lang.String”).getconstructor(StringBuffere.class)
//获得方法时要用到类型
实现参数的传递:String.class.getConstructor(StringBuffere.class)
.一般.创建实例对象流程:class—constructor—newobject;而
通常方式1 String str = new String (new StringBuffer(“abc”));
反射方式:String str=(String) new Instrance (new StringBBuffer(“abc”))
//调用获得的方法时要用到上面同类型实例对象
..Class.newInstrance() 方法
String obj=(String)Class.forName(“java.lang.String”).newInstrance
该方法内部先得到默认的构造方法,然后用该构造方法创建实例对象
11:Filed 类
//字节码的获取应该用==
Filed(21反射)
9成员方法的反射:
得到字节码的方法,在用方法作用于对象
privatestaticvoidchangeStringName(Object obj) throwsException{
// TODOAuto-generated method stub
//扫描所有字段
Field[] fields =obj.getClass().getFields();
for(Field field: fields){
//因为这里是字节码,所以用==比较好
if(field.getType()== String.class){
String oldValue = (String)field.get(obj);
String newValue =oldValue.replace('b','a');
field.set(obj,newValue);
}
}
///////////////////////////////////////////////
publicclassReflectionPoint {
privateintx;
privateinty;
publicStringstr1 = "ball";
publicStringstr2 ="basketball";
publicStringstr3 ="itcast";
publicReflectionPoint(int x,int y) {
super();
this.x = x;
this.y = y;
}
@Override
publicString toString(){
returnstr1+":" +str2+":"+str3;
}
}
10 用反射执行某个类中的main方法(23对接收数组参数的成员方法进行反射)
…写一个程序,这个程序能够根据客户提供的类名去执行该类中的main方法
11数组与object的关系极其反射类型
如果是一个普通对象
11: Method类
12:数组与object的关系及其反射类型
13 数组的反射:
hashcode 方法作用:两个本该相同的对象被存放在不同区域,为了让相等的对象也会房子啊相同的区域,如果两个对象equal 相等,应该也让他们相等;如果两个对象不要存放在hashcod,就没有必要搞hashcode
反射作用------实现框架的功能
14:用类加载器的方式管理资源和配置方式
15 内省 IntroSpector-- javabean
Javabean---特殊的java类
Javaben person几个属性
12 面向接口编程:ArryList_Hashset的 比较及Hashcode分析
程序不要但是它一直在在暂用内存空间没有停止(内存泄漏)
hashcode 作用:两个本来相同的对象被存放在不同区域,相等的两个对象放在同一个区域,如果两个对象equals
相等那么也应该让他们Hashcode相等。如果两个对象不要相等那就不需要用Hashcode。
android培训、java培训、期待与您交流! ----------------------