循环内重复new对象来进行插入数据,怎样比较省内存和快。(高手来,初学者勿扰)

循环内重复new对象来进行插入数据,怎样比较省内存和快。(高手来,菜鸟勿扰)
第一种方法:

InvoiceNavInvoices invoice = null;
do
{
invoice = null;
invoice = new InvoiceNavInvoices();
                              ...
}while()

第二种方法:
do
{
InvoiceNavInvoices invoice = new InvoiceNavInvoices();
                                      ....
}while()
java 内存 gc

------解决方案--------------------
引用:
两种是有区别的,
第一种少了声明变量的开销,但是多了上下文切换的开销
第二种多了声明变量的开销,但是少了上下文切换的开销



这是不懂java之表现

局部变量在运行时是存在局部变量表的,而局部变量表的大小是在编译的时候就确定下来了,进入这个方法的时候就分配好了空间

像第二种,循环中的invoice是会重用的,javap一下class文件就知道
------解决方案--------------------
引用:
引用:两种是有区别的,
第一种少了声明变量的开销,但是多了上下文切换的开销
第二种多了声明变量的开销,但是少了上下文切换的开销


这是不懂java之表现

局部变量在运行时是存在局部变量表的,而局部变量表的大小是在编译的时候就确定下来了,进入这个方法的时候就分配好了空间

像第二种,循环中的invoice是会重用的,……

+1

方法所用变量在编译后就确定了,所以是会重用的。