理解java的三大特性之多态
摘要:面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什
阅读全文
构造方法是静态还是非静态?
摘要:因为静态方法可以在未创建对象时调用,从这个角度看,构造方法在对象未创建时调用,可以看作是静态方法。但从另一个方面来看,静态方法不能调用实例方法,而构造方法可以调用实例方法,所以构造方法也不算是静态方法所以说,这种问题还是留给理论家们去研究吧
阅读全文
java 中类初始化,构造方法,静态成员变量,静态块的加载顺序
摘要:1、编译和运行概念要搞清:编译即javac的过程,负责将.java文件compile成.class文件,主要是类型、格式检查与编译成字节码文件,而加载是指java *的过程,将.class文件加载到内存中去解释执行,即运行的时候才会有加载一说。 2、类的加载时机,肯定是在运行时,但并不是一次性全部加
阅读全文
BlockingQueue(阻塞队列)详解
摘要:注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。 一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高
阅读全文
1.2理解---每个对象都有一个接口
摘要:对于这句话理解,举一个简单的例子。我想开灯,其中,灯是一个对象。它对外提供了一个方法,我们可以打开它,这个方法,就是一个接口。这句话也可以理解为,每个对象至少有一个接口,还有可能有多个接口(方法)。 上例中,类的名称和类型是Light,特定的Light类型对象的形成是lt,可以向Light对象发送的
阅读全文
JDK源码解析---HashMap源码解析
摘要:HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMa
阅读全文
第一条-创建和销毁对象
摘要:通常情况下我们会利用类的构造器对其进行实例化,这似乎毫无疑问。但“静态工厂方法”也需要引起我们的高度注意。 什么是“静态工厂方法”?这不同于设计模式中的工厂方法,我们可以理解它为“在一个类中用一个静态方法来返回这个类的实例”,例如: 它是一个“方法”,那么它不同于构造器,它可以随意修改方法名,这就带
阅读全文
Java中Volatile关键字详解
摘要:一、基本概念 先补充一下概念:Java 内存模型中的可见性、原子性和有序性。 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步
阅读全文