易截截图软件、单文件、免安装、纯绿色、仅160KB

java 栈与堆 今天真是学习了!!

出处:来源于CSDN ZangXT大虾对某篇关于java中栈与堆的文章的回复
大体分析一下
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
//栈都是由运行环境来处理的,这点C++和java没有什么不同.对于堆,不过java多了个GC.
2.这里的堆和栈首先要明确是虚拟机栈,和寄存器根本不是一个级别的东西,就别比较了.
3.栈数据共享好像是作者自己创造的概念.而且给基本类型也引入了"引用"的概念,不知道出于何种打算.
java虚拟机规范中说:Primitive values do not share state with other primitive values. A variable whose type is a primitive type always holds a primitive value of that type.
看一下实际的处理情况:
      int a=3;
      int b=3;
      int c=65535;
      int d=65535;
      int e=32330;
      int f=32330;
看对应的虚拟机指令,可以知道变量里实际存储的是什么:
Code:
  0:        iconst_3  //3
  1:        istore_1
  2:        iconst_3  //3
  3:        istore_2
  4:        ldc        #2; //int 65535
  6:        istore_3
  7:        ldc        #2; //int 65535
  9:        istore        4
  11:        sipush        32330
  14:        istore        5
  16:        sipush        32330


相关文档:

JVM详解之Java垃圾回收机制详解和调优 (3)

 5.如何从JVM中获取信息来进行调整
  -verbose.gc开关可显示gc的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。打开- xx:+ printgcdetails开关,可以详细了解gc中的变化。打开-XX: + PrintGCTimeStamps开关,可以了解这些垃圾收集发生的时间,自jvm启动以后以 ......

Java多线程 生产者消费者问题 (2)

一个使用了队列的通用实现:
http://blog.csdn.net/chaosllgao/archive/2009/05/23/4211183.aspx
 此文描述了一种更简单的模型
 1. 同时只有1个生产者和1个消费者
 2. 不用队列,同时只有一个产品
 3. 生产者每次生产1个0到100之间的随机数,消费者则把该随机数打印出来。如果产生的随机数为0,则 ......

java内存设置

 解决栈和堆内存溢出办法要设置环境内存变量:
1、在运行界面(cmd进入)中运行命令:java -Xms256m -Xmx1024m,维护上下限内存参数,最大内存不能错过系统内存的1/4,最小内存不能小于最大内存的1/4
2、在Tommcat /bin路径下,如果是安装版需要service.bat文件,此文件在解压缩版里。
3、 在运行界面(cmd进入)中 ......

Java编程规范

 package的命名 package 的名字由全部小写的字母组成,例如:cn.mybole。
class和interface的命名 class和interface的名字由大写字母开头而其他字母都小写的单词组成,例如:Person,RuntimeException。
class变量的命名 变量的名字用一个小写字母开头,后面的单词用大写字母开头,例如:index,currentImage。
clas ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号