1 1. 反射:运行时的类的自省的机制.
2 Class类: getXX(); Method类 Field Constructor
3 创建对象 : newInstance();
4 反向激活方法: method.invoke(obj,参数);
5
6
7 2. 注解: 数据的数据->元数据
8 预定义: @Override @Deprecated @SuppressWarning
9 自定义:
10 (1)语法:
11 定义: public @interface 注解名{
12 public String name()default 值;
13 }
14 使用: @注解名(参数)
15
16 注解的注解: 声明自定义的注解位置,参与运行的时机,是否生成文档
17 (1)位置
18 @Target({ElementType.Method,ElementType.TYPE})
19 (2)时机
20 @Retention(RetentionPolicy.RUNTIME/SOURCE/CLASS)
21
22 3. Filter过滤器
23 原理: 所有的请求和响应都先经过过滤器链,再到jsp/servlet
24 应用: 权限,字符集,加密、解密,日志
25 使用:
26 (1)一个类实现Filter接口
27 init() doFilter() destroy()
28 (2)配置web.xml
29 <filter>
30 <filter-name>
31 <filter-class>
32 </filter>
33 <filter-mapping>
34 <filter-name>
35 <url-pattern>
36 </filter-mapping>
37
38 4. Listener监听器
39 原理: 对作用域对象进行操作时,会被监听器所监听到
40 分类: 1.作用域对象不同: request,session, application
41 2.操作: 创建和销毁,属性操作
42 使用:
43 (1)一个类实现对应的Listener接口
44 (2)配置web.xml
45 <listener>
46 <listener-name>
47 <listener-class>
48 </listener>
49
50 5. dao层的优化:
51 (1)jndi ->数据连接池
52 (2)配置属性文件properties,读取它
53 (3)存储过程的调用
54
55
56
57 j2se:
58 1. OOP知识: 封装,继承,多态
59 2. 异常: 运行时的错误
60 Object
61 Throwable
62 Error Exception
63 RuntimeException XXX
64 处理关键字:
65 try catch finally throw throws
66 规范: MVC: a.不要压制异常
67 b. 抛出方向: dao-> biz -> servlet处理-> 错误处理页
68 3. 集合: java.util包
69 工具类: Date-> DateFormat Calendar Runtime System Array Random
70 集合框架:
71 Collection接口
72 List接口 Set接口
73 ArrayList LinkedList Vector HashSet TreeSet
74
75 size() get() add() iterator() Iterator->hasNext() next()
76
77
78 Map接口
79 HashMap Properties Hashtable
80 size() put(k,v) get(k) keySet()
81 4. 流-> io
82 java.io包
83 1.文件 File
84 File(String);
85 方法: (1)属性操作 isDirectory() ...
86 (2)创建和删除 目录:mkDir()/mkDirs() 文件: createNewFile()
87 (3)循环 递归目录结构
88 2. 流:
89 一个管道
90 分类: 输入 输出
91 字节 InputStream OutputStream
92 字符 Reader Writer
93 输入流的方法:
94 close(); read(); read(byte[],start,len);
95 输出流的方法:
96 close(); flush(); write();
97 处理流InputStreamReader/OuputStreamWriter, 缓冲流BufferedXX, 文件流Filexxx
98
99 5. jdbc:
100 6. SWT:
101 事件模型:
102 事件源-> 监听器-> 处理
103 内部类:
104 7. 线程:
105 两种方案实现线程:
106 (1) class 类名 extends Thread{
107 public void run(){}
108 }
109 类名 x=new 类名();
110 x.start();
111 (2) class 类名 implements Runnable{
112 public void run(){}
113 }
114 类名 x=new 类名();
115 Thread t=new Thread(X);
116 t.start();
117 启动线程: 线程类名.start();
118 线程的生命周期:
119 后台线程: setDaemon(); 后台线程 JVM垃圾回收
120 线程优先级: 1-10 setPriority()
121 线程的同步: 使用synchronized来实现同步操作
122
123 8. Socket编程:
124 协议:
125 端口:
126 TCP: 可靠,
127 Socket类: Socket(服务器地址,服务器的端口号)
128 getInputStream() getOutputStream(); close();
129 ServerSocket类: ServerSocket(开放端口号);
130 accept() getInputStream() getOutputStream(); close();
131
132 UDP: 不可靠
133 发送:DatagramPacket dp=new DatagramPacket(要发送的数据,长度,另一端的地址及端口);
134 //使用本机上的哪一个端口发送
135 DatagramSocket ds=new DatagramSocket(5678);
136 ds.send(dp);
137 ds.close();
138
139 接收:
140 byte buf[]=new byte[1024];//字节数组,用于缓冲数据
141 DatagramPacket dp=new DatagramPacket(buf,buf.length); //构建一个数据包对象
142 DatagramSocket ds=new DatagramSocket(3333); //构建一个数据包socket,占用UDP的9999端口,进行接收
143 while(true){
144 ds.receive(dp); //用这个9999端口来接收数据,存在dp数据包对象中的buf缓冲空间中
145
146 }
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
转载于:https://www.cnblogs.com/bianguai/archive/2011/10/12/2208442.html