教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

Java语言程序设计教程 书本知识点汇总(3)

来源:网络收集 时间:2026-09-12
导读: } // end class DivideByZeroTest Java本科专业教程 看懂下面的例子: class Plane { static String s = “-”; public static void main(String[] args){ new Plane().s1(); System.out.println(s); } void s1()

} // end class DivideByZeroTest

Java本科专业教程

看懂下面的例子:

class Plane {

static String s = “-”;

public static void main(String[] args){

new Plane().s1();

System.out.println(s);

}

void s1() {

try { s2(); } catch(Exception e) { s += “c”; } }

void s2() throws Exception {

s3(); s += “2”;

s3(); s += “2b”; }

void s3()throws Exception { throw new Exception(); } }

What is the result ? : -c

课后习题:

8. 比较throw与throws关键字之间的功能差异

第十一章 Java多线程程序

1. 线程的概念: 线程是比进程更小的执行单位,一个进程在执行过程中,可以产生多个线程,形成多条执行线索。线程间可以共享相同的内存单元(包括代码和数据)。

2. 线程的状态和生命周期

线程的5个状态: 新建、就绪、运行、阻塞、死亡。

3. 线程的调度和优先级

处于就绪状态的线程首先进入就绪队列等候处理器调度,同一时刻在就绪队列中的线程可能有几个,优先级高的线程排在前面,优先级低的线程只能等到高优先级的线程执行完毕后才能得到处理器。对于同优先级的线程,则遵循队列“先进先出”的原则。

3个优先级常量:

Thread.MAX_PRIORITY

Thread.MIN_PRIORITY

Thread.NORM_PRIORITY

4. 线程的两种创建方法

继承Thread类并重写run方法;在自己的类中实现Runnable方法。

两者都必须实现的方法是public void run() { ... }

5. 线程的方法

start()方法:调用完start()方法仅仅将线程放入调度队列,具体什么时候执行是未知的。不能保证调用完start()后线程就立即执行。

sleep()方法:sleep()使得线程放弃处理器资源,进入睡眠,但不释放拥有的锁。 yield()方法:使得正在执行的线程放弃处理器进入调度队列,重新参与调度竞争,使得其他线程有机会执行,即将处理器交给其他线程。

6. 线程的同步synchronized 加锁

synchronized可以修饰方法或定义同步代码块。

结合使用wait()、notify()、notifyAll()方法。

Java本科专业教程

7. 死锁

两个或多个线程无休止的相互等待的对象释放所占据的资源的过程。错误的同步容易引发死锁。防止死锁的方法:

课后习题:

2. 线程的状态有哪些? 描述相互转换的过程。

4. 创建线程的方式有哪几种?

12. 什么是死锁?多线程设计中如何防止死锁?

第十二章 文件和流

1. 流的概念

Java中的所有IO都是基于流的,分为字节流和字符流,从方向上看有输出流和输入流。对应四个抽象类: InputStream、OutputStream、Reader、Writer。

2. 常见的字节流及操作方法

FileInputStream, FileOutputStream,

ObjectOutputStream, ObjectInputStream,

BufferedInputStream, BufferedOutputStream,

DataInputStream, DataOutputStream

InputStream的方法:

long skip(long n) 跳过几个字节

int available() 可用字节数

read()方法:

int read();

int read(byte[] b);

int read(byte[] b, int off, int len)

OutputStream方法:

void flush()

write()方法:

void write(int x)

void write(byte[] b)

void write(byte[] b, int off, int len)

3. 常见的字符流及操作方法

InputStreamReader, OutputStreamWriter

BufferedReader, BufferedWriter

掌握字节流与字符流的连接操作,如使用System.in,接收用户输入:

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

String whatGet = br.readLine();

4. 文件流

使用FileOutputStream和DataOutputStream进行二进制文件的写操作【P230.例12.4, P231.例12.5】

5. 对象流和序列化流

序列化接口 java.io.Serializable。

如何进行对象的序列化。

课后习题:

Java本科专业教程

2. Java的基本输入输出流有哪些? 主要的功能如何?

3#. 利用基本输入输出流编写程序:从键盘输入一串字符,然后显示到屏幕上。

第十四章 Java网络编程

1. 套接字概念

2. TCP方式传接数据

3. UDP方式传接数据

看懂下面的程序:

import .*;

import java.util.Date;

import java.io.*;

public class TestSocket {

public static void main(String[] args) throws Exception {

new Server().start();

Thread.sleep(2000);

new Client().start();

Thread.sleep(2000);

Server.stopMe = true;

}

}

class Server extends Thread {

public static final int PORT = 44442;

public static boolean stopMe = false;

public void run() {

ServerSocket ss = null;

try {

ss = new ServerSocket(PORT);

while (!stopMe) {

Socket client = ss.accept();

new ServerWorker(client).start();

}

} catch (IOException e) {

} finally {

try {

ss.close();

} catch (Exception e) {

}

}

}

}

class ServerWorker extends Thread {

private Socket clientReq = null;

private OutputStream out = null;

private OutputStreamWriter w = null;

private PrintWriter pw = null;

public ServerWorker(Socket clientReq) {

this.clientReq = clientReq;

}

Java本科专业教程

public void run() {

try {

out = clientReq.getOutputStream();

w = new OutputStreamWriter(out);

pw = new PrintWriter(w, true);

} catch (IOException e) {

return;

}

try {

String s = new Date().toString();

System.out.println("server send:" + s);

pw.write(new Date().toString());

} catch (Exception e) {

return;

} finally {

pw.close();

}

}

}

class Client extends Thread {

public static final int PORT = 9999;

private Socket clientReq = null;

private InputStream in = null;

private BufferedReader br = null;

private String server = "192.168.2.244";// "127.0.0.1";

public void run() {

try {

clientReq = new Socket(server, PORT);

in = clientReq.getInputStream();

br = new BufferedReader(new InputStreamReader(in));

System.out.println("client get:" + br.readLine());

} catch (Exception e) {

System.out.println("can't connect to server" …… 此处隐藏:2306字,全部文档内容请下载后查看。喜欢就下载吧 ……

Java语言程序设计教程 书本知识点汇总(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/132016.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)