摘要: 理解装箱和拆箱的过程. 对象由三部分组成:对象头,对象实例,对齐填充. 对象头:一般是十六个字节,分两部分,第一部分:哈希码,锁状态标志,线程持有的锁,偏向线程id,gc分代年龄等,第二部分是类型指针,虚拟机由类型指针指向的类型确定对象的类型. 对象实例:变量和方法,是父类继承或子类定义. 对齐填充 阅读全文
posted @ 2018-06-01 17:00 蓝勃斐重新开始 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 我在编译时不知道,而在运行时知道,那么肯定在运行时给了提示,这个提示就是额外功.好处是可以重复利用相同代码. 代理模式:通过代理静默的解决一些与业务无关的问题,例如远程,安全,事物,日志,资源关闭,...让应用开发者可以只关心自身业务. 静态代理:事先写好代码类,可以手工编写,也可以用工具生成.缺点 阅读全文
posted @ 2018-06-01 09:43 蓝勃斐重新开始 阅读(3373) 评论(0) 推荐(0) 编辑
摘要: 线程 字符 操作频繁度 1 String (1)String的创建机制 由于String在java世界中使用过于频繁,java为了避免在一个系统中产生大量重复的String对象,引入了字符串常量池,其运行机制是:创建一个字符串时,首先检查常量池中是否有值相同的字符串对象,如果存在相同字符串则直接使用 阅读全文
posted @ 2018-05-21 15:37 蓝勃斐重新开始 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 在java语言中,除了原始数据类型的变量,其他所有都是所谓的引用类型,指向各种不同的对象,理解引用对于掌握java对象生命周期和JVM内部相关机制非常有帮助。 今天问题:强引用、软引用、弱引用、幻想引用有什么区别?具体使用场景是什么? 经典回答:不同的引用类型,主要体现的是对象不同的可达性状态和对垃 阅读全文
posted @ 2018-05-21 15:29 蓝勃斐重新开始 阅读(945) 评论(0) 推荐(0) 编辑
摘要: java语言有很多看起来相似,但用途却完全不相同的语言要素,这些内容往往容易成为面试官考察你知识掌握程度的切入点。 今天我要问你一个基础的java经典题目,谈谈final、finally、finalize有什么不同? 经典回答: final可以用来修饰类、方法、变量、分别有不同的意义,final修饰 阅读全文
posted @ 2018-05-21 13:32 蓝勃斐重新开始 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 本人总结: Exception和Error:正常问题和意外问题,以自行车举例:没气和爆胎. ①理解Throwable,Exception,Error的设计和分类. ②掌握哪些应用最广泛的子类, ③如何定义异常. 解决不了异常的捕获不如抛出. 捕获不了异常的捕获不是好捕获,什么异常都捕获的捕获不是好捕 阅读全文
posted @ 2018-05-15 09:53 蓝勃斐重新开始 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 本人总结: 面向对象(封装,继承,多态) 平台无关性(jvm运行,class文件) 语言(泛型,lambda) 类库(集合,并发,网络,io/nio) jre(java运行环境,JVM,类库) JDK(java开发工具,包括JRE,javac,诊断工具) "一次编译,到处执行"java平台依靠JVM 阅读全文
posted @ 2018-05-13 10:55 蓝勃斐重新开始 阅读(384) 评论(0) 推荐(0) 编辑
摘要: java是一门历史悠久的编程语言,可以毫无争议的说,java是最主流的编程语言之一.全球有1200万以上的java程序猿以及海量的设备,还有无所不能的java生态圈. 我所知道的诸如阿里,京东,百度,腾讯,美团,去哪儿等互联网公司,基本都是以java为首要编程语言的.即使在最新的云计算领域,java 阅读全文
posted @ 2018-05-11 10:54 蓝勃斐重新开始 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 习题 一、填空题 (p)1.java中的程序代码都必须在一个类中定义,类使用(class)关键字来定义。 (p)2.布尔常量即布尔类型的两个值,分别是(true)和(false) (p18)3.java中的注释可分为三种类型,分别是(单行注释)(多行注释)(文档注释) (p24)4.java中的变量 阅读全文
posted @ 2018-05-08 19:29 蓝勃斐重新开始 阅读(1412) 评论(0) 推荐(0) 编辑
摘要: 习题解答 一.填空题 (p2)1.java的三个技术平台分别是(java SE、java EE、java ME)(标准、企业、小型) (p3)2.java程序的运行环境简称为(JRE)(开发环境-JDK) (p8)3.编译java程序需要使用(javac xx.java)命令(运行命令——java 阅读全文
posted @ 2018-05-07 18:25 蓝勃斐重新开始 阅读(825) 评论(0) 推荐(0) 编辑