随笔分类 -  java 基础

摘要:对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: MarkWord 第一部分用于存储对象 __自身__ 的 __运行时数据__ ,如: 哈希码(Ha 阅读全文
posted @ 2017-06-10 22:47 天驰 阅读(343) 评论(0) 推荐(0) 编辑
摘要:内存 内存大家都知道(当然不是硬盘啊)。与c、c++相比呢,Java在内存管理的方面一个优越之处就是我们不用显式的去对对象进行内存的分配和内存的回收,可能有人会着迷于对内存使用分配的这种快感,但是随着程序变大,对于内存的维护工作也就越来越大。Java的JVM的自动内存管理机制,凸显出了强大的优越感。 阅读全文
posted @ 2017-06-08 21:12 天驰 阅读(7516) 评论(0) 推荐(2) 编辑
摘要:finally块在代码中什么时候被执行? 在Java语言的异常处理中,finally块的作用十九为了保证无论出现什么情况,finally块里面的代码一定会被执行。由于程序执行return就以为这结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return执行(除非碰到exit函数), 阅读全文
posted @ 2017-04-05 07:47 天驰 阅读(1330) 评论(0) 推荐(0) 编辑
摘要:类型转换规则 在Java语言中,当参与运算的两个变量的数据类型不同时,就需要进行隐式的数据类型转换,转换的规则是:从低精度向高精度转换即优先级满足: byte 阅读全文
posted @ 2017-04-01 10:28 天驰 阅读(597) 评论(0) 推荐(0) 编辑
摘要:构造函数 在java语言中构造函数具有以下特点: 1. 构造函数必须与类名相同,并且不能有返回值; 2. 每个类可以有多个构造函数,如果我们没有提供构造函数,编译器在把源代码编译成字节码的过程中会提供一个没有参数默认的构造函数,但这个构造函数不会执行任何代码。如果我们提供了构造函数,编译器就不会提供 阅读全文
posted @ 2017-03-31 09:42 天驰 阅读(168) 评论(0) 推荐(0) 编辑