Java编程那些事儿8_多线程
总之,无论是进程的概念还是线程的概念,都使编程从串行编程(依次执行)进入到并行编程(同时执行)的领域,而在CPU内部实现的原理都是按照时间片进行切换
2、 充分利用系统资源
通过在一个程序内部同时执行多个流程,可以充分利用CPU等系统资源,从而最大限度的发挥硬件的吸能。就像一个人同时承担多份工作一样,这样可以使这个人的时间获得比较充分的使用。
当然,多线程程序也有一些不足,例如当程序中的线程数量比较多时,系统将花费大量的时间进行线程的切换,这反而会降低程序的执行效率。
但是,相对于优势来说,劣势还是很有限的,所以在现在的项目开发中,多线程编程技术获得了广泛的使用。
在实际实现线程时,Java语言提供了三种实现方式:
1、 继承Thread类
2、 实现Runnable接口
3、 使用Timer和TimerTask组合
一个类具备了多线程的能力以后,可以在程序中需要的位置进行启动,而不仅仅是在main方法内部启动。
ThirdThread t1 = new ThirdThread();
t1.start();
t1.start(); //同一个线程不能启动两次
相关文档:
装饰器模式主要应用于这样一种场合,当你已经有了一个目标类,并且它是一个接口的实现类,在对该类使用的后期发现需要对相应接口程序的前后做更多的处理,这些处理是变化的,不固定的,但是有不能去修改这个目标类,这时我们就可以使用这个装饰器模式:
比如,我们已经有一个付款的方法 payMoney(long count) ,这个方法只 ......
程序没什么含金量,高手莫笑。
package first;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import ......
public(公共访问控制):可以被所有类访问。
protected(保护访问控制):可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他类访问。
default(友好访问控制):可以被这个类本身和同一个包中的其他类所访问。
private(私有访问控制):只能被该类自身访问和修改。 ......
在javaeye上搜到一篇robbin关于java序列化的回复,我觉得其中的例子很有说服力,转过来和大家分享。
关于更多java序列化的问题可以参见JAVA系列之对象的序列化与反序列化
Java的序列化机制只序列化对象的属性值,而不会去序列化什么所谓的方法。其 ......
Java编程那些事儿84——IO简介
I/O处理技术是Java语言中实现文件操作、内存操作、控制台输入以及网络编程的基础,但是由于I/O技术本身的设计原因,也使得I/O处理技术的难度比较大,需要花费比较大的精力进行学习。
11.1 I/O简介
在程序中,输入和输出都是相对于当前程序而言的,例如从硬盘上读取一个配 ......