![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java语言/JVM
文章平均质量分 73
Luyna
每一个不曾起舞的日子,都是对生命的辜负。
展开
-
重写与重载
重写与重载的区别:1、写法上的区别:重写是子类继承父类的方法时在子类中重新覆写父类中相同的方法,要求子类的方法中方法名、参数、返回值一定要相同,限定符的范围必须大于等于父类中限定符范围。重载可以在同一个类中实现函数名相同,但是参数和返回值、限定符不同的函数。2、分派的区别Human man=new Man();Human woman=new Woman();其中原创 2015-03-30 19:24:16 · 371 阅读 · 0 评论 -
深入分析Java ClassLoader原理
一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,转载 2015-03-24 14:39:20 · 389 阅读 · 0 评论 -
comparable和comparator
comparable和comparator是java中两个用于比较大小的接口1、comparable位于java.lang包中,实现该接口的对象表示该对象是“可比较的”,此接口强行对实现它的每个类的对象进行整体排序。该接口定义如下:public interface Comparable { public int compareTo(T o);}jdk文档:实现原创 2015-04-22 14:22:38 · 439 阅读 · 0 评论 -
java中ConcurrentModificationException异常分析
jdk文档解释:Iterator和ListIterator迭代器是快速失败的,在迭代器创建之后,如果从结构上对列表进行修改,除非通过迭代器自身的 remove 或 add 方法,其他任何时间任何方式的修改,迭代器都将抛出 ConcurrentModificationException。因此,面对并发的修改,迭代器很快就会完全失败,而不冒将来不确定的时间任意发生不确定行为的风险。下面通过分析Li原创 2015-04-22 10:46:55 · 576 阅读 · 0 评论 -
Iterator和Iterable接口
迭代器模式本质是将聚合对象的内容与遍历分开,所以使用者可以不用考虑聚合对象的底层实现(是用list存储还是用数组存储)而以一种统一的方式(Iterator)来遍历对象;而且可以利用筛选迭代器对对象进行过滤,只遍历符合条件的对象;迭代器的迭代策略(单向、双向等)可以灵活的修改。为了利用迭代器模式,java中定义了一个Iterator迭代器接口和一个Iterable接口;Iterator迭原创 2015-04-22 10:44:28 · 906 阅读 · 0 评论 -
《Effective java》读书笔记——过期引用
过期引用,指永远也不会再被解除的引用。栈的pop函数的一般实现: public Object pop() { if ( size == 0) throw new EmptyStackException(); // 上面的过期已用没有清除,所以会发生内存泄露 return原创 2015-05-01 11:41:09 · 592 阅读 · 0 评论