被这几个搞糊涂了?请高手明示, 我应该看哪些东西才能弄明白这些
解决方案 »
- 讨论,为什么很多人都不定义public变量? 而要另外写get,set函数来设置private变量的值
- 如何设置JComboBox下拉框高度
- 请大家帮忙写个方法,要求输入两个int a,b,然后计算a/b,输出百分数的形式,比如输入2和3,输入67,请问如何实现?
- java制作电子图章,如何画弧形的公司名称???
- SUN的网站上面下载不到Java(tm) Communication API 那位给发一个,马上结贴
- 下面的代码为什么不能使窗口居中显示呢?
- 在eclipse 字体问题
- (在这个地方问jbuilder问题对吗?)请会用jbuilder帮个忙吧?菜鸟在窗体上放了三个控件:database1,queryDataSet1,jdbTable1,可以将一
- 请教哪里有jrun下载?
- 关于比较接口Comparator的问题
- java 泛型 如何克隆?
- 重载问题?
自己加油哦
codesigment(代码区)就放其它的一些代码,我只能解释这么多,我也没有深究,楼主建议你去看一看马士兵的视频在第三章里面讲的很清楚的
codesigment(代码区)就放其它的一些代码,我只能解释这么多,我也没有深究,楼主建议你去看一看马士兵的视频在第三章里面讲的很清楚的
----------
视频只涉及到栈,堆,常量池但具体常量池在哪没说
如果你想搞清楚这些东西的作用,虚拟机规范文档里面有,但是这些只可以说是一种设计参照,具体要看jdk设计者如何去设计了。
虚拟机的规范文档可以在sun官方网站下到。
那些都是虚拟机规范中的内容,它们针对的对象不是java程序员,而是虚拟机设计者,你现在虚拟机规范还不知道以及这些东西的概念也不清楚就研究他们实在是不合适。
sun的官方有虚拟机规范文档下载,你可以去下载来看看,还有你所问的那些堆与栈的存放方式以及静态区与对象池如何实现等等,每个虚拟机都是不同的,规范文档并没有指明,而且虚拟机的内存实现是需要适应不同平台与机器的,例如在嵌入式设备中,内存限制很大,所以内存设计上会注重节约内存来牺牲运行速度,所以实现会把堆、栈以及对象池等等都放在同一段内存中,这样设计为了提高速度,又不得不使用类的静态连接而不用动态连接等等。如果在服务器中,jdk的内存很充裕,那么可以把各个内存存放都分开,都建立一套自己的存储空间以及存储方式,而且还可以多加一些附加内存来加快访问速度。对于平台限制也很大,不同平台对于内存的处理以及分配方式都不同,例如有的平台是低位在前的,有的平台又有可能是高位在前的,有的平台是多线程机制的,而有的平台是没有线程概念的多进程机制的等等。
由于java需要跨平台,所以虚拟机规范并没有规定楼主所提的那些东西要如何去实现,只是规定需要实现这些东西,所以你问他们是否单独存放以及存放在哪都是不合适的。如果你想研究他们的内存机制如何实现只能拿一个特列来研究,而这个特例也绝对不具有代表性。不过我推荐楼主还是去研究sun的官方的j2se的jdk吧,至少有这么个特例看似标准,但是那对你的实际用途并不大,因为当你把应用迁移到weblogic或者IBM的一些产品上面时会发现你研究的那一套内存方式完全没用了,因为那些JDK实现与SUN官方的实现截然不同了。
而且java语言设计的初衷就是要规避java对内存的访问,吧代码开发保护在一个安全的机制下(当然,完全逃避内存问题是不可能的),所以你只要知道如何做能够节约内存,学好普通的数据结构差不多够用了,至于虚拟机的内存机制如何,对实际用途不大。
那些东西是很重要,但是学习要循序渐进,你先记住有这么个东西,学好基础再去研究这些东西。
那些都是虚拟机规范中的内容,它们针对的对象不是java程序员,而是虚拟机设计者,你现在虚拟机规范还不知道以及这些东西的概念也不清楚就研究他们实在是不合适。
sun的官方有虚拟机规范文档下载,你可以去下载来看看,还有你所问的那些堆与栈的存放方式以及静态区与对象池如何实现等等,每个虚拟机都是不同的,规范文档并没有指明,而且虚拟机的内存实现是需要适应不同平台与机器的,例如在嵌入式设备中,内存限制很大,所以内存设计上会注重节约内存来牺牲运行速度,所以实现会把堆、栈以及对象池等等都放在同一段内存中,这样设计为了提高速度,又不得不使用类的静态连接而不用动态连接等等。如果在服务器中,jdk的内存很充裕,那么可以把各个内存存放都分开,都建立一套自己的存储空间以及存储方式,而且还可以多加一些附加内存来加快访问速度。对于平台限制也很大,不同平台对于内存的处理以及分配方式都不同,例如有的平台是低位在前的,有的平台又有可能是高位在前的,有的平台是多线程机制的,而有的平台是没有线程概念的多进程机制的等等。
由于java需要跨平台,所以虚拟机规范并没有规定楼主所提的那些东西要如何去实现,只是规定需要实现这些东西,所以你问他们是否单独存放以及存放在哪都是不合适的。如果你想研究他们的内存机制如何实现只能拿一个特列来研究,而这个特例也绝对不具有代表性。不过我推荐楼主还是去研究sun的官方的j2se的jdk吧,至少有这么个特例看似标准,但是那对你的实际用途并不大,因为当你把应用迁移到weblogic或者IBM的一些产品上面时会发现你研究的那一套内存方式完全没用了,因为那些JDK实现与SUN官方的实现截然不同了。
而且java语言设计的初衷就是要规避java对内存的访问,吧代码开发保护在一个安全的机制下(当然,完全逃避内存问题是不可能的),所以你只要知道如何做能够节约内存,学好普通的数据结构差不多够用了,至于虚拟机的内存机制如何,对实际用途不大。
-----------------
说的很中肯, 受教了,谢了呵