首页 | 归档 | 分类 | 标签 | 关于 |
|
Java搜索技巧末尾加上PDF,可以搜出一些高质量的文章,包括一些技术分享、大学的课件。 Wikipedia看参考文献,会有很多不错的资料。 关键字:Overv
存储结构HashMap内部采用数组+链表+红黑树来实现。如下图所示。 Node是HashMap的内部类,用来表示一个键值对,实现了Map.Entry接口 123
CountDownLatch的作用是使得一个或多个线程等待直到其他线程完成操作。 CyclicBarrier的作用是可以让一组线程达到一个屏障时被阻塞,直到最后
ReentrantLock实现了Lock的接口。ReentrantLock相比synchronized提供了更多的功能。Lock接口的方法如下 lock loc
ReentrantReadWriteLock是读写锁,其维护了一对锁,一个读锁和一个写锁,读写锁在同一时刻可以允许多个读线程访问,在写线程访问时,则所有线程均被
Condition接口定义的几个方法如下: 其中,await方法类似于Object的wait方法,而signal和signalAll则分别对应于notify和n
CAS,Compare and set。是Java中实现原子操作的重要手段,在Java并发工具中起着重要作用。 CAS是什么CAS是一种多线程同步中常用的原子操
psps -ef | grep "" zgrepxargsfindfind . -name "" | xargs zgr
AbstractQueuedSynchronizer是一个抽象类,为Java中各种Synchronizers(同步器)的实现提供了一个模版框架。 Synchro
CAP定理分布式系统中有三个指标 Consistency 一致性 Avaliability 可用性 Partition tolerance 分区容错 CAP定理
配置管理服务治理服务注册服务向注册中心登记自己提供的服务 服务发现通过服务名发起请求调用 断路器智能路由
原理四大区 工作区(Working Directory) 暂存区(Stage or index) 本地库 远程库 各区的转换图如下 HEADHEAD是一个特殊的
常驻内存排查内存泄漏重用对象String.intern()在某服务中,通过与其他进程通讯获取到格式为byte[]的字段,将byte[]转化成String的时候利
jmap输出对象实例个数jmap -histo <pid> > a.log 查看应用代码实例的个数,对于出现内存泄露的情况,可以快速定位出是哪
方法1找到CPU占用过高的线程top -p <pid> 输入H查看该进程的所有线程的统计情况,从而找到CPU占用过高的线程; 将线程id转化为16进
1、java.lang.OutOfMemoryError:Java heap spaceJava应用程序在启动时会指定所需要的内存大小,它被分割成两个不同的区域
为什么说操作DOM慢DOM对象本身是一个js对象,其实操作这个对象并不慢,慢的是操作这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint
一个好的程序,应该是能够充分利用CPU。如果一个程序在单CPU的机器上无论在多大的压力下都无法令CPU的使用率接近100% ,说明这个程序设计地有问题。 常见的
要明白操作系统是如何实现虚拟内存的,首先应该明白操作系统为什么要需要虚拟内存 为什么需要虚拟内存早期的程序中访问的内存地址都是实际的物理内存地址。 程序需要加载
线程的状态转换关系 1)BLOCKED:线程等待监视器锁,就是线程在等待获取锁进入同步块或者同步方法中。两个死锁的线程即是Blocked。 2)WAITING:
什么是Java内存模型Java内存模型定义了Java虚拟机与计算机内存的工作方式。Java虚拟机是计算机的模型,这个计算机模型自然包括了内存模型,即Java内存
什么是微服务微服务,又称微服务架构。是一种新兴的软件架构模式。微服务架构模式通过将多种细小的服务进行整合来形成软件,这些服务运行在自己独立的进程上,服务之间通过
什么是云计算云计算是通过网络以自助服务的方式获得所需要的IT资源的模式。 获取路径:通过网络 获取方式:自助服务 获取对象:IT资源(如计算能力、存储能力、带宽