熟悉Java内存模型JMM

Java内存模型规范(JSR-133)是围绕原子性、可见性和有序性展开的。 原子性、可见性、有序性 如下图说明了Java线程、工作内存和主存之前的关系。 Java内存模型(JMM)定义了一套自己的主存到工作……

阅读全文

熟悉Java内存模型JMM

Java内存模型规范(JSR-133)是围绕原子性、可见性和有序性展开的。 原子性、可见性、有序性 如下图说明了Java线程、工作内存和主存之前的关系。 Java内存模型(JMM)定义了一套自己的主存到工作……

阅读全文

走入并行的世界

走入并行的世界 这该死的并行 摩尔定律发展 一些基本概念 同步 vs 异步 并发 vs 并行 临界区 多个线程的公共资源,或者说共享数据。 阻塞 vs 非阻塞 死锁、饥饿、活锁 并发级别 并行加速比公式 参考文档 书籍:葛一鸣 *《Java高并发……

阅读全文

走入并行的世界

走入并行的世界 这该死的并行 摩尔定律发展 一些基本概念 同步 vs 异步 并发 vs 并行 临界区 多个线程的公共资源,或者说共享数据。 阻塞 vs 非阻塞 死锁、饥饿、活锁 并发级别 并行加速比公式 参考文档 书籍:葛一鸣 *《Java高并发……

阅读全文

线程池入门到精通

什么是线程池 复用创建好的线程,节约创建和销毁的时间。 需要使用线程时,就从池子里拿一个空闲的线程,完成工作后,归还线程给线程池。 线程池工作原理 线程池工作流程 线程池生命周期及扩展点 线程池参数 JDK提供的线……

阅读全文

线程池入门到精通

什么是线程池 复用创建好的线程,节约创建和销毁的时间。 需要使用线程时,就从池子里拿一个空闲的线程,完成工作后,归还线程给线程池。 线程池工作原理 线程池工作流程 线程池生命周期及扩展点 线程池参数 JDK提供的线……

阅读全文

Java本地方法调用

引子 Class.forName("com.msql.jdbc.Driver"); 我们在加载mysql的jdbc驱动时,会主动加载对应的驱动类,然后使用DriverManager来获取连接操作数据库。 跟进forName的实现会发现是调用的native方法来实现的,也就是JNI……

阅读全文

开发第一个IDE插件

前言 问:为什么要开发idea插件呢? 答:你一定用过很多idea插件,比如ideaVim,Maven,lombok,markdown等。 这些都是插件,安装后你的idea就能获得对应的能力。 现在想象你是一……

阅读全文