- 博客(24)
- 收藏
- 关注
原创 16_垃圾回收器
垃圾回收器GC分类及性能指标本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论GC分类及性能指标...
2021-04-03 17:01:50 136
原创 15_垃圾回收相关概念
垃圾回收相关概念System.gc()的理解内存溢出与内存泄漏内存溢出(OOM)内存泄漏(Memory Leak)Stop The World垃圾回收的并行与并发并发(Concurrent)并行(Parallel)垃圾回收的并行与并发安全点与安全区域安全点(SafePoint)安全区域(Safe Region)引用强引用软引用弱引用虚引用终结器引用本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多
2021-01-31 16:16:47 309
原创 14_垃圾回收相关算法
垃圾回收相关算法标记阶段:引用计数算法对象存活判断引用计数算法循环引用小结标记阶段:可达性分析算法(或根搜索算法、追踪性垃圾收集)GC Roots对象的finalization机制MAT与JProfiler的GC Roots溯源清除阶段:标记-清除算法清除阶段: 复制算法清除阶段:标记-压缩算法小结分代收集算法增量收集算法、分区算法分区算法本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论
2021-01-29 22:09:36 311
原创 13_垃圾回收概述
垃圾回收概述什么是垃圾为什么需要GC?早期垃圾回收Java垃圾回收机制本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论什么是垃圾为什么需要GC?早期垃圾回收Java垃圾回收机制担忧:perm区即元空间...
2021-01-21 19:10:46 133
原创 12_String Table
String TableString的基本特性String的内存分配String的基本操作字符串拼接操作intern()的使用StringTable的垃圾回收G1中的String去重操作本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论String的基本特性String:字符串使用一对""引起来表示String声明为final的,不可被继承String实现了Seriali
2021-01-21 17:16:41 234 1
原创 11_执行引擎
执行引擎执行引擎概述Java代码编译和执行的过程机器码、指令、汇编语言机器码指令指令集汇编语言高级语言解释器JIT编译器Java代码的执行分类:HotSpot JVM的执行方式概念解释热点代码及探测方式方法调用计数器回边计数器HotSpot VM中JIT分类本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论执行引擎概述执行引擎是Java虚拟机核心组成部分之一“虚拟机”是一个相对于“物
2021-01-19 20:44:46 79
原创 10_对象的实例化、内存布局与访问定位
对象的实例化、内存布局与访问定位对象实例化对象内存布局对象的访问定位直接内存(Direct Memory)本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论对象实例化对象内存布局对象的访问定位句柄访问:句柄访问的优点:直接指针(HotSpot使用):直接内存(Direct Memory)不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》
2021-01-19 11:16:09 87
原创 09_方法区
方法区栈、堆、方法区的交互关系方法区的理解设置方法区大小与OOM方法区的内部结构本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论栈、堆、方法区的交互关系方法区的理解可以把永久代和元空间理解成对于方法区接口的不同实现,对于hotspot而言,可以认为永久代或元空间就等价于方法区,其他虚拟机不一定有永久代的概念。设置方法区大小与OOM如何解决这些OOM?方法
2021-01-17 20:56:29 60
原创 08_堆
堆堆的核心概述内存细分堆空间内部结构(JDK7)堆空间内部结构(JDK8)设置堆内存大小与OOMOOM举例年轻代和老年代对象分配过程概述常用调优工具Minor GC、Major GC与Full GC堆空间分代思想内存分配策略为对象分配过程:TLAB小结堆空间的参数设置堆是分配对象存储的唯一选择吗?逃逸分析之代码优化栈上分配同步省略(消除)分离对象或标量替换小结本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之
2021-01-14 19:10:11 624 2
原创 07_本地方法栈
本地方法栈本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论
2021-01-10 17:02:06 86 1
原创 06_本地方法接口
本地方法接口本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论...
2021-01-10 17:00:19 59
原创 05_虚拟机栈
虚拟机栈虚拟机栈基本内容栈的存储单位栈运行原理栈帧的内部结构局部变量表本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论虚拟机栈基本内容虚拟机栈出现的背景:由于跨平台性的设计,Java指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现;缺点是性能下降,实现同样的功能需要更多的指令。Java虚拟机栈是什么?Java虚
2021-01-10 16:28:43 219
原创 04_程序计数器(PC寄存器)
程序计数器(PC寄存器)PC寄存器介绍因为native方法不是java程序(C程序),所以不能执行。PC寄存器没有GC和OOM两个常见问题使用PC寄存器存储字节码指令地址有什么用?为什么使用PC寄存器记录当前线程的执行地址呢?(换个说法)PC寄存器为什么设计成线程私有?...
2021-01-07 22:53:23 127
原创 03_运行时数据区概述及线程
运行时数据区概述及线程灰色的为线程单独线程私有的,红色为多个线程共享的,即:每个线程:独立包括程序计数器、栈、本地栈线程间共享:堆、堆外内存(永久代或元空间、代码缓存)...
2021-01-07 20:34:19 69
原创 2_类加载子系统
类加载子系统类加载器子系统作用类加载器子系统负责从文件系统或者网络中加载Class文件,Class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)类加载过程加载:通过一个类的全限定名获取定义此类的二进制字节流将
2021-01-06 20:45:01 64
原创 JVM和Java体系结构
JVM和Java体系结构JVM的整体结构HotSpot VM是目前市面上高性能虚拟机的代表作之一它采用解释器与即使编译器并存的架构在今天,Java程序的运行性能早已脱胎换骨,已经达到了可以和C/C++程序一较高下的地步Java程序的执行流程JVM的架构模型Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。区别:基于栈式架构的特点:1、设计和实现更简单,适用于资源受限的系统;2、避开了寄存器的分配难题:使用零地址指令方式分配
2021-01-06 15:25:25 52
原创 Java学习笔记八:新特性
Java学习笔记八:新特性Java8新特性Lambda表达式函数式接口方法引用与构造器引用构造器引用数组引用Stream APIOptional类本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论Java8新特性Lambda表达式1、举例:(o1,o2)->Integer.compare(o1,o2);2、格式:->:Lambda操作符 或 箭头操作符->左边:
2020-09-20 18:48:24 109
原创 Java学习笔记七:Java反射机制
Java学习笔记七:Java反射机制概述代码举例Class类类的加载过程常用方法获取Class类的实例本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论概述代码举例Class clazz = Person.class//1.通过反射,创建Person类对象Constructor cons = clazz.getConstructor(String.class,int.class
2020-09-11 00:41:09 113
原创 Java学习笔记六:IO
Java学习笔记六:IO本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论...
2020-08-10 21:44:56 206
原创 Java学习笔记五:泛型
Java学习笔记五:泛型集合中使用泛型如何自定义泛型结构自定义泛型类和泛型接口自定义泛型方法泛型在继承上的体现通配符有限制的通配符本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论集合中使用泛型//以ArrayList为例ArrayList<Integer> list = new ArrayList<Integer>();list.add(123);list
2020-08-02 22:41:42 116
原创 Java学习笔记四:集合
集合集合框架概述集合框架Collection接口Collection接口方法Iterator迭代器接口List接口ArrayListLinkedListVectorSet接口HashSetLinkedHashSetTreeSet本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论集合框架概述1 集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的内存层
2020-08-01 19:18:33 211
原创 Java学习笔记三:枚举类和注解
Java学习笔记三:枚举类和注解枚举类枚举类的使用自定义枚举类enum关键字定义枚举类Enum类中的常用方法枚举类实现接口注解概述示例本文是记录在尚硅谷学习java的一些笔记,因为是第一篇可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论枚举类枚举类的使用主要内容如何自定义枚举类如何使用关键字enum定义枚举类Enum类的主要方法实现接口的枚举类自定义枚举类//自定义枚举类class Season{ //1.声明
2020-07-25 17:01:32 220
原创 Java学习笔记二:常用类
java学习笔记二:常用类字符串相关的类:StringString的特性String对象的创建本文是记录在尚硅谷学习java的一些笔记,因为是第一篇可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论字符串相关的类:StringString的特性String 类:代表字符串。Java程序中的所有字符串字面值(如“abc”)都读作为此类的实例实现String是一个final类,代表不可变的字符序列字符串是常量,用双引号引起来表示。他们的值在创
2020-07-24 22:24:21 530
原创 Java学习笔记一:多线程
java多线程本文是记录在尚硅谷学习java的一些笔记,因为是第一篇可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论
2020-07-15 23:27:57 409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人