相关疑难解决方法(0)

finally块总是在Java中执行吗?

考虑到这一点的代码,我可以绝对肯定的是,finally块总是执行,不管something()是什么?

try {  
    something();  
    return success;  
}  
catch (Exception e) {   
    return failure;  
}  
finally {  
    System.out.println("I don't know if this will get printed out");
}
Run Code Online (Sandbox Code Playgroud)

java return try-catch-finally

2281
推荐指数
38
解决办法
48万
查看次数

如何计算方法在Java中的执行时间?

如何获得方法的执行时间?是否有Timer实用程序类用于计算任务需要多长时间等等?

Google上的大多数搜索会返回计划线程和任务的计时器的结果,这不是我想要的.

java timing

792
推荐指数
26
解决办法
65万
查看次数

在Java中,确定对象大小的最佳方法是什么?

例如,假设我有一个应用程序可以读取包含大量数据行的CSV文件.我根据数据类型向用户提供行数的摘要,但我想确保我不读取太多数据行并导致OutOfMemoryErrors.每行都转换为一个对象.有没有一种简单的方法可以通过编程方式找出该对象的大小?是否有一个引用定义了大型基元类型和对象引用的大小VM

现在,我的代码可以读取多达32,000行,但我还希望代码能够读取尽可能多的行,直到我使用了32MB的内存.也许这是一个不同的问题,但我仍然想知道.

java memory

592
推荐指数
15
解决办法
28万
查看次数

Java的System.exit()如何与try/catch/finally块一起使用?

我知道涉及在try/catch/finally块中返回的令人头痛的问题 - finally中的返回始终是方法的返回,即使try或catch块中的返回应该是执行的返回.

但是,同样适用于System.exit()?例如,如果我有一个try块:

try {
    //Code
    System.exit(0)
}
catch (Exception ex) {
    //Log the exception
}
finally {
    System.exit(1)
}
Run Code Online (Sandbox Code Playgroud)

如果没有异常,将调用哪个System.exit()?如果exit是return语句,则System.exit(1)行将始终(?)被调用.但是,我不确定退出的行为是否与返回不同.

代码处于极端情况下,即使不是不可能,也很难重现,因此我无法编写单元测试.我今天晚些时候会尝试进行一项实验,如果我得到一些免费的分钟,但我很好奇,也许有人知道答案,可以提供它,或者我无法运行实验.

java try-catch-finally system.exit

74
推荐指数
3
解决办法
9万
查看次数

运行时/已检查/未检查/错误/异常之间的差异

什么是运行时异常以及什么是已检查/未检查异常以及错误/异常之间的区别.为什么这么多类型?相反,Java可能只是遵循一个简单的设计(只是尝试/捕获所有类型)来处理程序中的异常情况?

java exception-handling exception runtimeexception checked-exceptions

23
推荐指数
2
解决办法
2万
查看次数

sizeof java对象

我们怎样才能找出java对象的大小?

例:

class Person{
    String name;  
    int age;  

    public Person(String n, int a){  
        name = n;  
        age = a;  
    }
}  

Person person = new Person("Andy", 30);  
Run Code Online (Sandbox Code Playgroud)

现在怎样才能知道人物对象的大小?

谢谢

java sizeof

5
推荐指数
1
解决办法
1万
查看次数