liqitian3344的个人博客 liqitian3344的个人博客
Tags Archives Links
  • 开始使用
  • 我的开源
  • Tags
  • Archives
  • Links
  • Search
  • RSS
一直对常量池、字符串池、包装类对象池的认识不是那么深刻,下面巩固一下。 常量池分为静态常量池与动态常量池。 静态常量池在Class文件中(占用Class文件空间最大的数据项目之一),运行时常量池在方法区中,JDK1.8方法区已经被元数据区替代。 字符串常量池在1.7时被移动到了堆中。 String str = new String("Hello world") 创建了 2 个对象,一个驻留在字符串池,一个分配在 Java 堆,str 指向堆上的实例。 String.intern() 能在运行时向字符串池添加常量。 部分包装类实现了池化技术,-128~127 以内的对象可以重用。

Java 8 中的常量池、字符串池、包装类对象池

常量池
CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信作用。 CyclicBarrier是一个同步的辅助类,允许一组线程相互之间等待,达到一个共同点,再继续执行。 Semaphore计数信号量用来控制同时访问某个特定资源的操作数量,或者同时执行某个指定操作的数量。信号量还可以用来实现某种资源池,或者对容器施加边界。

CountDownLatch /CyclicBarrier /Semaphore

并发
并发处理的广泛应用是Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是

[高效并发]之Volatile关键字整理

并发
Elasticsearch 设计的理念就是分布式搜索引擎,底层实现还是基于 Lucene 的,核心思想是在多台机器上启动多个 es 进程实例,组成一个 es 集群。以下是 es 的几个

ElasticSearch高可用原理与设计方案

elasticsearch
简单来说,HashMap 由数组 + 链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前 entry 的 next 指向 null),那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,首先遍历链表,存在即覆盖,否则新增;对于查找操作来讲,仍需遍历链表,根据 key 的 hash 值&&key 对象的 equals 方法逐一比对查找。所以,性能考虑,HashMap 中的链表出现越少,性能才会越好。

HashMap1.7总结分析

HashMap
该文章已经加密。

小节

123
1 2 3 4 5 6
我的开源 RSS 开始使用
liqitian3344 - 逝者如斯夫,不舍昼夜

这里更多的是做记录~
分类

开发工具    
34 文章
9319 浏览     0 当前访客
© 2021 liqitian3344的个人博客 皖ICP备18009171号-1