08 2018 档案

摘要:``` package test; public class MergeSort { public static void main(String[] args) { // TODO Auto generated method stub int[] arr = { 10, 9, 8, 7, 6, 5 阅读全文
posted @ 2018-08-27 22:05 LynnMin 阅读(147) 评论(0) 推荐(0)
摘要:``` package test; public class HeapSort { public static void main(String[] args) { int[] arr = {10,9,8,7,6,5,4,3,2,1}; System.out.print("排序前;"); print 阅读全文
posted @ 2018-08-27 20:15 LynnMin 阅读(105) 评论(0) 推荐(0)
摘要:``` package demo; public class ShellSort { public static void main(String[] args) { int[] arr = {5,4,3,2,1,0}; printArr(arr); shellSort(arr); printArr 阅读全文
posted @ 2018-08-27 16:42 LynnMin 阅读(105) 评论(0) 推荐(0)
摘要:定义 给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。 静态代理 有些情况下,一个客户不想或者不能够直接引用一个对象,可以通过代理对象在客户端和目标对象之间起到中介作用。代理模式中的角色有: 1、抽象对象角色 声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以 阅读全文
posted @ 2018-08-25 15:54 LynnMin 阅读(192) 评论(0) 推荐(0)
摘要:``` package demo; / 快速排序; @author Lynn / public class QuickSort { public static void main(String[] args) { int[] arr = { 50, 10, 90, 30, 70, 40, 80, 6 阅读全文
posted @ 2018-08-25 14:46 LynnMin 阅读(174) 评论(0) 推荐(0)
摘要:``` package demo; / 插入排序; @author Lynn / public class InsertionSort { public static void main(String[] args) { int[] arr = {10,7,2,4,8,6,1,9}; System. 阅读全文
posted @ 2018-08-24 14:06 LynnMin 阅读(108) 评论(0) 推荐(0)
摘要:![](https://images2018.cnblogs.com/blog/873621/201808/873621-20180824111355556-1769590637.png) 阅读全文
posted @ 2018-08-24 11:14 LynnMin 阅读(190) 评论(0) 推荐(0)
摘要:``` package demo; / 简单排序 时间复杂度O(n^2) 不稳定; @author Lynn / public class SimpleSelectSort { public static void main(String[] args) { int[] arr = {10,7,2, 阅读全文
posted @ 2018-08-24 11:11 LynnMin 阅读(139) 评论(0) 推荐(0)
摘要:运行结果 阅读全文
posted @ 2018-08-23 17:37 LynnMin 阅读(132) 评论(0) 推荐(0)
摘要:概念     二叉排序树,又称二叉查找树。它或者是一棵空树,或者是具有下列性质的二叉树: ①若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值。 ② 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。 ③ 它的左右子树也分别为二叉排序树。 阅读全文
posted @ 2018-08-20 14:43 LynnMin 阅读(199) 评论(0) 推荐(0)
摘要:过期的suspend()、resume()、stop() 不建议使用这三个函数来停止线程,以suspend()方法为例,在调用后,线程不会释放已经占有的资源(比如锁),而是占有着资源进入睡眠状态,这样容易引起死锁问题。同样,stop()方法在终结一个线程是不会保证线程的资源正常释放,通常识没有给予线 阅读全文
posted @ 2018-08-15 15:03 LynnMin 阅读(1785) 评论(0) 推荐(1)
摘要:使用邻接矩阵进行存储 原图 调整后 package graph; import java.util.ArrayList; import java.util.LinkedList; public class BFSTraverse { private static ArrayList list = n 阅读全文
posted @ 2018-08-14 13:30 LynnMin 阅读(726) 评论(0) 推荐(0)
摘要:使用邻接矩阵进行存储; package graph; import java.util.ArrayList; public class DFSTraverse { private static ArrayList list = new ArrayList(); // 邻接矩阵存储; public s 阅读全文
posted @ 2018-08-14 11:58 LynnMin 阅读(444) 评论(0) 推荐(0)
摘要:    volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”,即当一个线程修改一个共享变量是,另一个线程能够读到这个修改的值。volatile比synchronized的使用和执行成本低,因为它不会引起上下文的切换和 阅读全文
posted @ 2018-08-13 23:15 LynnMin 阅读(107) 评论(0) 推荐(0)
摘要:二叉树的四种遍历方式:前序遍历、中序遍历、后序遍历和层序遍历 运行结果 阅读全文
posted @ 2018-08-13 15:46 LynnMin 阅读(103) 评论(0) 推荐(0)
摘要:本文是参考文末的文章自己动手写的笔记 反射 反射就是把java类中的各种成分映射成一个个的Java对象。 获取Class对象的三种方式 1. Object —— getClass(); 2. 任何数据类型(包括基本数据类型)都有一个“静态”的class属性。 3. 通过Class类的静态方法:for 阅读全文
posted @ 2018-08-12 15:49 LynnMin 阅读(161) 评论(0) 推荐(0)
摘要:泛型简而言之就是类型的参数化 泛型分为泛型接口、泛型类和泛型方法,不存在泛型数组。 举例 在于Java中的泛型这一概念提出的目的,导致其只是作用于代码编译阶段,在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦出,也就是说,成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进 阅读全文
posted @ 2018-08-11 23:26 LynnMin 阅读(97) 评论(0) 推荐(0)
摘要:定义 确保一个类只有一个实例,并提供一个全局访问点。 延迟实例化 注意对于多线程可能存在同时创建出多个实例出来, 延迟实例化的改进 不延迟 双重检查加锁 阅读全文
posted @ 2018-08-09 16:42 LynnMin 阅读(124) 评论(0) 推荐(1)
摘要:题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 剑指offer思路 通过对比前序遍历和对称前序遍历的序列是否相同来判定,这里所谓的对称前序遍历算法是指,遍历的的时候采用根节点、右节点和左节点的次序; 自己写的Low代码 阅读全文
posted @ 2018-08-06 22:27 LynnMin 阅读(109) 评论(0) 推荐(0)
摘要:题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路 刚开始没有什么思路,但是通过画图分析就知道数组的最后一个是二叉树的根节点,它将数组的剩余部分分成了两部分,前一部分小于根节点的值,有一部分大于根界定 阅读全文
posted @ 2018-08-05 11:29 LynnMin 阅读(149) 评论(0) 推荐(0)
摘要:以hotpot为例 Serial收集器     Serial收集器是最基本、发展最悠久的收集器。它是一个单线程的收集器,这不仅仅意味着它只使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停所有其他的工作线程,直到它收集结束。 阅读全文
posted @ 2018-08-04 16:09 LynnMin 阅读(256) 评论(0) 推荐(1)