JAVA技术栈
文章平均质量分 79
dtzly
这个作者很懒,什么都没留下…
展开
-
CountDownLatch
### 介绍A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes. CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。ACountDownLatchis initialized with a givencount. Theawa...原创 2020-11-18 15:20:03 · 99 阅读 · 2 评论 -
JAVA设计模式学习与实践
本人JAVA渣渣,从Python半路出家转到JAVA的坑,一直想系统学习整理下JAVA设计模式。设计模式大多是经验之谈,关键是理解思想。工厂模式工厂模式(Factory Pattern)是Java 中最常用的设计模式之一。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。原始模式Interface:MilkClass: Telunsu 继承Milk接口使用: new Telunsu().getName();简单工厂模式(com.ld.pattern.factory.s原创 2020-11-17 17:11:17 · 187 阅读 · 0 评论 -
空间存储压缩理论与实战
热身题一:存储100亿的url的list,每个url最多占用64B。现在想要实现一个过滤系统,判断任意url是否在这个list上。(允许万分之一的判断失误率,额外空间不超过30G)如果将所有url通过数据库或哈希表保存下来至少需要64G的空间显然不符合要求。在允许一定失误率的情况下可以使用布隆过滤器的知识解决。在介绍布隆过滤器之前,先介绍哈希函数的概念:哈希函数将无限的输入值域映射到一个...原创 2020-03-15 20:27:25 · 1775 阅读 · 0 评论 -
深入理解JAVA虚拟机第四章(常用工具使用汇总)
jstackjstack是什么jstack是JVM自带的堆栈跟踪工具,用于打印出给定的java进程ID堆栈信息快照。Java线程的类型有以下两种:用户自定义线程和JVM自身线程(如GC)。线程的状态NEW:线程刚被创建,但是还没有被处理(不会出现在Dump中)RUNNABLE:线程占用了 CPU 并且处理了一个任务。(或是是在等待状态由于操作系统的资源分配)BLOCKED...原创 2019-11-05 12:36:31 · 219 阅读 · 0 评论 -
深入理解JAVA虚拟机第一章&第二章
五大部分总览宏观介绍整个JAVA技术体系(Java和JVM的发展历程、模块化)、JDK的编译介绍JVM自动内存管理:JVM内存区域的划分,Stackoverflow和OOM现象及其原因、 常见的垃圾收集算法以及垃圾回收器的工作原理虚拟机执行子系统:类文件结构、虚拟类加载机制、虚拟机字节码执行引擎程序的编译以及代码的优化:泛型、自动装箱、条件编译等语法糖的原理、虚拟机热点探测方法、Hots...原创 2019-10-29 17:28:06 · 364 阅读 · 0 评论 -
JAVA多线程机制中常用锁“品鉴”
synchronized使用背景:在JAVA高并发的业务场景中,为保证多个线程一次只能有一个线程访问某个方法或者某个代码块的数据,JAVA提供了synchronized的机制来实现。使用方法:锁定代码块:锁定当前对象锁定当前类释放锁wait and notify(notifyall):tips:wait and notify必须在synchroniz...原创 2019-10-15 19:58:25 · 151 阅读 · 0 评论