流 进程 线程 jdbc gc

本文概述了Java中的核心概念和技术,包括流分类、AWT与Swing的区别、界面设计步骤、程序与线程的概念及区别、数据库访问方式、垃圾回收机制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、

•    字节流和字符流

最基本的两种流分类,按照流的最基本单位是字节还是字符来分。

•    输入流和输出流

相对于程序来说,向程序输入成为输入流,否则称为输出流。

•    结点流(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可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作这同样是不可预料的,这和抢占式的线程在发生作用时的原理一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值