本帖最后由 Inflexible_lin 于 2013-01-15 09:53:29 编辑

解决方案 »

  1.   

    我个人也习惯用红色部分,毕竟少了很多次的申请空间,入栈和出栈的操作不过,自己在编程的时候要注意不让上一次的结果影响到下一次循环比如上一次 a = 3, 当下一次循环在给a赋值的时候出了错误,而你捕获了错误缺没修正a的值,程序继续执行,那么这时候a=3还成立,可能就会有问题了,如果是每次都定义,那就不存在这样的问题。
      

  2.   

    仅是作用域不一样,栈中的空间在编译这个代码的时候大小就确定下来了,运行这个方法时空间就已经分配好了,不要想当然的以为声明一次就要分配一次空间,那是c语言,java可以重用这些超出作用域的空间只要用javap查看方法字节码,看看使用的局部变量表的大小和使用方式即知
      

  3.   

    java这种基于虚拟机的语言,是跟单纯的C不同,C语言的原则是相信程序员能做好一切,因此它不会帮你做多少事情,需要考虑代码优化,内存占用等。而java中的原则就是:要写好的代码而不是快的代码
      

  4.   

    java有垃圾回收的,一般情况下不用关注这个,除非有大量的缓存存在,需要考虑管理缓存,不让堆空间过大。。