随笔分类 - java
摘要:Java中锁分为以下几种: 乐观锁、悲观锁 独享锁、共享锁 公平锁、非公平锁 互斥锁、读写锁 可重入锁 分段锁 锁升级(无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁) JDK1.6 这些锁的分类并不全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。
阅读全文
摘要:1 线程池 一、ThreadPoolExecutor的重要参数 1、corePoolSize:核心线程数 * 核心线程会一直存活,即使没有任务需要执行 * 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 * 设置allowCoreThreadTimeout=true(默认fa
阅读全文
摘要:第一种写法: try(InputStream is=new FileInputStream("C:\\Users\\Administrator\\Desktop\\project\\test.txt")){ /*........................................*/ }
阅读全文
摘要:JDK 8 之前主要使用 EntrySet 和 KeySet 的遍历方式,而 KeySet 的遍历方式性能比较低,一般不推荐使用。然而在 JDK 8 之后遍历方式就有了新的选择,可以使用比较简洁的 Lambda 遍历,也可以使用性能比较高的 Stream 多线程遍历。 1.JDK 8 之前的遍历 c
阅读全文
摘要:其中去重之后的顺序能和原集合保持一致的实现方法,只有两种:LinkedHashSet 去重和 Stream 去重,而后一种去重方法无需借助新集合,是我们优先考虑的去重方法。 class TestDemo{ public static void main(String[] args) { //初始化集
阅读全文
摘要:在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。List 排序的常见方法有以下 3 种: 使用 Comparable 进行排序; 使用 Comparator 进行排序; 如果是 JDK 8 以上的环境,也可以使用 Stream 流进行排序。 下面我们分别来看各种排序方
阅读全文
摘要:1、使用 javap 命令查看字节码 命令格式如下: javap -c xxx.class 2、Intellij IDEA 中查看字节码 View -> Show bytecode 3、Eclipse 中查看字节码 在 Eclipse 中查看字节码稍显麻烦,需要安装插件,并打开插件窗口,安装和使用方
阅读全文
摘要:原文链接《https://www.cnblogs.com/airnew/p/11628017.html》 Java提供了三个类,用于处理字符串,分别是String、StringBuffer和StringBuilder。其中StringBuilder是jdk1.5才引入的。 这三个类有什么区别呢?他们
阅读全文
摘要:public class THanoi { public static void main(String[] args) { hanoi(5,'A','B','C'); //可以理解为5个圈或者第5关 } /** * @param n 共有N个圈 * @param A 开始的柱子 * @param
阅读全文
摘要:Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。 将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存
阅读全文
摘要:测试类: /** * 返回结果 true/false * */ 具体实现方法:
阅读全文