一、
• 字节流和字符流
最基本的两种流分类,按照流的最基本单位是字节还是字符来分。
• 输入流和输出流
相对于程序来说,向程序输入成为输入流,否则称为输出流。
• 结点流(Node)和转换流(Transform)
流的一个端点和一个固定数据源或者目的相连,称为结点流,如:System.in,FileInputStream如果一个流和另一个流相连,则称为转换流。
二、AWT Swing jfc
JFC是Java 2的一部分,包括:五个部分,AWT, Java2D, Accessbility(非标准的输入输出), Drag and drop(和非Java程序通讯数据)、swing.
Java2D, Drag andDrop and Accessbility是AWT和JFC的一部分,但不是Swing的一部分,因为这些组件使用了一些本地代码。
三、设置一个界面的方式
• 1、首先确定Container
– 确定Layout
– 确定Border
– 确定background, foreground
• 3、确定Component
– 确定位置、大小
– 确定边框、图标、颜色、字体等
• 4、将Component加入Container
四、 程序、线程和进程的区别。
程序是静态的代码。
进程是程序的一次动态执行过程。(有点
像用例)。加载到不同的内存区域中执行。
线程是比进程更小的执行单位。线程之间可
以共享内存单元(代码和数据),并利用这些共
享单元实现数据交换、实时通信、同步操作等。
多线程的实现:
继承Thread,覆盖父类的run方法
实现runable接口
线程问题:
由于线程可以共享数据,这样就会碰到数据并发访问所带来的问题,同步和死锁。
sychronized, deadlock
线程类的stop方法和suspend都不建议使用,前者会解除线程的所有锁,后者可能会导致死锁。
Sleep是一个静态的方法
睡眠指定毫秒数
在某个线程里某方法调用了Sleep,该方法就在指定时间内睡眠
http://blog.sina.com.cn/s/blog_7f033dcf01015h9p.html
线程通讯
• 使用wait和notify在线程中通讯。
• 使用synchronized来保护数据
• 不再使用suspend, resume, and stop. (dprecated)
五、java对数据库的访问与操作
class.forName(“JDBC驱动”)
• ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(“url”);
• jdbc:odbc:soft
Statements=con.createStatement();
ResultSetrs=s.executeQuery(sql);
rs.getString(1);......
s.executeUpdate(sql);
con.close();
六、垃圾回收机制
垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身
System.gc() Runtime.getRuntime().gc() 上面的方法调用时用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作这同样是不可预料的,这和抢占式的线程在发生作用时的原理一样。