1、多线程基础
线程通信,是指线程之间以何种机制来交换信息。其中通信的机制有两种:内存共享和消息传递。内存共享是指线程之间通过写-读内存中的公共状态隐式进行通讯(Java);消息传递在线程之间没有公共状态,线程之间必须明确通过发送消息来显式进行通讯(Erlang)。
同步是指程序用于控制不同线程.....
分类:
编程语言 时间:
2014-06-05 19:05:36
阅读次数:
398
JVM的内存区域划分
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?
由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分...
分类:
其他好文 时间:
2014-06-04 21:44:47
阅读次数:
325
java 中的内存分为四个部分:stack(栈),heap(堆),data segment, codesegment。
stack(栈):存放基本类型的数据和对象的引用,即存放局部变量。
heap(堆)存放 new 出来的东西。
data segment(数据区):分为静态区和常量区(常量池):
静态区(static segment):存放在对象中用 static 定义的静态成员(即静态变量,如果该静态变量是基本类型变量,则将变量名和值都存入静态区中,如果是引用类型则指向 new 出来的对象。
...
分类:
编程语言 时间:
2014-06-01 15:09:19
阅读次数:
348
链接:http://blog.csdn.net/chana1101/article/details/5632393
分类:
编程语言 时间:
2014-05-26 09:31:31
阅读次数:
226
jvm性能调优的目地:1)控制jvm的堆栈大小。比如当你的程序年轻代对象在某个时间段产生的比较多的时候,就需要控制年轻代的堆大小。同时还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,但是它也是会消耗系统性能的,因此要根据运行程序的特点来更改GC行为。3)控制jvm线程的内存分配。如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的。堆大小设置-Xms 初始堆...
分类:
其他好文 时间:
2014-05-25 18:22:43
阅读次数:
272
/*
* 这里我是利用分析java内存模型的方法来猜想javascript的内存模型,
* 由于没有看到国内有关于分析javascript的书籍,但是可以借鉴java的
* 内存模型结构来帮助理解javascript的内存模型中的原型机制,下面先
* 给出一个简单的原型例子
* */
"use strict";
function PrototypeModel(name,author...
分类:
编程语言 时间:
2014-05-24 17:18:39
阅读次数:
322
修改common.py把 -Xmx4096m 中的 4096改成2048具体做法:1.
patchrom目录下搜索文件common.py 2.文档中搜索-Xmx4096m 3.-Xmx4096m 改为 -Xmx2048m
分类:
编程语言 时间:
2014-05-24 09:48:41
阅读次数:
252
定期为大家更新《深入理解Java虚拟机》这本书的读书笔记,都是干货喔!...
分类:
编程语言 时间:
2014-05-22 18:44:55
阅读次数:
337
#Java内存区域与内存溢出异常##运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存区域划分为若干个不同的数据区域。###1
程序计数器--Program Counter Register一块较小的内存空间,作用可视为当前线程所执行的字节码的行号指示器,没个线程有自己独立的程...
分类:
编程语言 时间:
2014-05-21 22:50:53
阅读次数:
377
如题,我这里简单说下我现在离线分析java内存的方式,所谓离线,就是需要
dump出正在运行的java系统中的一些运行时堆栈数据,然后拿到线下来分析,分析可以包括内存,线程,GC等等,同时不会对正在运行的生产环境的机器
造成很大的影响,对应着离线分析,当然是在线分析了,这..
分类:
编程语言 时间:
2014-05-21 13:06:20
阅读次数:
426