![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
疯狂Java程序员基本素养
chengtianqing123
这个作者很懒,什么都没留下…
展开
-
Java学习个人笔记---java数组初始化
疯狂Java程序员基本素养,java学习个人笔记原创 2015-08-15 16:19:15 · 422 阅读 · 0 评论 -
java学习个人笔记---非静态内部类
java学习个人笔记---非静态内部类 1、【非静态内部类必须寄生在外部类的实例当中】,因此系统在编译阶段总会为非静态内部类的构造器增加一个参数,非静态内部类的构造器的第一个形参总是外部类。 2、非静态内部类不能拥有静态成员原创 2016-05-17 15:42:25 · 350 阅读 · 0 评论 -
java学习个人笔记---构造器的陷阱
java学习个人笔记---构造器的陷阱 在某些时候,创建对象实例并不需要调用该对象类的构造器: 1)使用反序列化恢复java对象 2)使用clone方法复制java对象 注意:为防止程序使用反序列化方式破坏单例模式的规则,通常通过readResolve()方法来解决原创 2016-05-17 11:36:19 · 303 阅读 · 0 评论 -
java学习个人笔记---表达式类型的自动提升
java学习个人笔记---表达式类型的自动提升 1.类型自动提升由低到高的顺序 1)char -> int -> long -> float -> double -> string; 2)byte -> short -> int -> long -> float -> double -> string; 2.复合赋值运算符的陷阱 short k=3; k = k-2;原创 2016-03-14 18:15:55 · 379 阅读 · 0 评论 -
java学习个人笔记---内存管理小技巧(编程序习惯)
内存管理小技巧 1、尽量使用直接变量(硬编码) 如String str1 = "abc";String str2 = new String("abc"); 2、使用StringBuilder和StringBuffer进行字符串连接 3、尽早释放无用对象的引用 4、尽少使用静态变量 5、尽量避免在常用的方法或循环中创建new对象 6、使用缓存技术合理保存常用对象 7、尽量不要使用fi原创 2016-01-14 17:10:39 · 331 阅读 · 0 评论 -
java学习个人笔记---常见的垃圾回收器及存储结构分析
常见的垃圾回收器 (1)串行回收器: 串行回收器使用一个CPU处理,在回收垃圾期间应用程序会产生暂停,具体策略为:Young代采用串行复制算法,Old代采用串行标记压缩算法。 存储结构变化分析如下: Young代内存包含Eden区和Survivor区,Survicor区分为form区和to区,from区和to区会相互转换,系统将活动可原创 2016-01-13 18:18:06 · 510 阅读 · 0 评论 -
java学习个人笔记---Java内存管理之java对象内存中的状态
Java内存管理包括两部分:内存分配(对象被创建时)和内存回收(对象被回收时); Java对象被创建时,JVM中的垃圾回收机制(GC)会实时监控每个对象的运行状态,包括对象的申请、引用、被引用、赋值等。当GC实时监控到某个对象不在被引用变量引用时,GC就会对该对象进行回收。 采用有向图来管理内存中的对象具有较高的精准度,但缺点是效率较低 有向图管理内存中的对象时,对象原创 2015-08-23 14:41:00 · 524 阅读 · 0 评论 -
java学习个人笔记---内存管理之垃圾回收基本算法
垃圾回收基本算法 按基本的回收策略分: (1)引用计数回收:古老算法,对象每被引用一次,计数器加1,反之,对象每被删除引用一次,计数器减1; 缺点是增加内存开销和无法处理相互引用的问题 (2)复制回收:两个大小相同的内存空间A和B,将空间A中的可达对象找出来并复制到空原创 2015-08-31 20:44:45 · 437 阅读 · 0 评论 -
java学习个人笔记---java内存管理之Java对象的引用方式
Java对象的引用的方式: 1)强引用(StrongReference):一般的引用,内存不足,GC不会回收强引用对象,直接终止,是造成内存泄漏的主要原因之一; 2)软引用(SoftReference):内存充足时与强引用没有区别,当内存不足时,GC会回收软引用对象,避免内存不足; 3)弱引用(WeakReference):与软引用很相似(区别可看下面程序例子),区别是弱引用原创 2015-08-31 19:55:44 · 464 阅读 · 0 评论 -
java学习个人笔记---容器之Vetor与ArrayList的区别
Vetor与ArrayList的区别: 1、Vetor是线性安全的(有synchronized修饰); 2、ArrayList序列化实现更安全(有transient修饰);原创 2015-08-31 19:26:16 · 359 阅读 · 0 评论 -
Java学习个人笔记---Java数组内存
Java数组内存分配: java数组是静态的,初始化后分配空间结束原创 2015-08-15 16:24:34 · 400 阅读 · 0 评论 -
java学习个人笔记---容器之Map与Set关系
Map与Set关系: Set:一种由无序、不可重复元素的集合; Map:一种由多个key-value对组成的集合; Map是Set集合的扩展原创 2015-08-15 17:39:06 · 314 阅读 · 0 评论 -
java学习个人笔记---java类总体初始化顺序
Java类总体初始化顺序: 1、静态部分(a.静态变量;b.静态初始化块) 2、非静态部分(a.变量;b.初始化块;c.构造函数)原创 2015-08-15 17:26:40 · 438 阅读 · 0 评论 -
java学习个人笔记---类成员变量初始化顺序
类成员变量初始化顺序: 1、定义实例变量时指定初始值; 2、非静态初始化块中对实例变量指定初始值; 3、构造函数对实例变量指定初始值 这3种方式(以下简称1,2,3)初始化的顺序是怎样的呢? 下面根据程序实例分析一下: public class Javatest_ClassMemberInitOrder { int b; //构造函数对实例变量指定初始值 public J原创 2015-08-15 17:16:56 · 534 阅读 · 0 评论 -
java学习个人笔记---静态内部类
java学习个人笔记---静态内部类 static修饰的方法属于类,而不属于实例,因此父类的static方法不允许被子类重写原创 2016-05-17 16:41:49 · 422 阅读 · 0 评论