
java核心
东平王北星
Java底层,多线程,框架源码分析。
展开
-
try-with-resource 关闭资源分析
环境说明要求: java 7 版本以上 测试环境: 1.8.0_102Closeable首先自己建一个 MyCloseable 实现 java.io.Closeable,在关闭资源时打印一句话:”关闭资源”public class MyCloseable implements Closeable { @Override public void close(...原创 2018-07-02 10:38:22 · 2109 阅读 · 1 评论 -
RandomAccessFile 乱码问题
目录RandomAccessFile 乱码问题分析byte数组读取byte数组截断大byte直接转换readLine乱码深度解析原值转换总结最佳实践RandomAccessFile 乱码问题 d:/123.txt 的内容(无BOM UTF-8格式编码)ea你好测试代码 @Test public void testR...原创 2018-08-04 00:48:10 · 8905 阅读 · 4 评论 -
自定义注解 原理详解
目录使用方式简介注解是什么注解的实现类是什么第一节1.1 获取Annotation1.2 获取AnnotationData1.3 创建AnnotationData第二节2.1 解析注解映射2.2 这里仅仅是进行操作之前做了验证和异常捕获,接着分析 parseAnnotations2第三节3.1 解析注解映射3.1.1 创建注解Class对象3.1.2 获取...原创 2018-07-06 14:55:42 · 5927 阅读 · 0 评论 -
enum 详解
enum 简介 jdk版本 1.8.0_102 新建枚举首先新建一个枚举:package com.aya;public enum Sex { MALE,FEMALE; public void goToilet(){ System.out.pri...原创 2018-07-05 15:22:38 · 2043 阅读 · 0 评论 -
synchronized 与 static synchronized 的区别
目录静态锁静态锁+Class对象锁普通锁普通锁+this对象锁静态锁+普通锁首先synchronized 锁的一定是某个对象, 本节讨论的是下面两个情况public class SyncType{ public synchronized void syncCurrent() { } public synchronized stat...原创 2018-07-05 11:24:45 · 712 阅读 · 1 评论 -
HashMap 详解
构造简介默认初始容量初始容量+加载因子复制目标集合核心putcontainsKeyreplacegetclearremove拓展门槛值门槛-例1门槛-例2门槛-例3hash碰撞hash&&equals加入链表旧值替换树化重置大小最佳实践 JDK版本 ...原创 2018-07-04 18:00:43 · 866 阅读 · 1 评论 -
ArrayList 详解
目录构造简介创建对象第一种 空构造第二种 默认初始化容量第三种 复制目标集合核心价值add 添加add 总结remove 删除删除对象删除索引低价值get 获取对象set 设置指定位置的值containsindexOf拓展序列化写入最大容量判断modCount遍历细节详解构造简介创建对象通过ne...原创 2018-07-03 12:24:50 · 1048 阅读 · 1 评论 -
for+foreach 详解
目录简介for源码idea反编译javap反编译foreach源码反编译idea反编译javap反编译最佳实践for和foreach 遍历的坑foreach循环for循环for循环修复Date开始日期小于等于结束日期开始日期小于结束日期简介foreach 的语法糖实现for和foreach 遍历的坑为什么...原创 2018-07-09 17:53:50 · 2146 阅读 · 0 评论 -
8大基本类型的包装类型缓存探究
目录自身范围缓存booleancharbyte范围为256的缓存shortint (可以通过参数配置上限)long不被缓存floatdouble自身范围缓存booleanboolean 的包装类型,缓存最简单,直接定义为静态常量就可以public final class Boolean implements java.io.Se...原创 2018-07-02 16:12:21 · 1377 阅读 · 1 评论 -
Java-茴香豆研究(一)
问题: public static void main(String[] args) throws InterruptedException { int i = 0; i = i++; System.out.println(i); }输出内容为0这是一个在JAVA语言层面无法解决的问题。 必须了解字节码的执行过程才能理解输...原创 2018-08-22 16:15:36 · 279 阅读 · 1 评论