Tag: Java
All the articles with the tag "Java".
-
ThreadLocal 内存泄露的实例分析
技术笔记前言 之前写了一篇[深入分析 ThreadLocal 内存泄漏问题][1]是从理论上分析ThreadLocal的内存泄漏问题,这一篇文章我们来分析一下实际的内存泄漏案例。分析问题的过程比结果更重要,理论结合实际才能彻底分析出内存泄漏的原因。 案例与分析 问题背景 在 Tomcat 中,下面的代码都在...
-
深入分析 ThreadLocal 内存泄漏问题
技术笔记前言 ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用 ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕三个方面来分析 ThreadLocal 内存泄漏的问题 Threa...
-
【Getty】Java NIO框架设计与实现
技术笔记前言 [Getty][1]是我为了学习 Java NIO 所写的一个 NIO 框架,实现过程中参考了 Netty 的设计,同时使用 Groovy 来实现。虽然只是玩具,但是麻雀虽小,五脏俱全,在实现过程中,不仅熟悉了 NIO 的使用,还借鉴了很多 Netty 的设计思想,提升了自己的编码和设计能力。...
-
Java 线程池框架核心代码分析
技术笔记前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和资源消耗都是很高的。线程池应运而生,成为我们管理线程的利器。Java 通过Executor接口,提供了一种标准的方法将任务的提交过程和执行过程解耦开来,并用Runnable表示任务。 下面,我们来分析一下 Java 线程池框架的实...
-
RedisHttpSession 的设计与实现
技术笔记前言 [RedisHttpSession][1] 是我的一个 Java 开源项目,通过将 Session 存储在 Redis 中实现多服务器间共享 Session,同时这一过程是完全透明的。主要用于支持 RESTfuls API。下面我将对其核心类进行分析,阐述它的设计以及实现细节。 RedisHt...
-
三言两语:JVM 字节码执行实例分析
技术笔记前言 最近在看《Java 虚拟机规范》和《深入理解JVM虚拟机》,对于字节码的执行有了进一步的了解。字节码就像是汇编语言,是 JVM 的指令集。下面我们先对 JVM 执行引擎做一下简单介绍,然后根据实例分析 JVM 字节码的执行过程。包括: 1. for 循环字节码分析 2. try catch f...
-
Java String 对 null 对象的容错处理
技术笔记前言 最近在读《Thinking in Java》,看到这样一段话: Primitives that are fields in a class are automatically initialized to zero, as noted in the Everything Is an Objec...
-
控制反转(IoC)与依赖注入(DI)
技术笔记前言 最近在学习Spring框架,它的核心就是IoC容器。要掌握Spring框架,就必须要理解控制反转的思想以及依赖注入的实现方式。下面,我们将围绕下面几个问题来探讨控制反转与依赖注入的关系以及在Spring中如何应用。 什么是控制反转? 什么是依赖注入? 它们之间有什么关系? 如何在Spring框...