论坛首页 Java企业应用论坛

java内存的划分与管理???

浏览 4035 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-18   最后修改:2010-04-19
本人在学学习java时,常出现的疑惑?(网上搜索到的讲的太笼统了,没有实际作用)

1.java的划分是怎样的?或者划分为哪几块?除了堆,栈,寄存器还有什么??

例如:
       
  
           java的变量(成员变量,临时变量,形参)是放在哪里?

           java的方法(本地方法和远程方法)是放在哪里?

           java基本数据类型的变量,String变量,new出来的变量和引用变量是放在哪里?

           java的static是放在哪里?

           java的常量是放在哪里? 

           java的固定对象与临时对象是如何区别,他们的内存是如何区分?

           java的gc是显示使用还是让jvm自动调用?

           对于jvm,有没有优化功能?比如 -Xms -Xmx 应如何指定呢? 


希望知道的高手和大牛人能帮偶这类菜鸟详细的指点下(最好图文一起那就更好了),先谢谢哦。
   发表时间:2007-04-18  
你真想知道就去看书
先去看接口,再去看编译原理,再看有关JVM的书
通天节径是没有的
0 请登录后投票
   发表时间:2007-08-25  
抛出异常的爱 写道
你真想知道就去看书
先去看接口,再去看编译原理,再看有关JVM的书
通天节径是没有的


那要论坛干什么?
0 请登录后投票
   发表时间:2007-08-25  

saturn 写道:

本人在学学习java时,常出现的疑惑?(网上搜索到的讲的太笼统了,没有实际作用)

1.java的划分是怎样的?或者划分为哪几块?除了堆,栈,寄存器还有什么??

例如:java的变量(成员变量,临时变量,形参)是放在哪里?

           java的方法(本地方法和远程方法)是放在哪里?

           java基本数据类型的变量,string变量,new出来的变量和引用变量是放在哪里?

           java的static是放在哪里?

           java的常量是放在哪里?

           java的固定对象与临时对象是如何区别,他们的内存是如何区分?

           java的gc是显示使用还是让jvm自动调用?

           对于jvm,有没有优化功能?比如 -Xms -Xmx 应如何指定呢? 

希望知道的高手和大牛人能帮偶这类菜鸟详细的指点下(最好图文一起那就更好了),先谢谢哦。



这些问题高手不是信手拿来的么?为什么没人来回答呢?
能提出这些问题的人本身水平就不差了呀!

为什么没人来讨论呢?

我了解如下:

JVM内存管理分成三个部分,young,old,permanent

string是static的,但保存在堆里,栈里保存引用,如果String s = "str",那么先去查看有没有str这个String,因为String都是static的,可以全局共享,如果找不到就就调用new String("str");

所有加载,新创建的对象都保存在young区,如果young区满了就调用第二个GC,把对象移到old区。
gc 是JVM自动调用,也可以显示定义,但runtime.gc与system.gc的区别不知道...

-Xms指定最小堆内存,-Xmx指定最大堆内存,WEB应用建议-Xms=-Xmx
-Xss指定栈的内存,一般没必要指定。因为单个进程的栈内存一般限制在1M

-xmn指定yong区的内存,一般为-Xmx的1/2,大内存比重可以加大点



0 请登录后投票
   发表时间:2007-08-25  
JAVA编程思想里面讲了一些,不过没有你要的全部,感觉这些应该看看JVM实现原理啊
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics