请教一个问题 在class里定义的一个变量,若全局没被用到,会在编译时被优化移除掉吗?如果这个变量是static的呢?如果再加public的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你的变量是在class类中方法外面,就是所谓的全局变量的话,他的生命周期跟static静态变量一样,都是程序结束了才销毁,如果是方法体内定义的变量,程序只要走出变量所在的方法,变量就会销毁,不管你有没有定义public修饰符 都是一样 你好,我问的不是变量的生命周期,而是说这个变量没有被使用到的话,会不会在编译后,被编译器优化算法给移掉?恩,我上面已经说了,如果是全局变量的话只要创建了,程序结束了才销毁(意思就是说不管你使用还是不适用这个对象他还是存在的,除非程序结束了他才销毁)这不需要程序运行啊,所以无关乎创建销毁。我只是想知道编译后的结果。即反编译后那些没使用到的变量还在不在。我自己测试出来了。1)对所有属于class的变量不做优化移除,即使它没有被使用时。2)对所有属于method内部的变量优化后移除,如果它没有被使用时。测试环境是jdk1.6 你好,我问的不是变量的生命周期,而是说这个变量没有被使用到的话,会不会在编译后,被编译器优化算法给移掉?恩,我上面已经说了,如果是全局变量的话只要创建了,程序结束了才销毁(意思就是说不管你使用还是不适用这个对象他还是存在的,除非程序结束了他才销毁)这不需要程序运行啊,所以无关乎创建销毁。我只是想知道编译后的结果。即反编译后那些没使用到的变量还在不在。我自己测试出来了。1)对所有属于class的变量不做优化移除,即使它没有被使用时。2)对所有属于method内部的变量优化后移除,如果它没有被使用时。测试环境是jdk1.6哦,你是说编译后,还没程序运行,这个在内存应该是不存在的,但是如果你保存的话,会保存在.java文件中,但你说的优化移除我就不懂了!! 编译期的Annotation 用java打印名片形式的卡片,分横版和竖版,一张A4纸上可打印9张,怎么实现 有谁可以帮我写这个原码啊?跪求~~ 单态设计 求教一个多路归并算法 int类型的数据在前面加上0x和不加有什么区别吗? 帮我看看下面这段代码,好像出现死锁了 有关java继承的一个最基础的问题,变量问题 Apollo.在这里 请教 java可以连接Sql Server2000么?该怎么写呢????谢谢 SWT中浏览器对象怎么使用相对路径显示本地html页面? merge into 变量绑定问题
我自己测试出来了。
1)对所有属于class的变量不做优化移除,即使它没有被使用时。
2)对所有属于method内部的变量优化后移除,如果它没有被使用时。
测试环境是jdk1.6
你好,我问的不是变量的生命周期,而是说这个变量没有被使用到的话,会不会在编译后,被编译器优化算法给移掉?恩,我上面已经说了,如果是全局变量的话只要创建了,程序结束了才销毁(意思就是说不管你使用还是不适用这个对象他还是存在的,除非程序结束了他才销毁)这不需要程序运行啊,所以无关乎创建销毁。我只是想知道编译后的结果。即反编译后那些没使用到的变量还在不在。
我自己测试出来了。
1)对所有属于class的变量不做优化移除,即使它没有被使用时。
2)对所有属于method内部的变量优化后移除,如果它没有被使用时。
测试环境是jdk1.6
哦,你是说编译后,还没程序运行,这个在内存应该是不存在的,但是如果你保存的话,会保存在.java文件中,但你说的优化移除我就不懂了!!