java如何在栈内存中分配数组?

wozuiqiangdeaoyi 2014-02-26 11:19:36
类似C++中
int iArray[] = {1,2,3};
这种,在C++中是在栈内存中的,但是java中则放到了堆内存里。如果在代码里这样写,那么每次执行都要动态分配内存,对性能影响太大,怎么优化?
...全文
260 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wozuiqiangdeaoyi 2014-02-26
  • 打赏
  • 举报
回复
引用 3 楼 yangfanacc 的回复:
你把对象的引用写在外面,作为一个变量,然后在里面更改方法里面更改它对应的堆内存中的对象就行了,没事的,垃圾回收器会自动回收的很好的,
方法是static方法,并且要线程安全。。
Adronfan 2014-02-26
  • 打赏
  • 举报
回复
你把对象的引用写在外面,作为一个变量,然后在里面更改方法里面更改它对应的堆内存中的对象就行了,没事的,垃圾回收器会自动回收的很好的,
wozuiqiangdeaoyi 2014-02-26
  • 打赏
  • 举报
回复
引用 1 楼 yangfanacc 的回复:
对于数组,对象是放在堆内存中的,对象的引用是放在栈内存中的,如果你循环定义的话,会在堆内存中有多个对象等待着垃圾回收器回收,不会像常量确认为一个之后不再赋新值。java的垃圾回收器很不错的,只要你不是循坏太多次,不要太担心的,要真是循环很多次了,建议你看看代码的更新,而不是考虑怎么优化了,
这个方法可能会被调用很多次
Adronfan 2014-02-26
  • 打赏
  • 举报
回复
对于数组,对象是放在堆内存中的,对象的引用是放在栈内存中的,如果你循环定义的话,会在堆内存中有多个对象等待着垃圾回收器回收,不会像常量确认为一个之后不再赋新值。java的垃圾回收器很不错的,只要你不是循坏太多次,不要太担心的,要真是循环很多次了,建议你看看代码的更新,而不是考虑怎么优化了,

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧