摘要:
探索equals()和hashCode()方法 在根类Object中,实现了equals()和hashCode()这两个方法,默认: equals()是对两个对象的地址值进行的比较(即比较引用是否相同),用==实现。 hashCode():计算出对象实例的哈希码。根类Object的hashCode( 阅读全文
摘要:
Java多线程编程核心技术 这本书有利于对Java多线程API的理解,但不容易从中总结规律。 JDK文档 1. Thread类 部分源码: 优先级 线程可以具有的最高优先级10 线程可以具有的最低优先级1 分配给线程的默认优先级5 常用方法 static Thread currentThread() 阅读全文
摘要:
线程的状态 首先贴出JDK6中线程的6种状态(注意:JDK8中的定义也没有变化) 线程的状态 新建(New) 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。此时还没有开始运行线程中的代码。 可运行(Runable) 一个新创建的线程并不自 阅读全文
摘要:
详解Java中的clone方法 参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201/ 所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,下面两种方式创建对象有什么区别呢? 阅读全文
摘要:
为什么String类是不可变的? String类 什么是 "不可变对象" 当满足以下条件时,对象才是不可变的: 对象创建以后其状态就不能修改。 "对象的所有域都是final类型的" 。 对象是正确创建的(在对象的创建期间,this引用没有逸出)。 这是《Java并发编程实战》一书中的定义。在书中,说 阅读全文
摘要:
深入理解final和static关键字 参考:http://blog.csdn.net/qq1028951741/article/details/53418852 final关键字 final关键字可以应用于类、方法以及变量。 final声明变量 final声明变量可以保证在构造器函数返回之前,这个 阅读全文
摘要:
彻底理解ThreadLocal 参考:http://www.iteye.com/topic/103804 http://www.iteye.com/topic/777716 源码分析 为了解释ThreadLocal类的工作原理,必须同时介绍与其工作甚密的其他几个类 ThreadLocalMap(内部 阅读全文
摘要:
反射消除String类对象的不可变特性 String属于不可变类,在JAVA中字符串一旦声明就不可改变,如果尝试修改字符串的内容,将会重新实例化一个新的字符串对象,这也是为了安全性和效率。 由于字符串在程序之中被大量使用,所以JAVA引入了一个字符串常量池,所有被声明的字符串都会保存在字符串常量池中 阅读全文
摘要:
多进程和多线程 定义 多进程 进程是资源分配的最小单位,线程是CPU调度的最小单位 。 进程 :经典定义是一个执行中的程序的实例。 进程与应用程序的区别 :程序是一堆代码和数据的集合,可以作为目标模块存在于磁盘,或作为段存在于地址空间中。进程是程序的一次具体执行过程,它是动态地创建和消亡的,具有一定 阅读全文
摘要:
深入理解计算机系统 参考:http://www.cnblogs.com/zy691357966/p/5548280.html 第6章 存储器层次结构 存储器系统 (memory system)是一个具有不同容量,成本和访问时间的存储设备的层次结构。 CPU寄存器保存着最常用的数据。靠近CPU的小的、 阅读全文