当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 1.多线程中有主内存和工作内存之分,在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存,主内存和工作内存分贝在JVM的stack区和heap区。
 

 

 ·网络数据流的java处理(1)    »显示摘要«
    摘要:1.庞大的java流处理 首先,之所以说java流的庞大,是因为java中的流处理比其他语言的流处理在内容上多的多。java流在处理上分为字符流和字节流。字符流处理的单元为2个字节的unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。java内用unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内unicode字符流之间......
 ·如何用java实现web服务器(1)    »显示摘要«
    摘要:一、http协议的作用原理www是以internet作为传输媒介的一个应用系统,www网上最基本的传输单位是web网页。www的工作基于客户机/服务器计算模型,由web 浏览器(客户机)和web服务器(服务器)构成,两者之间采用超文本传送协议(http)进行通信。http协议是基于tcp/ip协议之上的协议,是web浏览器和web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。http......


多线程设计要点
1.多线程中有主内存与工作内存之分, 在jvm中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存与工作内存分贝在jvm的stack区与heap区.

【程序编程相关:重拳出击 Linksys中国市场新布局

【推荐阅读:阿尔卡特向Thales公司转让更多业务

2.线程的状态有ready, running, sleeping, blocked, 与 waiting几个状态, 【扩展信息:百度已正式宣布开放互联网新闻开放协议

ready 表示线程正在等待cpu分配允许运行的时间.

3.线程运行次序并不是按照我们创建他们时的顺序来运行的,cpu处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用setpriority()方法设置优先级.

4.我们无从知道一个线程什么时候运行,两个或多个线程在访问同一个资源时,需要synchronized

5. 每个线程会注册自己,实际某处存在着对它的引用,因此,垃圾回收机制对它就“束手无策”了.

6. daemon线程区别一般线程之处是:主程序一旦结束,daemon线程就会结束.

7. 一个对象中的所有synchronized方法都共享一把锁,这把锁能够防止多个方法对通用内存同时进行的写操作.synchronized static方法可在一个类范围内被相互间锁定起来.

8. 对于访问某个关键共享资源的所有方法,都必须把它们设为synchronized,否则就不能正常工作.

9. 假设已知一个方法不会造成冲突,最明智的方法是不要使用synchronized,能提高些性能.

10. 如果一个"同步"方法修改了一个变量,而我们的方法要用到这个变量(可能是只读),最好将自己的这个方法也设为 synchronized.

11. synchronized不能继承, 父类的方法是synchronized,那么其子类重载方法中就不会继承“同步”.

12. 线程堵塞blocked有几个原因造成:

(1)线程在等候一些io操作 

(2)线程试图调用另外一个对象的“同步”方法,但那个对象处于锁定状态,暂时无法使用.


...   下一页
 ·java socket编程(1)    »显示摘要«
    摘要:socket传输模式 sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样. 到底用哪种模式是邮应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE