JS Bin
摘要: 摘录加总结 (1)传统的单例模式的双检锁 public class Singleton { private static Singleton sInstance; public static Singleton getInstance() { if (sInstance == null) {//① 阅读全文
posted @ 2020-04-16 22:46 左五六 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 在JAVA中,异常子类必须在它们任何父类之前使用,因为运用父类的catch语句将捕获该类型及其所有子类类型的异常。这样,后面运行子类的catch语句将永远不会到达。而且,Java中不能到达的代码是一个错误。 阅读全文
posted @ 2020-04-16 17:06 左五六 阅读(1629) 评论(0) 推荐(0) 编辑
摘要: 附一张线程运行的流程图: 阅读全文
posted @ 2020-04-12 11:00 左五六 阅读(1350) 评论(0) 推荐(0) 编辑
摘要: public class SparseArray { /** * 用二维数组实现一个棋盘,1代表黑子,2代表蓝子 */ public static void main(String[] args) { /** * 二维数组 */ int[][] chessArray1 = new int[11][1 阅读全文
posted @ 2020-04-10 18:15 左五六 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 快排的思想是:对于一个待排的序列,我们每次都以这个序列的最左边的数字作为基准数,然后从这个序列的最左边和最右边的位置开始遍历(右边先开始),实现从左边开始找比这个基准数大的数字,从右边开始找比这个基准数小的数字,找到了之后就交换这两个位置的数字,然后继续遍历,最后退出条件是当两个方向的遍历指针相重叠 阅读全文
posted @ 2020-04-07 15:27 左五六 阅读(1049) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 下图借鉴一位牛客网的同学的做法: import java.util.ArrayList; import java.util.Stack; /* 阅读全文
posted @ 2020-03-31 22:37 左五六 阅读(128) 评论(0) 推荐(0) 编辑
摘要: (1)当所在类不使用HashSet、Hashtable、HashMap等散列集合进行存储的时候,可以不使用hashcode。 (2)当在HashSet、Hashtable、HashMap中使用该类时,hashcode和equals是有关系的,hashcode和equals需要同时重写才能保证元素的唯 阅读全文
posted @ 2020-03-31 00:09 左五六 阅读(974) 评论(0) 推荐(0) 编辑
摘要: 采用控制一个中断标识符的方式来停止一个线程: package thread.test; class InteruptTest extends Thread { volatile boolean stop = false;// 线程中断信号量 public static void main(Strin 阅读全文
posted @ 2020-03-30 09:52 左五六 阅读(384) 评论(0) 推荐(0) 编辑
摘要: (1)使用join()方法 在多个线程的执行过程中,若需要对于线程之间的执行顺序有要求的话,可以使用Thread类的join()方法,简单地对于join线程进行解释的话就是: 调用线程要等待join线程执行完成之后才可以继续向下执行 比如我们需要让主线程得到一个Thread1的输出值,这样子就得让T 阅读全文
posted @ 2020-03-29 23:52 左五六 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 反转一个链表常用的两种实现方式:递归和头插法的方式 (1)递归实现 package dsaa.反转链表; class Node { int val; Node next; public Node(Node next, int val) { this.val = val; this.next = ne 阅读全文
posted @ 2020-03-26 09:47 左五六 阅读(525) 评论(0) 推荐(0) 编辑