随笔分类 -  java基础

摘要:guava Lists下通过了两个创建指定容量的list方法,newArrayListWithExpectedSize,newArrayListWithCapacity。它们主要的区别如下: public static <E> ArrayList<E> newArrayListWithCapacit 阅读全文
posted @ 2022-03-14 19:47 二叉树的博客 阅读(1086) 评论(0) 推荐(0) 编辑
摘要:(1)break 跳出当前循环体 (2)continue 跳过当前循环体continue后面的代码,继续执行下一个循环 (3)return 和循环没关系,就是跳出该函数 阅读全文
posted @ 2022-03-12 09:41 二叉树的博客 阅读(29) 评论(0) 推荐(0) 编辑
摘要:我知道Java枚举会被编译成一个包含私有构造参数和一堆静态方法的类,当去比较两个枚举的时候,总是使用equals()方法,例如: public useEnums(SomeEnum a) { if(a.equals(SomeEnum.SOME_ENUM_VALUE)) { ... } ... }参考 阅读全文
posted @ 2022-03-11 22:04 二叉树的博客 阅读(82) 评论(0) 推荐(0) 编辑
摘要:堆内存存储的对象分为对象头 实例变量 填充字段 对象头包含 标记字段 类型指针 标记字段中包含锁的记录 阅读全文
posted @ 2021-05-12 09:13 二叉树的博客 阅读(64) 评论(0) 推荐(0) 编辑
摘要:ReentrantLock加锁 阅读全文
posted @ 2020-10-14 16:11 二叉树的博客 阅读(86) 评论(0) 推荐(0) 编辑
摘要:ReentrantLock自旋 阅读全文
posted @ 2020-10-14 16:05 二叉树的博客 阅读(342) 评论(0) 推荐(0) 编辑
摘要:ReentrantLock是一种基于AQS框架的应用实现,AQS 是核心思想。 第一 、自旋 while(true) 第二 、加锁 保证只有一个线程可以拿到锁,其他线程一直在自旋的循环中等待,CAS 加锁 compare and swap 第三 、用队列实现公平或非公平锁 第四 、LockSuppo 阅读全文
posted @ 2020-10-14 15:54 二叉树的博客 阅读(125) 评论(0) 推荐(0) 编辑
摘要:问题现象 idea 代码静态扫描提示:Result of 'BigDecimal.add()' is ignored 原因 在java中,BigDecimal的add方法是个坑。 BigDecimal a = new BigDecimal(1); BigDecimal b= new BigDecim 阅读全文
posted @ 2020-10-12 15:58 二叉树的博客 阅读(5607) 评论(0) 推荐(1) 编辑
摘要:代码示例一 1 public static void main(String[] args) { 2 List<Object> list = null; 3 for(Object s : list){ 4 System.out.println("a"); 5 } 6 } 结果: 代码示例二 1 pu 阅读全文
posted @ 2020-10-10 14:41 二叉树的博客 阅读(2404) 评论(0) 推荐(0) 编辑
摘要:消除流量洪峰 阅读全文
posted @ 2019-06-06 16:03 二叉树的博客 阅读(330) 评论(0) 推荐(0) 编辑
摘要:1、初步认识hashMap debug模式,从数据结构上认知HashMap: JDK8中HashMap的数据结构源码: 2、HashMap的两个重要参数 capacity 就是初始化HashMap时的数组容量,load factor 指负载因子; 当我们对迭代性能要求比较高时,不能把capacity 阅读全文
posted @ 2019-05-27 17:08 二叉树的博客 阅读(422) 评论(0) 推荐(0) 编辑
摘要:【解析hashMap的源码实现】 点击进入hashMap的源码实现 0、谈谈对hashMap的理解? 从底层结构、存取、扩容、冲突、实现原理、源码等方面说明。 1、你知道哪些常用的Map集合? HashMap、HashTable、LinkedHashMap、ConcurrentHashMap。 2、 阅读全文
posted @ 2019-05-21 23:16 二叉树的博客 阅读(921) 评论(0) 推荐(1) 编辑
摘要:代码优化的目标是 减小代码的体积 提高代码运行的效率 减小代码的体积 提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类 阅读全文
posted @ 2019-05-11 15:19 二叉树的博客 阅读(326) 评论(0) 推荐(0) 编辑
摘要:1、默认方法的定义和作用 在Java8以前的版本中,由接口定义的方法是抽象的,不包括方法体。JDK8版本的发布改变了这一点,其中给接口添加了一个新的功能:默认方法。默认方法允许为接口方法定义默认实现。也就是说,通过使用默认方法,现在可以为接口方法提供方法体,使其不再是抽象方法。 默认方法的主要作用是 阅读全文
posted @ 2019-05-11 10:55 二叉树的博客 阅读(393) 评论(0) 推荐(0) 编辑
摘要:一、Lambda表达式是什么? Lambda表达式有两个特点 一是匿名函数,二是可传递。 匿名函数的应用场景是 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用Lambda表达式。lambda表达式所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lam 阅读全文
posted @ 2019-05-09 21:00 二叉树的博客 阅读(530) 评论(0) 推荐(0) 编辑
摘要:线程池 阅读全文
posted @ 2019-05-09 10:45 二叉树的博客 阅读(818) 评论(0) 推荐(0) 编辑
摘要:循环 阅读全文
posted @ 2019-05-09 10:42 二叉树的博客 阅读(571) 评论(0) 推荐(0) 编辑
摘要:Optional 阅读全文
posted @ 2019-05-09 10:29 二叉树的博客 阅读(172) 评论(0) 推荐(0) 编辑
摘要:java8新特性--并行流 阅读全文
posted @ 2019-05-09 10:28 二叉树的博客 阅读(170) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示