2013年9月8日
摘要: JAVA中的每个对象都可以用作一个实现同步的锁,这种称为内置锁,内置锁是可重入的,因此如果某个线程试图获取一个已经由它自己持有的锁,那么这个请求就会成功。 重入的实现方法是,为每个锁关联一个获取计数值和一个所有者线程,当计数值为0,这个锁就是开放的,当线程请求该锁时,JVM将记下锁的持有者,并且将计数值+1,如果同一个线程再次回去该锁,计数值继续+1,通过计数值可以看出重入的次数,计数值为0,则表示锁已经释放。 看一个重入锁的实例: class Father { public synchronized void doSth(){ System.out.println("Father 阅读全文
posted @ 2013-09-08 16:02 挖掘者者者 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一些机构想隐藏DNS名,不让外界知道。许多专家认为隐藏DNS名没有什么价值,但是,如果站点或企业的政策强制要求隐藏域名,它也不失为一种已知可行的办法。你可能必须隐藏域名的另一条理由是你的内部网络上是否有非标准的寻址方案。不要自欺欺人的认为,如果隐藏了你的DNS名,在攻击者打入你的防火墙时,会给攻击者增加困难。有关你的网络的信息可以很容易地从网络层获得。假如你有兴趣证实这点的话,不妨在LAN上“ping”一下子网广播地址,然后再执行“arp -a”。还需要说明的是,隐藏DNS中的域名不能解决从邮件头、新闻文章等中“泄露”主机名的问题。 这种方法是许多方法中的一个,它对于希望向Interne... 阅读全文
posted @ 2013-09-08 15:07 挖掘者者者 阅读(321) 评论(0) 推荐(0) 编辑
摘要: ·HashCode就是根据对象存储在内存的地址计算出的一个值。这个值可以标识这个对象的位置。也可以对比两个引用变量是否指向同一个对象。 ·String重写了hashCode方法--改为根据字符序列计算hashCode值,所以String通过String new("String")方式创建的两个相同字符串内容的对象他们的hashcode相同。 ·要想获取正确的hashcode,需要使用System.identityHashCode() 方法 例子:摘自某书籍 public class IdentityHashCodeTest { public s 阅读全文
posted @ 2013-09-08 14:30 挖掘者者者 阅读(162) 评论(0) 推荐(0) 编辑