随笔分类 -  Java底层

从字节码开始的研究
摘要:先看收集了别人的文章,全面的了解下java的中断:中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中断请求,请使用Thread.currentThread().isInterrupted()方法(因为它将线程中断标示位设置为true后,不会立刻清除中断标示位,即不会将中断标 阅读全文
posted @ 2014-02-24 18:03 寂静沙滩 阅读(127122) 评论(14) 推荐(29)
摘要:Java中的数组其实也是一个对象,但是确实是一个特殊的对象,实在是太特殊了,继承自Object, 多出一个属性length,改写了clone方法。我debug了数组对象的运行时的Class对象,只有一个name属性,用[L开头,其他属性全是null。调用getDeclaredFields,getDeclaredMethods都没有数据。这就奇怪了,明明可以用的length属性在哪的呢stackoverflow上有简单的解释:Arrays are special objects in java, they have a simple attribute namedlengthwhich isfi 阅读全文
posted @ 2014-02-21 18:23 寂静沙滩 阅读(454) 评论(0) 推荐(0)
摘要:一个一直运行正常的应用突然无法运行了。在类库被更新之后,返回下面的错误。Exceptioninthread"main"java.lang.NoSuchMethodError:com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V atcom.nhn.service.UserService.add(UserService.java:14) atcom.nhn.service.UserService.main(UserService.java:19)应用的代码如下,而且它没有被改动过。// UserService.java … p 阅读全文
posted @ 2014-01-17 14:21 寂静沙滩 阅读(6503) 评论(0) 推荐(3)