`
文章列表
文章地址:http://morganchengmo.spaces.live.com/blog/cns!9950CE918939932E!2132.entry Config HTTP Header For Better Client Performance 网 站的性能(Performance)要考虑两方面,一方面是在Server端的运行效率,另一方面是在Client端感受到的效率。不要以为Server ...
引言                                         HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的 使用与发展,得到不断地完 ...

什么是原子性

    博客分类:
  • java
原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中, 能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源 互斥的原因。 在对称多处理器(Symmetric Multi-Processor)结构中就不同了,由于系统中有多个处理器在独立地运行,即使能在单条指令中完成的操作也有可能受到干扰。   在x86 平台上,CPU提供了在指令执行期间对总线加锁的手段。CPU ...
很早就听说tomcat6使用nio了,这几天突然想到一个问题,使用nio代替传统的bio,ThreadLocal岂不是会存在冲突?      首先,何谓nio?      如果读者有socket的编程基础,应该会接触过堵塞socket和非堵塞socket,堵塞socket就是在accept、read、write等IO操作的的时候,如果没有可用符合条件的资源,不马上返回,一直等待直到有资源为止。而非堵塞socket则是在执行select的时候,当没有资源的时候堵塞,当有符合资源的时候,返回一个信号,然后程序就可以执行accept、read、write等操作,这个时候,这些操作是马上完成,并且马上返 ...
代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。 真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。(参见文献1) 以下以《Java与模式》中的示例为例:
转载自:http://hi.baidu.com/cnrjm/blog/item/5d217e54ff863550564e00b9.html   四种进程或线程同步互斥的控制方法     1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。   2、互斥量:为协调共同对 ...
当我们使用创建一条线程时,是否有问题呢?   ServerSocket socket = new ServerSocket(); while(true){ Socket s = socket.accept();//接受到socket请求后,创建一条线程进行操作 new Thread(s).start(); }   代码没问题,但在并发量大,问题就出现了。   100个连接启动100条线程,1000000个连接能启动如此多线程吗?     没有开发过大并发的项目,对此没考虑过。今天一个同事问,才有所体会。建立一定数量的线程池,进行处理   int nTh ...
GWT hotye.com 好易自助终端     经过1年多来反反复复改版、业务需求逻辑不断变化,广州最大自助终端好易,其网站hotye.com定版3.1,hotye网站由java gwt开发。开发人员3-6名。   没有听过gwt? gwt是什么? 以下为你浅析gwt以及hotye.com     ...
本文转自:http://hi.baidu.com/lkdlhw_2000/blog/item/c28a044a7ddeab2208f7ef41.html 以下内容参见了如下网址: 1、http://blog.csdn.net/ngqzmjmj/archive/2005/04/27/365149.aspx 2、http://blog.csdn.net/pbnow/archive/2006/04/25/677253.aspx 3、http://blog.csdn.net/petercheng456/archive/2005/08/02/444427.aspx 讲到Hash ...
出处:http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html   JVM是Java程序的运行环境,因此对于JVM的掌握有助于理解Java程序的执行以及编写,尤其是运行时碰到的一些诡异问题,那么怎么样能考察自己对于JVM关键知识点的掌握情况 ...
java多线程,何时使用notify(),何时使用wait(),怎么使用synchronized 答: 0.ThreadLocal是为了保证各个线程间数据安全的,我们不需要任何同步代码,却能够保证我们线程间数据的安全。 1.使用synchronized 则根据锁进行同步,或是同步方法同步 2.在本线程执行完成逻辑后,调用notify通知其他线程准备执行 3.调用wait方法,将自己释放锁   以下是简单代码: public class ThreadTest implements Runnable { public ThreadTest() { TestThread t ...
内存模型 (memory model)内存模型描述的是程序中各变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节.不同平台间的处理器架构将直接影响内存模型的结构.在C或C++中, 可以利用不同操作平台下的内存模型来编写并发程序. 但是, 这带给开发人员的是, 更高的学习成本.相比之下, java利用了自身虚拟机的优势, 使内存模型不束缚于具体的处理器架构, 真正实现了跨平台.(针对hotspot jvm, jrockit等不同的jvm, 内存模型也会不相同)内存模型的特征:a, Visibility 可视性 (多核,多线程间数据的共 ...
本文关键:   1.什么是JMM: Java的内存模型JMM(Java Memory Model)JMM主要是为了规定了线程和内存之间的一些关系。根据JMM的设计,系统存在一个主内存(Main Memory),Java中所有实例变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Working Memory),工作内存由缓存和堆栈两部分组成,缓存中保存的是主存中变量的拷贝,缓存可能并不总和主存同步,也就是缓存中变量的修改可能没有立刻写到主存中;堆栈中保存的是线程的局部变量,线程之间无法相互直接访问堆栈中的变量。   2.servlet是多线程访问的,不要使用实例变量,改为局部 ...
本文出自:http://www.iteye.com/topic/146 相关文章:   关于java.exe如何load JVM 启动eclipse后自动退出 Windows 上使用 GCJ+SWT 开发 native GUI 应用 推荐圈子: D语言 更多相关推荐 概念比较: Java C# byte code IL(字节码,中间语言) jvm.dl ...
 介绍Java GC种类,并更换 调优GC 转载自:http://blog.csdn.net/roland101/archive/2008/03/21/2203461.aspx <noscript></noscript>       调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的 ...
Global site tag (gtag.js) - Google Analytics