Java基础知识梳理
文章平均质量分 56
对Java基础知识、疑难点进行归纳整理。
Lnho
发表是最好的记忆
展开
-
Java知识整理——反射
Java的反射机制是做什么的? 主要功能就是可以根据一个类的名称来创建一个类的实例,并调用实例的方法。 我们通常情况下创建一个类实例的方法,就是new ABC()这样的方式来创建,那为什么还要用反射绕一大圈呢?因为反射可以让ABC这个具体的类,在运行的时候指定,例如可以通过传参的方式指定进来,比如我们传一个参数ABC就可以创建ABC这个类,也可以传递其他参数来创建DEF这个类。 怎么做? 直接原创 2015-05-10 23:16:26 · 1525 阅读 · 2 评论 -
Java虚拟机内存分配策略
1.JVM内存分配分区Java的内存简单分为堆内存和非对内存 其中堆内存又可以分为新生代和老年代 新生代分为1个Eden区和2个Survivor区,如下图: 2.JVM垃圾回收种类分为2种,MinorGC和FullGC. MinorGC针对新生代的内存回收,时间较短,经常发生。 FullGC针对老年代的回收,通常伴随MinorGC,耗费时间较久,较少发生。2.JVM内存分配策略(1)先在E原创 2015-08-22 14:14:29 · 1745 阅读 · 0 评论 -
Java正则表达式简单用法
1.简单查找String target="var tips=\"认证成功<br>用户名:XXXX<br>IP地址:1.1.1.1\""; Pattern pattern = Pattern.compile("IP地址:[\\w\\.]+\""); Matcher matcher = pattern.matcher(target); String result; if (matcher.find())原创 2016-02-15 15:29:43 · 775 阅读 · 0 评论 -
JDK的快速排序算法实现DualPivotQuicksort
从JDK7开始采用这种双Pivot的快速排序算法,这种算法通常会比传统单Pivot的快排算法效率更高。 具体流程如下: 1.需要排序的数组为a,判断数组的长度是否大于286,大于使用归并排序(merge sort),否则执行2。 2.判断数组长度是否小于47,小于则采用插入排序,否则执行3。 3.采用近似算法计算数组长度的1/7int seventh = (length >> 3) + (原创 2016-02-15 18:26:23 · 3293 阅读 · 0 评论 -
浅谈最小生成树的算法思路(一)Prim算法
Prim算法是求最小生成树的一种常见算法,简单谈一下笔者自己的理解。算法思路 设已经确定的点集为P,初始为空。设还未确定的点集为Q,初始为该图所有点的集合。设已经确定的边为X,初始为空。 选取任意一点作为起始点,将该点添加到集合P中,并从Q中移除该点。 从P中找到一个点A,从Q中找到一个点B,使得2点之间的路径AB的权值最小。 将路径AB添加到X,将Q中的点B添加到集合P中,并从Q中移除该点。 重复原创 2016-02-16 17:04:03 · 2839 阅读 · 0 评论