摘要: 首先有三种构造方法,空参,指定大小,和指定集合 public ArrayList(); public ArrayList(Collection<? extends E> c) public ArrayList(int initialCapacity) 后两种通过创造对象,或指定大小来初始化内部数据即 阅读全文
posted @ 2020-04-28 21:45 北城cheng 阅读(2597) 评论(0) 推荐(0) 编辑
摘要: 强引用(StrongReference) 最常用到的引用类型,StrongRerence这个类并不存在,而是在JVM底层实现。默认的对象都是强引用类型,继承自Rerence、SoftReference、WeakReference、PhantomReference的引用类型非强引用。 最简单的强引用示 阅读全文
posted @ 2020-04-27 22:16 北城cheng 阅读(317) 评论(0) 推荐(0) 编辑
摘要: JVM把描述类的数据从class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是JVM的类加载机制。 在加载阶段虚拟机需要完成以下三件事: 1)通过一个类的全限定名称来获取此类的二进制字节流,并加载到内存中(需要使用类加载器) 2)将这个字节流所代表 阅读全文
posted @ 2020-04-26 22:15 北城cheng 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: 基本的调优思路可以总结为:(确定目标,借助日志工具等找出问题,定位问题后分析问题的原因,进行调优,验证调优效果) 1.理解应用需求和问题,确定调优目标。评估用户可接受的响应时间和业务量,将目标简化为,希望 GC 暂停尽量控制在 200ms 以内,并且保证一定标准的吞吐量。 2.掌握 JVM 和 GC 阅读全文
posted @ 2020-04-25 20:54 北城cheng 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 在一个迭代器初始的时候会赋予它调用这个迭代器的对象的modcount,如果在迭代器遍历的过程中,一旦发现这个对象的modcount和迭代器中存储的modcount不一样那就抛异常 完整解释 :Fail-Fast 机制 我们知道 java.util.HashMap 不是线程安全的,因此如果在使用迭代器 阅读全文
posted @ 2020-04-25 16:41 北城cheng 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 1.Serial(Serial + Serial Old):最古老的垃圾收集器,“Serial”体现在其收集工作是单线程的, 在进行垃圾收集过程中,会进入臭名昭著的“Stop-The-World”状态,一直是 Client 模式下 JVM 的默认选项。针对新生代采用复制算法(-XX:+UseSeri 阅读全文
posted @ 2020-04-24 22:16 北城cheng 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。 ① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。(加锁) ② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。 ③ 进入 阅读全文
posted @ 2020-04-23 22:00 北城cheng 阅读(1516) 评论(0) 推荐(0) 编辑
摘要: 首先有三个主要类 接口类,接口实现类 和处理器实现类(处理器实现类生成代理类)处理器实现类代码:public class ProxyHandler implements InvocationHandler { private Object target; public ProxyHandler(Ob 阅读全文
posted @ 2020-04-23 17:17 北城cheng 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 轮询: 对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。尽管轮询需要时间,但轮询要比I/O设备的速度要快得多,所以一般不会发生不能及时处理的问题。 阅读全文
posted @ 2020-04-22 21:58 北城cheng 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 死锁的概念:是指两个或多个进程无止境的等候着某个资源的一种系统状态。 死锁产生的原因主要是:(1)系统资源不足;(2)进程运行推进的顺序不合适;(3)资源分配不当。 产生死锁的必要条件: (1)互斥(mutual exclusion),一个资源每次只能被一个进程使用; (2)占有且等待(hold a 阅读全文
posted @ 2020-04-21 22:02 北城cheng 阅读(767) 评论(0) 推荐(0) 编辑