- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 TransmittableThreadLocal
可以设置最大线程和核心线程数一致,不允许核心线程过期,并且初始化线程池时提交maxThread个任务,保证线程池的线程restore之后线程变量是空白的(前提是调用线程池创建线程的线程的线程变量是空白)那么TransmittableThreadLocal.restore之后,此前的set变量还在,如果此时set线程并没有或者没来得及调用remove,则线程池新建那个线程归还线程池后被重新调度到时get的是被污染的线程变量。如果往线程池提交时,线程池创建了新线程,线程池的线程如果可以过期,
2024-07-09 19:36:17 178
原创 write操作底层调用
open标志位 O_DIRECT绕过page_cache O_APPEND目前nfs4不支持原子追加写入,本地文件系统通过inode锁可以实现原子写入。 java的write只是系统调用成功,写入page_cache,不代表写入到硬件存储上。 FileDescription类的sync方法在UNIX系统上底层调用是fsync,保证数据保存到持久化存储设备后返回。 操作系统有fsync/fdatasyn两个方法,满足用户同步数据到持久化设备的系统调用,fdatasync尽可能的会不同步文件元数据,减
2022-05-11 18:35:24 265
原创 docker容器环境下jdk版本问题
-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 以上参数可以让JVM能够感知到docker容器所设置的cgroup限制,不过这个特性是JDK8u131开始且小于8u191支持 JDK8u191 版本默认开启UseContainerSupport PreferContainerQuotaForCPUCount -XX:InitialRAMPercentage、-XX:MaxRAMP
2022-04-27 16:39:33 1273
原创 java访问权限理解
一个.java文件里边多个class(非内部类)的时候 1、public 权限的类只能有一个(也可以一个都没有,但最多只有1个) 2、这个.java文件的文件名必须是public类的类名(一般的情况下,这里放置main方法是程序的入口。) 3、若这个文件中没有public的类,则文件名随便是一个类的名字即可 4、用javac 编译这个.java文件的时候,它会给每一个类生成一个.class文件 ...
2018-12-05 17:14:46 189
原创 jvm加载器
一个类不能被不同加载器加载,同一个加载器实例只能加载同一个类一次,jvm判断两个类是否相同时除了名字还会判断是不是由一个加载器实例加载的,一个加载器的两个实例加载同一个类,强转时会报转换异常,innodb默认不会回滚插入超时的事务。
2018-01-15 15:06:00 203 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人