你真的知道Java中boolean类型占用多少个字节吗?
摘要:为什么要问这个问题,首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这个类型,boolean类型在编译后会使用其他数据类型来表示,那boolean类型究竟占用多少个字节?
阅读全文
理解java的三大特性之多态
摘要:面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什
阅读全文
构造方法是静态还是非静态?
摘要:因为静态方法可以在未创建对象时调用,从这个角度看,构造方法在对象未创建时调用,可以看作是静态方法。但从另一个方面来看,静态方法不能调用实例方法,而构造方法可以调用实例方法,所以构造方法也不算是静态方法所以说,这种问题还是留给理论家们去研究吧
阅读全文
java 中类初始化,构造方法,静态成员变量,静态块的加载顺序
摘要:1、编译和运行概念要搞清:编译即javac的过程,负责将.java文件compile成.class文件,主要是类型、格式检查与编译成字节码文件,而加载是指java *的过程,将.class文件加载到内存中去解释执行,即运行的时候才会有加载一说。 2、类的加载时机,肯定是在运行时,但并不是一次性全部加
阅读全文
JDK源码解析---HashMap源码解析
摘要:HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMa
阅读全文
static final与final修饰的常量有什么不同
摘要:最近重头开始看基础的书,对一些基础的概念又有了一些新的理解,特此记录一下 static final修饰的常量: 静态常量(static修饰的全部为静态的),编译器常量,编译时就确定其值(java代码经过编译器把.java源文件编译成.class字节码文件.经过jvm解释成机器码) 存放于方法区的静态
阅读全文
抽象方法为什么不能被private与static修饰
摘要:private private访问修饰符修饰的方法只能在本类当中使用.所以,必然不能用private去修饰抽象方法.抽象方法一定是要被子类去重写的. static Java中用static修饰符修饰的方法为静态方法,下面讲一下static修饰的方法的用法以及特点.Java中static修饰的方法属于
阅读全文