Java
羽翼苍穹
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java初始化次序
package com.jacky.study.javainit; public class Parent { static Tipout tipout = new Tipout("父类 static 成员 tipout 初始化"); Tipout tip = new Tipout("父类 成员 tip 初始化"); long timeout = 1000; public Parent原创 2013-03-13 18:48:08 · 817 阅读 · 0 评论 -
假如在构造方法中打开了资源,应该在何处清理和回收资源?
假如在构造方法中打开了资源,应该在何处清理和回收资源? 作为一个程序员,你在编码的时候,应该时刻询问自己“如果异常发生了,所有东西能被正确的清理吗?”。 如下面的例子,在构造方法中打开了资源,是否能在构造器中加上try-catch模块,在finally中回收资源呢? //: exceptions/InputFile.java // Paying attention to exceptio原创 2014-02-27 14:25:35 · 884 阅读 · 0 评论 -
Java的异常丢失
Java的异常丢失 在某些特殊的方式使用finally子句时,会导致异常的丢失。如: //: exceptions/LostMessage.java // How an exception can be lost. class VeryImportantException extends Exception { public String toString() { return原创 2014-02-27 14:14:18 · 1191 阅读 · 0 评论 -
为什么不该将类的finalize()方法作为通用的清理方法?
为什么不该将类的finalize()方法作为通用的清理方法? Java允许在类中定义一个名为finalize()的方法。一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。 所以,尽量不在finalize()方法中写清理回收资源的逻辑,例如关闭数据库连接、关闭打开的文件流等,因为你不知道什么时候垃圾回原创 2014-02-27 14:06:48 · 1156 阅读 · 0 评论 -
System.out与System.err的区别
System.out与System.err的区别 关键的几点: System.out输出也许会重定向,而使用System.err会将错误发送给标准错误流,不会被重定向,这样更容易被用户注意。 标准输出往往是带缓存的,而标准出错没有缓存(默认设置,可以改)。所以如果你用标准出错打印出来的东西可以马上显示在屏幕,而标准输出打印出来的东西可能要再积累几个字符才能一起打印出来。 TestM原创 2014-02-27 13:56:27 · 2531 阅读 · 0 评论 -
关于java异常处理的一套面试题
关于Java异常处理的一个面试题 自己设计的一套关于Java异常处理的面试题。 1.System.out与System.err的区别? 2.描述一下final finally finalize的区别? 3.为什么不该将类的finalize()方法作为通用的清理方法? 4.为什么尽量不在finally块中使用return? 5.Java的异常匹配机制是什么? 在我的其它文章原创 2014-02-27 13:48:02 · 1129 阅读 · 0 评论 -
Java的异常匹配机制
Java的异常匹配机制 异常处理系统会按照代码的书写顺序匹配“最近”的处理程序,找到匹配的异常处理后,它就认为异常得到了处理,然后就不再继续查找。 package com.jacky.study.exception; import java.io.IOException; /** * 异常处理系统会按照代码的书写顺序匹配“最近”的处理程序,找到匹配的异常处理后,它就认为异常得原创 2014-02-27 14:17:20 · 1398 阅读 · 0 评论 -
java中的==和equals()和hashCode()
一、== 除java的基本类型以外,==用来判断两个对象的地址值是否相同。如 String a = new String("abc"); String b = "abc"; String c = "abc"; String d = new String("abc"); System.out.println(a.hashCode()); System.out.prin原创 2013-06-05 18:48:06 · 992 阅读 · 0 评论 -
JNI java native方法
在查看java Object类的hashCode方法时,发现里面有几个native方法(本地方法),在网上查了查,记录一下。 public class Object { private static native void registerNatives(); public final native Class getClass(); public native int hash原创 2013-06-05 16:36:10 · 1255 阅读 · 0 评论 -
Java几款性能分析工具的对比
Java几款性能分析工具的对比 在给客户进行应用程序维护的过程中,我注意到一些关于高负载条件下的性能问题。理论上,增加对应用程序的负载会使性能有所下降,但是我认为性能下降的比率远远高于负载的增加,同时我也发现,性能可以通过改变应用程序的逻辑来提升。为了更详细地了解这一点,我们需要做一些性能分析,这时,我们自然就要用到一些性能分析工具。Java有许多的性能分析工具,可以帮助我们弄清楚这个问题,原创 2013-01-29 15:59:20 · 448 阅读 · 0 评论 -
Java编程中“为了性能”需做的26件事…
Java编程中“为了性能”需做的26件事 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是原创 2013-01-29 15:59:23 · 633 阅读 · 0 评论 -
在toString()方法中不要单独使用this关键字,否则会产生递归调用
在toString()方法中不要单独使用this关键字,否则会产生递归调用 编译器看到String后面跟着一个“+”,而再后面的对象不是String时,于是编译器试着将这个对象转换成String类型(调用该对象的toString()方法),所以当后面跟的是this关键字时,编译器调用this的toString(),于是就发生了递归调用。 如 package com.jacky.study原创 2014-02-27 14:33:17 · 1667 阅读 · 0 评论
分享