博客
分类
标签
归档
关于
博客
分类
标签
归档
关于
Tau的博客
文章
分类
标签
归档
关于
谈一谈Java常量池之class常量池
Java常量池分为字符串常量池,class常量池和运行时常量池。本文主要讲class常量池。 什么是class常量池 顾名思义,class常量池就是class文件中对应的常量池,那什么是class文件呢,就是将java文件编译得到的字节码文件,jvm所处理的也正是这种字节码文件。而class常量池,指的就是这个字节码文件中对应的一部分内容。 class文件结构 为了进一步了解class文件,...
2019-09-04
Java
Java
Read More
Java中的NIO
NIO(Non-Blocking IO,非阻塞同步IO)是Jdk 1.4后提出的新技术,为什么要提出这个技术呢?是为了解决什么问题呢? 要回答这个问题,就要从传统的阻塞式IO说起。 何为同步异步,何为阻塞非阻塞 对IO来说, 同步:API调用返回时就已经知道执行结果了 异步:API调用返回时还不知道执行结果,需要过一会儿才能知道 阻塞:当没有数据读或者写时,它就一直等啊等,等到有数据来 非...
2019-07-17
Java
Java
Read More
Java反射机制
写这篇文章主要想讲两个问题: 什么是反射 反射存在的意义 反射能做哪些事 什么是反射 反射,简单的来讲,是一种在程序运行时生成对象的技术。为什么说是运行时呢,相比我们平时写代码时创建对象,比如: 123public static void main(){ Object obj = new Object();} 我们创建对象的代码是事先写好的,那么程序在编译的时候...
2019-07-11
Java
Java
Read More
Java集合类之HashMap
OverView HashMap 工作原理 1. jdk 1.7 数据结构: 看一下Entry的结构: 1234final K key;V value;Entry<K,V> next;int hash; put方法: 12345678910111213141516171819202122public V put(K key, V value) { if ...
2019-07-09
Java
Java
Read More
类加载机制
深入理解Java类加载器(ClassLoader) 2017年06月26日 09:34:08 zejian_ 阅读数:115126 版权声明:本文为博主原创文章,请尊重原创,未经博主允许禁止转载,保留追究权 https://blog.csdn.net/javazejian/article/details/73413292 【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) ...
2019-06-05
Java
Java
Read More
java虚拟机
Java内存模型 java运行时数据区域 程序计数器 线程私有的 Java虚拟机栈 线程私有,存放局部变量,返回值地址等 本地方法栈 线程私有,存放局部变量,返回值地址等 Java堆 线程共享区域,几乎所有的对象实例都在这里分配内存。 方法区 存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。 运行时常量池 是方法区的一部分,用于存放编译期生成的各种字面变量和符号引用...
2019-03-04
Java
Java
Read More
java多线程
Threadlocal ThreadLocal是一个支持泛型的类,它为每个线程提供局部变量,这种变量是其他线程访问不到的,实现了线程的数据隔离。 线程间隔离,方法间共享 内部方法 set 12345678public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap m...
2019-01-20
Java
Java
Read More
直面Java
魔数 常量值 比如说用来标识文件类型 JIT JIT(Just in time compiler). 前提: 1. java文件是先被编译成字节码(也就是class文件)然后才载入JVM的 2. JVM中既有解释器又有编译器 及时编译技术就是说,在JVM解释(用的是解释器)执行字节码的时候,遇到一些热点代码(也就是经常被重复执行的代码,具体怎么算重复执行后面有讲到)时,会...
2019-01-12
Java
Java
Read More
Previous
5 / 5