狐狸的搬砖生活

Java 工作内存和主存数据同步问题

什么是工作内存和主存​首先,JVM将内存组织为主内存和工作内存两个部分。​主内存主要包括本地方法区和堆。每个线程都有一个工作内存,工作内存中主要包括两个部分,一个是属于该线程私有的栈和对主存部分变量拷贝的寄存器(包括程序计数器PC和cup工作的高速缓存区)。所有的变量都存储在主内存中(虚拟机内存的一

aBadFox aBadFox 发布于 2020-11-12

Java 线程池之Tomcat线程池

Java线程池之Tomcat线程池Tomcat在哪里用到了线程池呢LimitLatch用来限流,可以控制最大连接个数,类似J.U.C中的SemaphoreAcceptor只负责【接收新的socket连接】Poller只负责监听socketchannel是否有【可读的I/O事件】一旦可读,封装一个任务

aBadFox aBadFox 发布于 2020-05-21

Java 线程池之ThreadPoolExecuter

Java线程池之ThreadPoolExecuter线程池状态ThreadPoolExecutor使用int的高3位来表示线程池状态,低29位表示线程数量状态名高3位接收新任务处理阻塞队列任务说明RUNNING111YYSHUTDOWN000NY不会接收新任务,但会处理阻塞队列剩余任务STOP001

aBadFox aBadFox 发布于 2020-05-21

Java-设计模式之单例模式(5种线程安全的写法)

单例模式有很多实现方法,饿汉、懒汉、静态内部类、枚举类,试分析每种实现下获取单例对象(即调用getInstance)时的线程安全,并思考注释中的问题饿汉式:类加载就会导致该单实例对象被创建懒汉式:类加载不会导致该单实例对象被创建,而是首次使用该对象时

aBadFox aBadFox 发布于 2020-05-15