垃圾回收机制 发表于 2019-08-05 垃圾回收机制自动垃圾收集 如何确定内存需要被回收 引用计数优点:实现简单,判定效率高 缺点:很难解决相互循环引用的问题 可达性分析算法 引用类型和可达性级别 ps:Object obj = new Object()这类的引用,就是强引用 垃圾收集算法 标记-清除算法 虽然内存里面有16个字节的内存 ... 阅读全文 »
类加载机制 发表于 2019-07-30 类加载机制运行时数据区 类生命周期 类加载器类加载器负责装入类,搜索网络、jar、zip、文件夹、二进制数据、内存等指定位置的类资源。 一个java程序运行,最少有三个类加载器实例,负责不同类的加载。 验证问题🌾查看类对应的加载器 🌾JVM如何知道我们的类在何方 🌾类不会重复加载 🌾类的卸 ... 阅读全文 »
Netty职责链Pipeline详解 发表于 2019-07-30 Netty职责链Pipeline详解 设计模式— 责任链模式 实现责任链模式 Demo 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565 ... 阅读全文 »
Netty网络编程 发表于 2019-07-29 Netty网络编程Netty简介 Netty整体结构图 官网地址:https://netty.io/ Netty线程模型 EventLoopGroup初始化过程 EventLoop的启动 Bind绑定端口过程 Channel 阅读全文 »
NIO网络编程 发表于 2019-07-25 NIO网络编程JAVA NIO Buffer缓冲区 Buffer工作原理 Demo 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package com.study.hc.ne ... 阅读全文 »
TCP/UDP 协议 发表于 2019-07-25 TCP/UDP 协议OSI网络七层模型 各层的主要功能 Http服务器就是实现高三层的功能 传输控制协议TCP TCP握手机制三次握手——— 检测网络是否通畅 四次挥手——— 不能随意断开,以防正在传输的数据被中断,导致数据不正确, 握手机制就是为了让传输更加可靠 用户数据报协议UDP UDP和T ... 阅读全文 »
HashMap ConcurrentHashMap1.7和1.8 发表于 2019-07-22 HashMap ConcurrentHashMap1.7和1.8HashMap1.7初始化![](HashMap-ConcurrentHashMap1-7和1-8/图片 2.png) ![](HashMap-ConcurrentHashMap1-7和1-8/图片 3.png) put![](Hash ... 阅读全文 »
并发容器类list_set_queue 发表于 2019-07-22 并发容器类list_set_queueListCopyOnWriteArrayList——容器即写时复制的容器和ArrayList比较,优点是并发安全,缺点有两个: 1、多了内存占用:写数据是copy一份完整的数据,单独进行操作。占用双份内存。 2、数据一致性:数据写完之后,其他线程不一定是马上读取 ... 阅读全文 »
AQS抽象队列同步器详解及工具类拓展 发表于 2019-07-02 AQS抽象队列同步器详解及工具类拓展信号量和栅栏和倒计数器CountDownLatchJava1.5被引入的一个工具类,常被称为:倒计数器。创建对象时,传入指定数值作为线程参与的数量; await:方法等待计数器值变为0,在这之前,线程进入等待状态; countdown:计数器数值减一,直到为0; ... 阅读全文 »
JAVA锁相关术语及同步关键字synchronized详解 发表于 2019-06-30 JAVA锁相关术语及同步关键字synchronized详解JAVA中锁的概念自旋锁:为了不放弃CPU执行事件,循环中使用CAS技术对数据尝试进行更新,直到成功。(理解上类似乐观锁) 悲观锁:假定会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁。 乐观锁:假定没有冲突,在修改数据时如果发现 ... 阅读全文 »