Redian新闻
>
Java Object 一定在 Heap 里吗
avatar
Java Object 一定在 Heap 里吗# Java - 爪哇娇娃
h*u
1
说来话长,还是2011年初的时候,因为宠版上某猫猫生病,大家筹款为猫治病,
我看着很感动,就想试着画幅猫猫的肖像为猫猫加油。没想到因此学会了宠物肖
像的新技能。后来也陆陆续续画了一些。
最近再画,都是2014了,转眼3年就过去了。。
再发几幅宠物小画吧,其实小时候特别怕动物,没想到有一天我能养狗啊,而且还那么
宝贝,写的小故事也是狗的,画的画里也经常有狗狗。。。
avatar
F*n
2
这是Java interview问烂的问题吧。
最近我发现这个问题可以翻出来再问问
不知道版上有多少人能答对:)
avatar
A*2
3
你画的宠物很赞,特别是那只小拉布拉多puppy,还是金毛?

【在 h******u 的大作中提到】
: 说来话长,还是2011年初的时候,因为宠版上某猫猫生病,大家筹款为猫治病,
: 我看着很感动,就想试着画幅猫猫的肖像为猫猫加油。没想到因此学会了宠物肖
: 像的新技能。后来也陆陆续续画了一些。
: 最近再画,都是2014了,转眼3年就过去了。。
: 再发几幅宠物小画吧,其实小时候特别怕动物,没想到有一天我能养狗啊,而且还那么
: 宝贝,写的小故事也是狗的,画的画里也经常有狗狗。。。

avatar
g*g
4
Yes.

【在 F****n 的大作中提到】
: 这是Java interview问烂的问题吧。
: 最近我发现这个问题可以翻出来再问问
: 不知道版上有多少人能答对:)

avatar
k*k
5
mitbbs应该加点点赞的功能。看完了想点赞,发现没有 -.-

【在 h******u 的大作中提到】
: 说来话长,还是2011年初的时候,因为宠版上某猫猫生病,大家筹款为猫治病,
: 我看着很感动,就想试着画幅猫猫的肖像为猫猫加油。没想到因此学会了宠物肖
: 像的新技能。后来也陆陆续续画了一些。
: 最近再画,都是2014了,转眼3年就过去了。。
: 再发几幅宠物小画吧,其实小时候特别怕动物,没想到有一天我能养狗啊,而且还那么
: 宝贝,写的小故事也是狗的,画的画里也经常有狗狗。。。

avatar
s*e
6
I doubt that a simple yes or no will be able to answer this question
correctly.
Java objects basically can be divided into class object and instance object.
All instance objects are saved in the heap. Even for a static member of a
class. In such a case, only the class variable will be in permgen. But all
class objects will be in permgen.
If my memory is correct, JMM spec mentions four types of memory space: stack
, heap, permgen and code cache.
avatar
h*u
7
谢谢AprilMM!
是拉布拉多哈,是我家小宝贝小时候。。嘿嘿~

【在 A********2 的大作中提到】
: 你画的宠物很赞,特别是那只小拉布拉多puppy,还是金毛?
avatar
z*3
8
如果我没有记错
static变量是放在方法区里面
跟类本身的生命周期共进退
不完全是heap区
avatar
h*u
9
哈哈~老邢说不跟风微博。。

【在 k******k 的大作中提到】
: mitbbs应该加点点赞的功能。看完了想点赞,发现没有 -.-
avatar
z*3
10
这个我狗了一下哈
发现permgen只有hotspot有实现
其它的jvm都没有实现,而且在逐步淘汰permgen
那方法区理论上已经算是heap的一部分来实现了
那笼统地可以认为都在heap里面
规范里叫做方法区的抽象区域,与“永久代”并不等价。只是在现在的Oracle (Sun)
HotSpot使用“永久代”来实现方法区而已。
服务器端主流的高性能JVM现在就三种,一个是HotSpot(其中Sun的原始版本用得最多
,由其衍生出来的Azul版与HP版也颇有应用;Apple的Mac OS上的JVM也是从Sun的版本
衍生出来的,不过拿Mac来做服务器的大概不多吧);一个是Oracle (BEA)的JRockit;
还有一个是IBM的JVM,现在主要在用的是J9。这之中,只有HotSpot是有PermGen的,而
JRockit与J9都没有;连Azul版HotSpot也经过改进早已去除了PermGen。概念上说这些
JVM都有符合规范的“方法区”,但并不一定要用PermGen来实现就是了。
甚至连Oracle (Sun)的HotSpot也实质性开始去除PermGen的工作了。请参考最近的
hotspot-dev邮件列表里的一封邮件:Request for review (XL) 6990754: Use native
memory and reference counting to implement SymbolTable
等JDK 7正式发布的时候,里面的HotSpot多半就已经没有PermGen了。

object.
stack

【在 s******e 的大作中提到】
: I doubt that a simple yes or no will be able to answer this question
: correctly.
: Java objects basically can be divided into class object and instance object.
: All instance objects are saved in the heap. Even for a static member of a
: class. In such a case, only the class variable will be in permgen. But all
: class objects will be in permgen.
: If my memory is correct, JMM spec mentions four types of memory space: stack
: , heap, permgen and code cache.

avatar
i*a
11
画的真好,好喜欢第一张里的狗狗啊。。。。

【在 h******u 的大作中提到】
: 说来话长,还是2011年初的时候,因为宠版上某猫猫生病,大家筹款为猫治病,
: 我看着很感动,就想试着画幅猫猫的肖像为猫猫加油。没想到因此学会了宠物肖
: 像的新技能。后来也陆陆续续画了一些。
: 最近再画,都是2014了,转眼3年就过去了。。
: 再发几幅宠物小画吧,其实小时候特别怕动物,没想到有一天我能养狗啊,而且还那么
: 宝贝,写的小故事也是狗的,画的画里也经常有狗狗。。。

avatar
z*3
12
这里面有几个小疑点
一个是方法区的实现是否在heap里面实现
还是额外滴在heap以外的地方实现
如果是在PermGen里面实现的话
就要看看static变量的主体是否在这个区里面
不过如果smectite说得是对的话
static变量其实只存引用在permgen里面
然后主体还是在heap里面
是不是这样理解?
这个是虚拟机的问题
avatar
m*y
13
栩栩如生。我觉得那种松软的毛发很难画的,技巧+耐心。还有第一张里狗狗脚下的竹
篮子也画得好逼真!
avatar
f*n
14
And what the hell is a "class object"?

object.
stack

【在 s******e 的大作中提到】
: I doubt that a simple yes or no will be able to answer this question
: correctly.
: Java objects basically can be divided into class object and instance object.
: All instance objects are saved in the heap. Even for a static member of a
: class. In such a case, only the class variable will be in permgen. But all
: class objects will be in permgen.
: If my memory is correct, JMM spec mentions four types of memory space: stack
: , heap, permgen and code cache.

avatar
h*u
15
谢谢伊伊~~~
那是一个朋友家的狗狗,我还抱过、和他玩过,会做很多口令,好聪明~

【在 i***a 的大作中提到】
: 画的真好,好喜欢第一张里的狗狗啊。。。。
avatar
F*n
16
Java 7 escape analysis
Objects only referenced by local variables are stored in stack instead of
heap.
avatar
h*u
17
photoshop里有毛发笔刷,就会省事很多了~~那个竹篮子是照着另一张照片画的 哈哈~

【在 m*********y 的大作中提到】
: 栩栩如生。我觉得那种松软的毛发很难画的,技巧+耐心。还有第一张里狗狗脚下的竹
: 篮子也画得好逼真!

avatar
z*3
18
The JDK 8 HotSpot JVM is now using native memory for the representation of
class metadata and is called Metaspace; similar to the Oracle JRockit and
IBM JVM's.
* UPDATE: PermGen space is official removed in Java 8 and replaced by
Metaspace.
avatar
i*a
19
嗯,好喜欢啊。。。好像抢过来摸摸呀。。。。 //run

【在 h******u 的大作中提到】
: 谢谢伊伊~~~
: 那是一个朋友家的狗狗,我还抱过、和他玩过,会做很多口令,好聪明~

avatar
z*3
20
PermGen从java8开始走入历史了
avatar
y*o
21
都带微表情还 哈哈
avatar
l*e
22
我看到奥大妈!!!

★ 发自iPhone App: ChineseWeb 8.6

【在 h******u 的大作中提到】
: 说来话长,还是2011年初的时候,因为宠版上某猫猫生病,大家筹款为猫治病,
: 我看着很感动,就想试着画幅猫猫的肖像为猫猫加油。没想到因此学会了宠物肖
: 像的新技能。后来也陆陆续续画了一些。
: 最近再画,都是2014了,转眼3年就过去了。。
: 再发几幅宠物小画吧,其实小时候特别怕动物,没想到有一天我能养狗啊,而且还那么
: 宝贝,写的小故事也是狗的,画的画里也经常有狗狗。。。

avatar
a*t
23
CG画?这毛发该花多少时间啊。。。我自己画CG这些都是最偷懒的部分。。。
avatar
h*u
24
嘿嘿 主要是照片照的可爱 可以顺着小小发挥一下~

【在 y********o 的大作中提到】
: 都带微表情还 哈哈
avatar
h*u
25
哈哈 认出来啦!

【在 l*****e 的大作中提到】
: 我看到奥大妈!!!
:
: ★ 发自iPhone App: ChineseWeb 8.6

avatar
h*u
26
有大小各种毛发笔刷啊,不用一根一根去画。不然要累shi!

【在 a*****t 的大作中提到】
: CG画?这毛发该花多少时间啊。。。我自己画CG这些都是最偷懒的部分。。。
avatar
t*z
27
太牛了啊!那些毛都是毛发笔刷画出来的吗?

【在 h******u 的大作中提到】
: 有大小各种毛发笔刷啊,不用一根一根去画。不然要累shi!
avatar
f*g
28
对,是用毛发笔刷画的~

【在 t***z 的大作中提到】
: 太牛了啊!那些毛都是毛发笔刷画出来的吗?
avatar
t*z
29
顺路请问一下,孔雀的屏那些羽毛应该怎么画啊?

【在 f**********g 的大作中提到】
: 对,是用毛发笔刷画的~
avatar
f*g
30
用同样的办法?
不过用毛发笔刷一个缺点是,画得会不够sharp,因为毛发笔刷都是一丛一丛的,层层
叠叠起来,有毛绒绒的感觉;但往往每一根却不够清晰。
如果孔雀屏的羽毛,我觉得,可以先用其他比较清晰犀利些的笔刷把各颜色先画好,然
后用毛发笔刷再轻轻刷一层(可以把opacity降低一些),这样可以既保留了各个颜色
的清晰,视觉上也会有绒绒的毛发感觉。

【在 t***z 的大作中提到】
: 顺路请问一下,孔雀的屏那些羽毛应该怎么画啊?
avatar
t*z
31
太赞了!等有时间我试验一下。多谢!

【在 f**********g 的大作中提到】
: 用同样的办法?
: 不过用毛发笔刷一个缺点是,画得会不够sharp,因为毛发笔刷都是一丛一丛的,层层
: 叠叠起来,有毛绒绒的感觉;但往往每一根却不够清晰。
: 如果孔雀屏的羽毛,我觉得,可以先用其他比较清晰犀利些的笔刷把各颜色先画好,然
: 后用毛发笔刷再轻轻刷一层(可以把opacity降低一些),这样可以既保留了各个颜色
: 的清晰,视觉上也会有绒绒的毛发感觉。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。