java
文章平均质量分 77
zgcadmin
这个作者很懒,什么都没留下…
展开
-
JVM教程-16-垃圾回收相关概念
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.htmlSystem.gc()的理解引言在默认情况下,通过system.gc()者Runtime.getRuntime().gc()的调用,会显式触发FullGC,同时对老年代和新生代进行回原创 2020-09-18 21:00:25 · 417 阅读 · 1 评论 -
JVM教程-15-垃圾回收相关算法
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html标记阶段:引用计数算法标记阶段:可达性分析算法对象的finalization机制MAT与JProfiler的GC Roots溯源清除阶段:标记-清除算法清除阶段:复制算法清除阶原创 2020-09-17 21:24:25 · 661 阅读 · 1 评论 -
JVM教程-14-垃圾回收概述
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html这次我们主要关注的是黄色部分,内存的分配与回收什么是垃圾引言从上图我们可以很明确的知道,Java和C++语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,原创 2020-09-15 19:18:20 · 324 阅读 · 0 评论 -
JVM教程-13-String Table
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.htmlString的基本特性String的基本特性2String的内存分配3String的基本操作4字符串拼接操作5intem的使用6StringTable的垃圾回收7G1中的St原创 2020-09-14 19:55:26 · 458 阅读 · 0 评论 -
JVM教程-12-执行引擎
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html执行引擎概述执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操原创 2020-09-08 09:33:52 · 482 阅读 · 0 评论 -
JVM教程-11-直接内存
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html直接内存不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。直接内存是Java堆外的、直接向系统申请的内存区间。来源于NIO,通过存在堆中的Di原创 2020-09-04 15:24:52 · 299 阅读 · 0 评论 -
JVM教程-10-对象实例化内存布局与访问定位
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html对象的实例化面试题美团:对象在JVM中是怎么存储的?对象头信息里面有哪些东西?蚂蚁金服:二面:java对象头里有什么对象创建方式new:最常见的方式(本质是构造器)原创 2020-09-03 20:27:35 · 318 阅读 · 0 评论 -
JVM教程-9-方法区
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html栈堆、方法区的交互关系讲这里从线程共享与否的角度来看Person:存放在元空间,也可以说方法区person:存放在Java栈的局部变量表中new Person():存放在J原创 2020-09-03 18:19:40 · 521 阅读 · 0 评论 -
JVM教程-8-堆
堆的核心概述一个进程对应一个JVM实列,其中进程包含多个线程,该进程的n个线程是共享同一堆空间的。一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer,TLAB)。代码演示.原创 2020-08-27 20:06:38 · 971 阅读 · 0 评论 -
JVM教程-7-本地方法栈
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html本地方法栈Java虚拟机栈于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。本地方法栈,也是线程私有的。允许被实现成固定或者是可动态扩展的内存大小。(在内存溢原创 2020-08-21 19:48:20 · 214 阅读 · 0 评论 -
JVM教程-6-本地方法接口
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html什么是本地方法简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如原创 2020-08-21 19:36:25 · 248 阅读 · 0 评论 -
JVM教程-5-虚拟机栈
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM虚拟机栈概述由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。(和第一章的jvm简介相对应)栈和堆栈是运行时的单位,而堆是存储的单位栈解决程原创 2020-08-21 16:55:34 · 756 阅读 · 0 评论 -
JVM教程-4-程序计数器
保存将要提取的下一条指令的地址原创 2020-08-15 17:32:28 · 294 阅读 · 0 评论 -
JVM教程-3-运行时数据区概述及线程
前言转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区内存内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的原创 2020-08-14 17:01:15 · 390 阅读 · 0 评论 -
JVM教程-2-类加载子系统
内存结构概述简图:详细图:类加载器与类的加载过程类加载器子系统作用类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)class原创 2020-08-13 20:32:48 · 1099 阅读 · 0 评论 -
JVM教程-1-JVM简介
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://www.cnblogs.com/yanl55555/category/1686360.htmlJava代码一次编译,到处运行跨语言的JVM(虚拟机只关心字节码文件)JVM的作用JVM的位置JVM的整体结构方法区和堆区是所有线程共享的内存区域;而java栈、本地方法栈和程序计数器是运行是线程私有的内存区域。Java栈又叫做jvm虚拟机栈方法区用于原创 2020-08-11 20:20:03 · 3089 阅读 · 0 评论 -
JAVA30天-高级篇-8-新特性
为了在程序中避免出现空指针异常而创建的。原创 2021-08-22 23:56:04 · 67 阅读 · 0 评论 -
JAVA30天-高级篇-7-反射
Java反射机制概述概念反射相关的主要API* java.lang.Class:代表一个类* java.lang.reflect.Method:代表类的方法* java.lang.reflect.Field:代表类的成员变量* java.lang.reflect.Constructor:代表类的构造器基本使用// 反射操作 @Test public void test1() throws Exception { Class clas = Person.cl原创 2021-08-22 23:55:41 · 81 阅读 · 0 评论 -
JAVA30天-高级篇-6-IO流与网络编程
IO流File类的使用I0流原理及流的分类节点流(或文件流)缓冲流转换流标准输入、输出流打印流数据流对象流随机存取文件流NIO.2中Path、Paths、Files类的使用网络编程原创 2021-08-19 23:23:37 · 191 阅读 · 0 评论 -
JAVA30天-高级篇-4-集合
Java集合框架概述 * 一、集合框架的概述 * * 1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 * 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) * * 2.1 数组在存储多个数据方面的特点: * > 一旦初始化以后,其长度就确定了。 * > 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。 * 比如:String[] arr;in原创 2021-08-19 12:50:07 · 83 阅读 · 0 评论 -
JAVA30天-高级篇-3-枚举类与注解
① 注解声明为:@interface* ② 内部定义成员,通常使用value表示* ③ 可以指定成员的默认值,使用default定义* ④ 如果自定义注解没有成员,表明是一个标识作用。如果注解有成员,在使用注解时,需要指明成员的值。自定义注解必须配上注解的信息处理流程(使用反射)才有意义。自定义注解通过都会指明两个元注解:Retention、Target@Inherited。原创 2021-08-18 17:58:46 · 103 阅读 · 0 评论 -
JAVA30天-高级篇-2-常用类
字符串相关的类概述* String:字符串,使用一对""引起来表示。* 1.String声明为final的,不可被继承 2.String实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小* 3.String内部定义了final char[] value用于存储字符串数据* 4.通过字面量的方式(区别于new给一个字符串赋值,此时的字符串值声明在字符串常量池中)。* 5.字符串常量池中是不会存储相同内容(原创 2021-08-18 17:29:27 · 76 阅读 · 0 评论 -
JAVA30天-高级篇-1-IDEA和多线程
IntelliJ IDEA 2019.2.4\bin\idea64.exe.vmoptions 配置启动参数。原创 2021-08-18 16:08:11 · 141 阅读 · 0 评论 -
JAVA30天-基础篇
准备:环境变量:原创 2021-08-18 15:17:24 · 266 阅读 · 0 评论 -
Java30零基础入门教程-目录
JAVA30天-基础篇JAVA30天-高级篇-1-IDEA和多线程JAVA30天-高级篇-2-常用类JAVA30天-高级篇-3-枚举类与注解JAVA30天-高级篇-4-集合JAVA30天-高级篇-5-泛型JAVA30天-高级篇-6-IO流与网络编程JAVA30天-高级篇-7-反射JAVA30天-高级篇-8-新特性...原创 2021-08-22 23:56:18 · 121 阅读 · 1 评论