java中循环外定义变量与循环内定义变量占用内存与效率问题? 本帖最后由 Inflexible_lin 于 2013-01-15 09:53:29 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我个人也习惯用红色部分,毕竟少了很多次的申请空间,入栈和出栈的操作不过,自己在编程的时候要注意不让上一次的结果影响到下一次循环比如上一次 a = 3, 当下一次循环在给a赋值的时候出了错误,而你捕获了错误缺没修正a的值,程序继续执行,那么这时候a=3还成立,可能就会有问题了,如果是每次都定义,那就不存在这样的问题。 仅是作用域不一样,栈中的空间在编译这个代码的时候大小就确定下来了,运行这个方法时空间就已经分配好了,不要想当然的以为声明一次就要分配一次空间,那是c语言,java可以重用这些超出作用域的空间只要用javap查看方法字节码,看看使用的局部变量表的大小和使用方式即知 java这种基于虚拟机的语言,是跟单纯的C不同,C语言的原则是相信程序员能做好一切,因此它不会帮你做多少事情,需要考虑代码优化,内存占用等。而java中的原则就是:要写好的代码而不是快的代码 java有垃圾回收的,一般情况下不用关注这个,除非有大量的缓存存在,需要考虑管理缓存,不让堆空间过大。。 明明在hashMap存入三项,怎么size只有一项? 用javac编译程序的时候出现不能识别SQLProxy代码的问题是怎么回事 java 递归问题 eclipse 3.2 中如何安装SWT DESIGNER 初学者问题:java IO部分迷糊,二进制文件和文本文件有什么区别。在程序中处理上有什么不同 请高手指点菜鸟!! 高手请进!!!请问要用Java打印一些东西,需要怎么做? Java继承情况下其初始化和构造函数运行机制问题 到我的论坛看看吧,我一定尽力回答大家问题albert.mycool.net 200分求救! 高手在吗?求助下这个非常简单的程序 Java 如何获取多个网卡IP地址?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货