java成神之路
-
Java虚拟机:JVM内存模型
JVM内存模型 内存模型 Java内存模型,往往是指Java程序在运行时内存的模型,而Java代码是运行在Java虚拟机之上的,由Java虚拟机通过解释执行(解释器)或编译执行(即…
-
Java并发编程:JMM和volatile关键字
Java内存模型 随着计算机的CPU的飞速发展,CPU的运算能力已经远远超出了从主内存(运行内存)中读取的数据的能力,为了解决这个问题,CPU厂商设计出了CPU内置高速缓存区。高速…
-
Java虚拟机:JVM类加载机制
JVM类加载机制 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存…
-
Java虚拟机:垃圾收集器和内存分配策略
垃圾收集器和内存分配策略 垃圾收集器 说垃圾收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。下图展示了7种作用于不同分代的收集器,其中用于回收新生代的收集器包括S…
-
Java虚拟机:JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题: OutOfMem…
-
Java虚拟机:JVM内存模型和volatile详解
JVM内存模型和volatile详解 Java内存模型 随着计算机的CPU的飞速发展,CPU的运算能力已经远远超出了从主内存(运行内存)中读取的数据的能力,为了解决这个问题,CPU…
-
Java虚拟机:怎么确定对象已经死了?
怎么确定对象已经死了? 怎么确定对象已经死了?怎么确定一个对象已经死了? 引用计数算法 给对象中添加一个引用计数器,每当有个地方引用它,计数器值就加1,引用失效,计数器减1,任何时…
-
Java并发编程:线程封闭和ThreadLocal详解
什么是线程封闭 当访问共享变量时,往往需要加锁来保证数据同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程中访问数据,就不需要同步了。这种技术称为线程封闭。在Java语言中…
-
Java虚拟机:虚拟机类加载机制
虚拟机类加载机制 代码编译的结果从本地机器码转变成字节码,是存储格式发展的一小步,确是编程语言发展的一大步。 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换…
-
Java基础:JavaIO流学习总结
IO是指对数据流的输入和输出,也称为IO流,IO流主要分为两大类,字节流和字符流。字节流可以处理任何类型的数据,如图片,视频等,字符流只能处理字符类型的数据。 IO流的本质是数据传…
-
Java基础:攻破JAVANIO技术壁垒2
攻破JAVA NIO技术壁垒2 SocketChannel 说完了FileChannel和Buffer, 大家应该对Buffer的用法比较了解了,这里使用SocketChannel…
-
Java基础:攻破JAVANIO技术壁垒1
现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty。 学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能…