Java编程那些事儿8_多线程
总之,无论是进程的概念还是线程的概念,都使编程从串行编程(依次执行)进入到并行编程(同时执行)的领域,而在CPU内部实现的原理都是按照时间片进行切换
2、 充分利用系统资源
通过在一个程序内部同时执行多个流程,可以充分利用CPU等系统资源,从而最大限度的发挥硬件的吸能。就像一个人同时承担多份工作一样,这样可以使这个人的时间获得比较充分的使用。
当然,多线程程序也有一些不足,例如当程序中的线程数量比较多时,系统将花费大量的时间进行线程的切换,这反而会降低程序的执行效率。
但是,相对于优势来说,劣势还是很有限的,所以在现在的项目开发中,多线程编程技术获得了广泛的使用。
在实际实现线程时,Java语言提供了三种实现方式:
1、 继承Thread类
2、 实现Runnable接口
3、 使用Timer和TimerTask组合
一个类具备了多线程的能力以后,可以在程序中需要的位置进行启动,而不仅仅是在main方法内部启动。
ThirdThread t1 = new ThirdThread();
t1.start();
t1.start(); //同一个线程不能启动两次
相关文档:
1 网络通信的本质是进程间通信。
2 Tcp协议和UDP协议
TCP:开销大,用于可靠性要求高的场合。
TCP的过程相当于打电话的过程
UDP:用在对实时性要求比较高的场合。
UDP的过程相当于写信的过程。
注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)
3,   ......
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子,你可以发现合理应用静态变量带来的好处:
Java代码 ......
2009年1月,某软件公司一则年薪十万招聘JAVA高级软件工程师的广告吸引了众多媒体和IT从业人员的目光,大家置疑的除了颇具吸引力的年薪之外,更多的是对该企业愿意聘请“有能力的应届毕业生”感到困惑。在大多数企业都强调工作经验的时候,该企业为什么愿意高额聘请应届毕业生呢?该企业负责人的一句看似简单的&ld ......
很多人在初学Java的时候经常会被书中介绍的一堆环境变量的设置搞得头昏脑胀,很多书中都会在初装JDK的时候让他大家设置JAVA_HOME环境变
量,在开发程序的时候设置CLASSPATH环境变量,而很多人并不理解这两个环境变量的作用,我们来分别进行详细的阐述。
首先是JAVA_HOME环境变量,我们先来 ......