摘要: JVM在执行java程序时会将它所管理的内存划分成若干个不同的数据区域。如图所示: 其中方法区和堆是所有线程共享的数据区,其他区域则是线程隔离的数据区。 这些区域的功能各有不同: 程序计数器:可以理解为当前线程所执行的字节码的行号知识器。字节码解释器工作时会通过改变这个计数器的值来选取下一条需要执行 阅读全文
posted @ 2016-03-07 22:30 moonandstar08 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 1. 多进程或多线程模型 多进程服务器:Apache,Nginx,lighttpd等服务器均为多进程模型,分为Master进程和Woker进程 多进程的优点:更强的容错性 - 一个进程挂掉不会导致整个系统崩溃,更好的多核可伸缩性 - 进程的使用将许多内核资源(如地址空间,页表,打开的文件)隔离,在多 阅读全文
posted @ 2016-03-07 22:18 moonandstar08 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 1. 服务异步化 网络IO处理异步化(NIO, Jetty Continuation,Servlet 3) 服务的异步化(Future, Callable, Runnable, Callback) 2. 线程与协程 多线程并发或者协程支持并发,相比而言,协程在处理IO密集型更具优势 3. 缓存无处不 阅读全文
posted @ 2016-03-07 22:17 moonandstar08 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 一般OOM可能情况如下: 1、OutOfMemoryError: Java heap space; 2、OutOfMemoryError: PermGen space; 3、OutOfMemoryError: unable to create new native thread 4、GC overh 阅读全文
posted @ 2016-03-07 22:12 moonandstar08 阅读(1238) 评论(0) 推荐(0) 编辑