java
文章平均质量分 70
java
lipenghui_bst
这个作者很懒,什么都没留下…
展开
-
基本的命令
文章目录前言总结 前言 jmap、jstat、jstack、jps、iotop、iftop、top、free、df、du # docker run -d -p 8008:8080 --name 容器名 镜像名 docker exec -it 容器id /bin/sh jps -l jstat -gc pid 1000 S0C:第一个幸存区的大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年原创 2021-09-15 20:17:56 · 138 阅读 · 0 评论 -
nio、pageCache、mmap、sendfile、pageCache预读和顺序读写、bufferCache、磁盘块、扇区、rocketmq的实现
文章目录前言一、nio1.NIO概念2.缓冲区(其实就是数组)3.通道4.非阻塞式网络通信二、pageCache1.xxx总结 前言 讲一讲 nio、pageCache、mmap、sendfile、page cache预读和顺序读写、bufferCache、磁盘块、rocketmq的实现 一、nio 1.NIO概念 Java NIO(New IO)是从Java 1.4版本开始引入的 一个新的IO API,可以替代标准的Java IO API。 NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不原创 2021-05-09 13:14:32 · 802 阅读 · 0 评论 -
JAVA 对象布局和对象逃逸
linux在上有用户空间和内核空间的概念,进程在linux上运行会在用户空间分配内存,jvm是在用户空间申请的内存后,我们在java程序上创建对象就不用再通过系统调用去申请内存了.减少系统调用,而是使用已经分配好的内存去使用,在这记录下java创建对象的对象布局和对象逃逸 一、JAVA 对象布局 在 HotSpot虚拟机中,对象在内存中的存储的布局可以分为三块区域:对象头(Header),字段数据(field Data)和对齐填充(Padding) 1. Object Header(对象头): Mar.原创 2021-05-09 00:17:18 · 210 阅读 · 0 评论 -
深入分析 AQS 实现原理——转载一同事写的
深入分析 AQS 实现原理 一、什么是 AQS1、AQS 的两种功能2、AQS 的内部实现3、锁竞争、锁释放对队列的变化3.1 锁竞争3.2 锁释放 二、AQS同步队列源码分析2.1 抢占锁ReentrantLock.lockNonfairSync.lockAQ...转载 2021-05-05 21:46:07 · 159 阅读 · 0 评论 -
BitSet原理
文章目录前言一、bitSet原理总结 前言 在java中最小的数据类型是byte字节,1byte占用8 bit,我们能否操作bit呢? bitSet(位图)就可以,他能占用更少的空间,当在大数据量的场景那会非常节省内存 题外话:之前遇到一个面试官问了一个问题:给定一个 1-2亿的随机整数数组,找出里面的1~2亿没有出现的整数的个数,然后还限定机器内存500m装不下2亿个int数,-- 我当时想的是放在磁盘分批加载进内存去比较, 他说不行,要一次加载, 我心里想着用b+tree索引?但是好像也不行,一次原创 2021-04-24 00:23:21 · 239 阅读 · 0 评论 -
线程池原理
文章目录前言一、ThreadPoolExecutor代码结构二、ThreadPoolExecutor代码详解1.execute()方法2.addWorker()方法三、四种常用线程池总结 前言 由于频繁的创建销毁线程会带来一定的成本,可以预先创建但不立即销毁,以共享方式为别人提供服务,一来可以提供效率,再者可以控制线程无线扩张。合理利用线程池 一、ThreadPoolExecutor代码结构 ThreadPoolExecutor内部包含五个内部类, woker 是aqs的子类和实现了runnable接口原创 2021-04-18 01:03:50 · 146 阅读 · 0 评论