new 对象如何不分配在堆而是栈上

堆是由所有线程共享的,必须采取必要的同步,所以当使用new关键字在堆上分配对象时,不免影响效率。

那么有什么办法让对象如何不分配在堆而是栈上吗?

#阿里巴巴##腾讯##百度##蘑菇街##Java工程师##安卓工程师#
全部评论
预先分配多个对象的空间,比方说你要栈上就用数组这样咯。然后重载new为你希望的行为。跟内存池一个概念吧。 另外头像是本人吗?是的话加我qq我给你细细道来。~。~
5 回复 分享
发布于 2016-11-02 13:07
重载operator new,不用malloc
点赞 回复 分享
发布于 2016-11-02 13:04
java虚拟机会进行逃逸分析,如果是在方法内声明的变量可能会分配到栈上,提高效率
点赞 回复 分享
发布于 2016-11-02 13:51
new的时候都会在堆上,只是栈上会存该对象的地址,不然这个对象的空间没法进行GC
点赞 回复 分享
发布于 2016-11-03 08:37
1.在方法内部new对象,2。逃逸分析
点赞 回复 分享
发布于 2016-11-03 09:05
new有三种,new operator,operator new,placement new.
点赞 回复 分享
发布于 2016-11-03 10:31
java里,程序员是做不到的;通过逃逸分析虚拟机会把不共享的对象放在栈上,但是程序员无法干涉。
点赞 回复 分享
发布于 2016-11-03 10:03

相关推荐

冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务