JAVA-SE
文章平均质量分 87
君__莫笑
IT小白,请多指教
展开
-
JVM—类加载机制
类加载机制概述 是什么? 是Java虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验、转换解析和初始化, 最终变成可以被虚拟机直接使用的Java类型的过程。 语言特性 动态加载 动态连接 如果是一个面向接口的类,在运行它之前,就不知道到底运行的是哪个实现类 类加载的时机 类的生命周期 经历7个阶段: 什么时候被“初始化”? 遇到 new、getstatic、putstatic或invokestatic,这四条指令时 反射调用 先初始化其父类 虚拟机启动时,指定一个执行的主类(mai原创 2021-07-05 09:36:44 · 58 阅读 · 0 评论 -
JVM—垃圾回收与内存分配
1. 垃圾回收与内存分配 为啥要了解垃圾回收集和内存分配? 排查各种内存溢出、内存泄漏以及达到高并发的瓶颈时,需要对这些自动化的技术进行必要的手动调节与监控。 要解决的三个问题 Who—哪些对象需要回收? When—什么时候回收? How—如何回收? 内存分配与回收的主要战场 线程共享的部分 Java堆 方法区 因为太多不确定性,运行时才知道创建哪些对象,创建多少个对象。 而线程私有的部分,需要的内存在编译的时候就确定了,不需要过多的干预。 2. 对象你死没死? 1.引用计数算法 给予引用时+1,原创 2021-07-05 09:36:14 · 103 阅读 · 0 评论 -
JVM—内存模型
什么是JVM 是一个通过在实际的计算机上模拟各种计算机功能的虚拟计算机,也是JAVA语言“Write Once ,Run Anywhere~”的核心技术。 JDK、JRE和JVM 三者是什么关系? 官方图 很显然,JDK是JRE的超集,除了包含JRE以外,还包含一些编译调试程序和应用的工具。(包括java、javac、JAVA API) JRE是JVM的超集,包含JVM,并且还包含一些JAVA核心类库、运行程序和应用的其他组件。(JAVA SE API子集 + JVM) JVM主要的工作是解释字节码指原创 2021-07-05 09:31:38 · 76 阅读 · 0 评论 -
Java子函数是否会直接改变主函数中的值,Integer等包装类为什么搞特殊?
Java子函数是否会直接改变主函数中的值,Integer等包装类为什么搞特殊? 在读《剑指Offer》时,看到一个字符串操作的讲解,引发一个思考: Java语言中,子函数是否会直接改变主函数中的值? 答:分情况。 两种情况: 基本数据类型: 简单的值传递,不会改变主函数中的值。 引用类型(对象的引用): 引用的值传递(相当于指针的地址传递)可以改变对象属性的值。 数组也是一种引用。 实际上是引用的值传递(两个引用指向同一个对象,可以理解为对象的地址传递) 这个时候只能改变引用所指向对象的属性,而不是对对原创 2020-12-02 16:06:06 · 821 阅读 · 0 评论 -
小小贪吃蛇——JAVA
java_se基础 贪吃蛇 有源码。并附上教程 还有直接可以运行的程序原创 2017-08-26 14:29:28 · 1134 阅读 · 1 评论