
java基础
文章平均质量分 67
shuzhou12
这个作者很懒,什么都没留下…
展开
-
jvm内存管理
jvm内存管理原创 2023-01-04 22:23:03 · 869 阅读 · 0 评论 -
JVM学习笔记
jvm原创 2022-11-02 22:06:46 · 654 阅读 · 0 评论 -
JUC学习笔记
juc包学习笔记,多线程学习笔记原创 2022-09-27 22:51:12 · 472 阅读 · 0 评论 -
ArrayList的扩容
默认底层容量为10,但是第一次add元素的时候,会首先扩容一半,即15 当准备向list中添加第16个元素的时候,会触发第二次扩容,依次类推。原创 2020-03-27 17:58:05 · 734 阅读 · 0 评论 -
java编程思想读书笔记二十三 死锁 concurrent新类库中的构件
死锁新类库中的构件CountDownLatchCyclicBarrierDelayQueuePriorityBlockingQueueScheduledExecutorSemaphoreExchanger性能调优ReadWriteLock进阶读物...翻译 2020-03-15 22:40:52 · 130 阅读 · 0 评论 -
java编程思想读书笔记二十二 并发之线程间通信
wait notify notifyAllsleep和wait的区别例子1例子2使用Lock和Condition实现例子1例子3 错失信号例子4 生产者与消费者例子5 生产者与消费者队列 BlokingQueue例子6 更加复杂的生产者消费者队列例子7 线程间输入输出 PipedR...翻译 2020-03-15 21:46:18 · 143 阅读 · 0 评论 -
java编程思想读书笔记二十一 并发一
基本的线程机制定义一个任务术语绑定任务到线程Executor接口从任务中产生返回值sleep在main线程中,是无法捕捉到其它线程抛出的异常的,这些异常会被直接打印在控制台。优先级yield 让步后台(daemon)线程线程工厂join...翻译 2020-03-15 18:27:00 · 146 阅读 · 0 评论 -
java编程思想读书笔记二十 对象序列化
transient关键字翻译 2020-03-12 22:41:00 · 157 阅读 · 0 评论 -
java编程思想读书笔记十九 IO
File类InputStream OutputStreamInputStream类型OutputStream类型InputStream和OutputStream 装饰器Reader和WriterRandomAccessFileI/O流的典型使用方式标准IONIOByteBu...翻译 2020-03-12 22:30:17 · 118 阅读 · 0 评论 -
jvm问题分析
找出占用cpu或内存最多的线程并转储线程堆栈使用top找出消耗资源最多的进程pid, top 找出进程中消耗资源最多的线程pid, top -Hp pid 生成线程堆栈dump文件, jstack -l pid 分析线程状态,如阻塞,等待锁,死循环等原因转储堆内存文件快照jmap -dump:live,format=b,file=heap-dump.bin...原创 2020-03-12 17:55:18 · 123 阅读 · 0 评论 -
java编程思想读书笔记十八 泛型
泛型基本概念例子1 实现元组类库例子2 实现一个堆栈泛型接口泛型方法类型参数推断显式的类型说明例子 通用的Generator例子2 简化元组使用泛型内部类擦除迁移兼容性擦除的问题边界处的动作...翻译 2020-03-10 15:47:17 · 140 阅读 · 0 评论 -
java编程思想读书笔记十七 反射与动态代理
反射动态代理翻译 2020-03-08 17:03:49 · 180 阅读 · 0 评论 -
java编程思想读书笔记十六 类型信息
什么是RTTIClass对象instanceofinstanceof与class的==或equals()方法的区别总结翻译 2020-03-08 16:57:13 · 94 阅读 · 0 评论 -
java编程思想读书笔记十五 正则表达式
翻译 2020-03-07 22:02:26 · 139 阅读 · 0 评论 -
java编程思想读书笔记十四 字符串
+ 符号 与 StringBiulderString上的操作格式化输出扫描输入原创 2020-03-07 21:54:18 · 126 阅读 · 0 评论 -
java编程思想读书笔记十三 异常处理
一般使用异常类的名称表示异常信息异常调用栈输出异常日志重新抛出异常异常链不受检查异常java异常的缺陷异常限制, 子类方法覆盖父类方法时,只能抛出范围更小的异常不知道如何处理被检查异常时如何处理...原创 2020-03-07 15:13:33 · 148 阅读 · 0 评论 -
java编程思想读书笔记十二 Collections工具类
原创 2020-03-05 21:40:30 · 129 阅读 · 0 评论 -
java编程思想读书笔记十一 深入了解容器
Collection的功能方法可选操作List的功能方法(略)Set的存储功能SortedSet队列优先级队列双向队列原创 2020-02-28 18:24:41 · 126 阅读 · 0 评论 -
java编程思想读书笔记十 容器类库
总结泛型和容器向容器中添加元素的方式ListLinkedList迭代器StackSetMapQueuePriorityQueueCollection和Iterator...原创 2020-02-23 19:08:47 · 126 阅读 · 0 评论 -
java编程思想读书笔记九 内部类
本章基本都是精华,阅读第10章原创 2020-02-22 17:35:28 · 146 阅读 · 0 评论 -
java编程思想读书笔记八 接口与抽象类
抽象类接口接口的应用场景策略模式解耦例子1例子2使用接口还是抽象类使用接口的时候,实现类可以实现多个接口扩展接口接口字段嵌套接口类中嵌套接口接口中嵌套接口接口与工厂方法设计模式例子1例子2...原创 2020-02-22 11:33:02 · 157 阅读 · 0 评论 -
java编程思想读书笔记七 多态
动态绑定多态的缺陷原创 2020-02-19 18:48:25 · 118 阅读 · 0 评论 -
java编程思想读书笔记五 访问权限控制
包(package)包的作用什么是类库包的命名,使用反顺序的域名,因为域名是唯一的,如果没有域名则要起一个独一无二的包名。如何通过包名找到对应的本机的class文件位置默认包包访问权限public、protected、private 略类的访问权限...原创 2020-02-18 18:29:07 · 138 阅读 · 0 评论 -
java编程思想读书笔记四 重载、static、this、数组
方法重载this关键字的用法static用法初始化代码块有什么用数组初始化原创 2020-02-17 18:54:47 · 103 阅读 · 0 评论 -
java编程思想读书笔记三 控制执行流程
true和falseif-else(略)迭代Foreach语法(略)returnbreak和continuegotoswitch原创 2020-02-17 12:28:25 · 95 阅读 · 0 评论 -
java编程思想读书笔记二 操作符
什么是操作符操作符种类赋值 (=)算术操作符自动递增和递减关系操作符逻辑操作符直接常量指数计数法按位操作符移位操作符三元操作符(boolean-exp ? value0 : value1)字符串操作符(= +=)类型转换操作符关于Random类的一点知识...原创 2020-02-17 11:35:17 · 115 阅读 · 0 评论 -
java编程思想读书笔记一 对象导论
组合和聚合继承单根继承结构容器参数化类型原创 2020-02-16 12:54:55 · 187 阅读 · 0 评论 -
深入理解jvm读书笔记二十一 java线程安全与锁优化
线程安全的定义线程的安全等级线程安全的实现方法互斥同步非阻塞同步无同步方案锁优化自旋锁与自适应自旋锁消除锁粗化轻量级锁偏向锁...原创 2020-01-13 23:21:04 · 170 阅读 · 0 评论 -
深入理解jvm读书笔记二十 高效并发之java线程的实现
线程的实现java采用的是第一种实现java线程调度线程优先级线程状态转换原创 2020-01-05 21:08:09 · 141 阅读 · 0 评论 -
深入理解jvm读书笔记十九 高效并发之java线程内存模型
java内存模型内存间的交互操作对于Valatile型变量的特殊规则Valatile的第一种特性 对其他线程的可见性Valatile可见性的使用场景Valatile的第二种特性 禁止指令重排序优化使用volatile还是syncronizedvolatile总结原子性、可见性与有序性...原创 2020-01-05 20:59:55 · 152 阅读 · 0 评论 -
深入理解jvm读书笔记十八 java语法糖
泛型与类型擦除自动装箱、拆箱与遍历循环原创 2020-01-04 20:41:43 · 131 阅读 · 0 评论 -
深入理解jvm读书笔记17 jvm编译系统
前面已经学习过jvm的内存系统、执行系统,现在来看下jvm的编译系统。下图第一排和第三排那条分支是传统编译原理中程序代码到目标机器代码的生成过程,而中间那条分支就是解释执行的过程。前端编译器前端编译器是指把java文件编译成.class字节码文件的编译器,如Sun的javac,Eclipse JDT中的增量式编译器(ECJ),前端编译器基本不会对代码进行优化,它的主要作用是改善程序...原创 2020-01-04 20:05:21 · 185 阅读 · 0 评论 -
深入理解jvm读书笔记十六 基于栈的字节码解释执行引擎
原创 2020-01-04 13:56:26 · 122 阅读 · 0 评论 -
深入理解jvm读书笔记十五 jvm执行引擎之方法调用
方法调用不同于方法执行,方法调用阶段唯一的任务就是确定调用方法的版本(即调用哪个方法),暂时还不涉及方法内部的具体运行过程。编译期间就能确定调用哪个方法-----解析分派分派过程将会揭示重载和重写在jvm是如何实现的。静态分派确定一个方法涉及几个角色,方法接收者、接收者的静态类型或实际类型、方法的描述符(主要是名称和参数)、参数的静态类型和实际类型。静态分派过程...原创 2020-01-01 20:53:33 · 175 阅读 · 0 评论 -
深入理解jvm读书笔记十四 jvm执行引擎之栈帧结构
运行时栈帧结构局部变量表局部变量表(Local Variable Table)用于存放变量的值,只是保存值,并没有变量的名称信息,一个方法的的局部变量包括方法的参数以及方法体中定义的局部变量,这些变量的值按照顺序存放在局部变量表中,并且如果字节码执行的行号超过了一个变量的作用域,那么这个变量值的slot是可以被复用的。操作数栈动态连接...原创 2020-01-01 19:37:04 · 121 阅读 · 0 评论 -
深入理解jvm读书笔记十三 类加载器
如何确定jvm中的一个类的唯一性双亲委派模型ps: bootstrap、ext、app这三种类加载器都没有覆盖父类的findClass(name)方法,默认会直接抛出异常。所以如果想自己实现一个类加载器,一般会覆盖父类的这个方法,把自己的类加载逻辑放到这个方法中。不符合双亲委派模型的类加载JDBC的例子jdbc的驱动类是一个SPI,由rt.jar中的...原创 2020-01-01 15:29:49 · 139 阅读 · 0 评论 -
深入理解jvm读书笔记十二 jvm类加载机制
概述加载ps:Class对象比较特殊,它虽然是对象,但是存放在方法区内。验证准备解析类或接口解析字段解析类方法解析接口方法解析初始化初始化过程就是执行<cinit>方法的过程,下面是<cinit>方法的一些细节...原创 2019-12-29 19:59:15 · 168 阅读 · 0 评论 -
深入理解jvm读书笔记十一 字节码指令
数据类型相关的字节码指令操作栈和局部变量表指令运算指令类型转换指令对象创建与访问指令操作数栈管理指令控制转移指令方法调用和返回指令异常处理指令同步指令...原创 2019-12-29 18:43:53 · 148 阅读 · 0 评论 -
深入理解jvm读书笔记十 Class文件结构下 常用的属性表
Code属性code属性例子exception_table 例子Exceptions属性LineNumberTable属性LocalVirable属性SourceFile属性ConstantValue属性InnerClasses属性Depr...原创 2019-12-29 16:06:40 · 139 阅读 · 0 评论 -
深入理解jvm读书笔记九 Class文件结构中 字段表、方法表、属性表
字段表(fields_count、fields)fields_count表示字段的数量,fields包含fields_count个字段表(field_info)。name_indexdescriptor_index疑问:为什么不直接引用常量池中的CONSTANT_FIELD_REF类型的常量项索引值?attributes_count attribute...原创 2019-12-29 14:33:16 · 289 阅读 · 0 评论