我使用下面的查询,它有句柄,但是即使我删除/不删除句柄的对象,也不会发生任何事情。但是每个人都说总是最终删除对象。我们为什么要删除它们?如果我们不删除它们会怎么样?我们怎么看得出来?
finally:
if valid-handle(hQueryTest) then delete object hQueryTest no-error.
if valid-handle(hQuerytestvalue) then delete object hQuerytestvalue no-error.
end finally.
我编写了一个实体帮助器类,通常我会使用类似的东西
private CVSystemEntities db;
public EntityHelper()
{
db = new CVSystemEntities();
}
public IQueryable<Members> GetMembersForRole(Role role)
{
if (!RoleExists(role))
throw new ArgumentException(MissingRole);
return
如我所知,如果int变量(值类型)直接在类(引用类型)中声明,则在堆上分配的变量的内存。
但是,如果类中有一个方法,并且变量是在方法中声明的,或者是一个参数,则在堆栈上分配的内存。
public class A
{
int x; // heap
public void Func(int y) // stack
{
int z; // stack
}
}
我怎么看,内存分配在哪里?
我在我的应用程序中使用了jsp-servlet。并将war部署在JBoss AS 7.0.2服务器上。我有一个servlet,它在秒内被调用了很多次(比如500次)。我想是这样的,这个线程不会被服务器处理。服务器抛出异常。
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Unknown Source)
此外,我还添加了最大堆内存,并将其设置为1024。但它对我不起
因此,我有一个资源有限的服务器。(3 3Gb内存)我需要知道的是,使用这个是不是更好
List<Object> list = new ArrayList<Object>();
void init(){
list = loadListFromDatabase
}
并在需要时添加或删除列表,或者,当我需要对象时,每次访问它时从数据库中加载它?