第08章_对象实例化和直接内存 8.1. 对象实例化面试题 美团 对象在JVM中是怎么存储的? 对象头信息里面有哪些东西? 蚂蚁金服 Java对象头有什么? 8.1.1. 创建对象的方式 new:最常见的方式、Xxx的静态方法,XxxBuilder/XxxFactory的静态方法 Class的newInstance方法:反射的方式,只能调用空参的构造器,权限必须是public Constructo 2022-05-16 JVM #Java #JVM
第07章_方法区 7.1. 栈、堆、方法区的交互关系 对于以下图片 将对象的类型加载到方法区 如果当前对象是存在于一个方法当中,则person变量存储在虚拟机栈当中 创建的对象存储在堆内存当中 堆、栈和方法区之间的交互关系如下: 对于Java虚拟机栈中的局部变量表中的对象引用指向堆空间当中的对象实例,其中堆空间中的对象实例 当中存在到对象类型数据的指针,其指向了方法区当中对应的对象类型。 7.2方 2022-05-15 JVM #Java #JVM
第06章_堆 6.1. 堆(Heap)的核心概述在 JVM 中,堆是用于存储对象实例和数组的区域。 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,进程中的多个线程共享同一堆空间的。 ==一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。== ==Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM 2022-05-14 JVM #Java #JVM
第05章_本地方法栈 5.1. 什么是本地方法?一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern “c” 告知c++编译器去调用一个c的函数。 在定义一个native method时,并不提供实现体(有些像定 2022-05-13 JVM #Java #JVM
第04章_虚拟机栈 4.1.1. 虚拟机栈出现的背景由于跨平台性的设计,**Java的指令都是根据栈来设计的**。不同平台CPU架构不同,所以不能设计为基于寄存器的。 ==优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。== 4.1.2. 初步印象有不少Java开发人员一提到Java内存结构,就会非常粗粒度地将JVM中的内存区理解为仅有Ja 2022-05-12 JVM #Java #JVM
第03章_运行时数据区 3.1. 运行时数据区3.1.1. 概述本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。 我们通过磁盘或者网络IO得到的数据,都需要先加载到内存中,然后CPU从内存中获取数据进行读取,也就是说内存充当了CPU和磁盘之间的桥梁 JVM内存布局规定了Java在运行过程中内存申请、分配 2022-05-12 JVM #Java #JVM
第02章_类加载子系统 2.1类加载子系统的作用类加载器子系统负责从文件系统或者网络中加载Class文件,并将其转换为 Java 虚拟机可以处理的二进制字节流。class文件在文件开头有特定的文件标识。 2.2类加载子系统的结构 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存 2022-05-11 JVM #Java #JVM
第01章_JVM与Java体系结构 1.1. 前言作为Java工程师的你曾被伤害过吗?你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接OOM 想解决线上JVM GC问题,但却无从下手 新项目上线,对各种JVM参数设置一脸茫然,直接默认吧然后就JJ了 每次面试之前都要重新背一遍JVM的一些原理概念性的东西,然而面试官却经常问你在实际项目中如何调优JVM参数,如何解决GC、OOM等问题,一脸懵逼 2022-05-10 JVM #Java #JVM
数据结构与算法 1.链表1.1单向链表1.1.1单向链表概述 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素+ 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。 链表有两个比较重要的部分组成: 指针指向下一个节点的地址,(即内存位置的直接地址) 节点链表中的组成部分,对于单链表,一个节 2022-03-22 数据结构与算法 #数据结构与算法
第19章_数据库备份与恢复 在任何数据库环境中,总会有不确定的意外情况发生,比如例外的停电、计算机系统中的各种软硬件故障、人为破坏、管理员误操作等是不可避免的,这些情况可能会导致数据的丢失、服务 器瘫痪等严重的后果。存在多个服务器时,会出现主从服务器之间的数据同步问题。 为了有效防止数据丢失,并将损失降到最低,应定期对MySQL数据库服务器做备份。如果数据库中的数据丢失或者出现错误,可以使用备份的数据进行恢复。主从服务器之间 2021-05-06 MySQL #MySQL #数据库