【jvm】深入理解java虚拟机读书笔记
1.内存分配和回收策略:java技术体系中提倡自动内存管理核心解决两个问题:给对象分配内存 回收分配给对象内存, 对象优先在新生代(Eden)分配 2.垃圾回收器分为:Serial收集器,ParNew收集器,Parallel Scavenge收集器,Serial Old收集器, Parallel Old收集器,CMS...
2024-01-10java虚拟机深入学习之内存管理机制
前言前面说过了类的加载机制,里面讲到了类的初始化中时用到了一部分内存管理的知识,这里让我们来看下Java虚拟机是如何管理内存的。先让我们来看张图有些文章中对线程隔离区还称之为线程独占区,其实是一个意思了。下面让我们来详细介绍下这五部分;运行时数据区Java虚拟机在执行Java...
2024-01-10java虚拟机中的栈结构如何理解
对于java中的内存来说,有一些特定的名词,我们是没有进行了系统的学习,这使得对于概念的理解上比如模糊,栈结构就是一个比较典型的词。相信在线程的存储、java虚拟机中,我们都有频繁的接触到。下面我们就对java栈进行说明,在对详细的结构展开分析,大家都来看看吧。1、java栈说明Java栈是JVM...
2024-01-10深入理解 Java 虚拟机之学习笔记(2)
本节介绍 Java堆的OutOfMemoryError测试Eclipse Memory Analyzer分析内存溢出 虚拟机栈和本地方法栈StackOverflowError测试方法区和运行时常量池溢出本机直接内存溢出一、Java堆的OutOfMemoryError测试 (1)首先设置debug configuration。如下图所示: (2)接下来进行编码操作,如下面的代码所示,不断添加...
2024-01-10转载 深入理解java类加载器
每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机...
2024-01-10深入理解Java中的IO
深入理解Java中的IO引言: 对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java > 本文的目录视图如下: Java IO概要 a.Java IO中常用的类 b.Java流类的类结构图1.流的概念和作用2.Java IO所采用的模型 :3.IO流的分类4.Java IO流对象 ...
2024-01-10Java代理模式的深入了解
目录一、静态代理模式1.1、 代理模式的定义:1.2、代理模式的优缺点二、动态代理模式总结一、静态代理模式1.1、 代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。...
2024-01-10java回调机制的理解和使用
在我们分享一种经验给别人时,也会收到别人的方法总结,相当于经验的交流,其中这种方式在java中是回调机制的实现。简单来说,就是某一方法调用一种方法后,又被那种方法调用,是一个相互使用的过程。下面我们就java中回调机制的概念、作用、过程图解带来分析,然后展示回调的实例用法。1....
2024-01-10java 深入理解内存映射文件原理
内存映射文件原理首先说说这篇文章要解决什么问题? 1.虚拟内存与内存映射文件的区别与联系. 2.内存映射文件的原理. 3.内存映射文件的效率. 4.传统IO和内存映射效率对比.虚拟内存与内存映射文件的区别与联系 二者的联系虚拟内存和内存映射文件都是将一部分内容加载到,另一部分放在磁盘上...
2024-01-10深入理解Java中的字符串类型
1.Java内置对字符串的支持; 所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和wstring类实现与C语言兼容和Unicode标准。Java内部通过String类实现对字符串类型的支持。这意味着:我们可以直接对字符串常...
2024-01-10【转】深入理解 Java 垃圾回收机制
一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再 需要考虑内存管理。由于有个垃圾回收机制,Java...
2024-01-10深入理解Java虚拟机(第3版)读书笔记——类文件结构
第6章 类文件结构Java虚拟机不与包括Java语言在内的任何程序语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息。Class类文件的结构任何一个Class文件都对应着唯一的一个类或接口的定义信息,但是反过来说,类或接口并不一...
2024-01-10Java中异或的深入讲解
前言异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。性质1、交换律2、结合律(即(a^b)^c == a^(b^c))3、对于任何数x,都有x^x=0,x^0=x4、自反性 A XOR B XOR B = A XOR 0 = A异或运算最常见于多项式除法,不过它最重要的性质...
2024-01-10深入理解Java高级特性——注解
博主在初学注解的时候看到网上的介绍大部分都是直接介绍用法或者功能,没有实际的应用场景,篇幅又很长导致学习的时候难以理解其意图,而且学完就忘QAQ。本篇文章中我将结合实际的应用场景尽可能由浅入深,平缓的介绍java注解。java注解是jdk1.5以后新出的特性,对于它的应用非常广泛,我们首...
2024-01-10深入理解Java垃圾回收机制以及内存泄漏
前言在segmentfault上看到一个问题:java有完善的GC机制,那么在java中是否会出现内存泄漏的问题,以及能否给出一个内存泄漏的案例。本问题视图给出此问题的完整答案。垃圾回收机制简介在程序运行过程中,每创建一个对象都会被分配一定的内存用以存储对象数据。如果只是不停的分配内存,那么...
2024-01-10含源码解析,深入Java线程池原理
1、池化技术简介在系统开发过程中,我们经常会用到池化技术来减少系统消耗,提升系统性能。在编程领域,比较典型的池化技术有:线程池、连接池、内存池、对象池等。对象池通过复用对象来减少创建对象、垃圾回收的开销;连接池(数据库连接池、Redis连接池和HTTP连接池等)通过复用TCP连接...
2024-01-10理解Java虚拟机——Java内存模型管理
运行时数据区域程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这...
2024-01-10深入了解java-jwt生成与校验
什么是 JWT这里是jwt 官方地址,想了解更多的可以在这里查看。jwt 全称是JSON Web Token,从全称就可以看出 jwt 多用于认证方面的。这个东西定义了一种简洁的,自包含的,安全的方法用于通信双方以 json 对象的形式传递信息。其中简洁,安全,传递信息和 web 系统非常契合。jwt 实际上就是一个字符串,...
2024-01-10【深入Java虚拟机】二 类加载与双亲委派
https://blog.csdn.net/zhangliangzi/article/details/51338291 -参考双亲委派过程:当一个类加载器收到类加载任务时,立即将任务委派给它的父类加载器去执行,直至委派给最顶层的启动类加载器为止。如果父类加载器无法加载委派给它的类时,将类加载任务退回给它的下一级加载器去执行;除了启动类加载器以外...
2024-01-10深入了解Java对象的克隆
今天要介绍一个概念,对象的克隆。本篇有一定难度,请先做好心理准备。看不懂的话可以多看两遍,还是不懂的话,可以在下方留言,我会看情况进行修改和补充。 克隆,自然就是将对象重新复制一份,那为什么要用克隆呢?什么时候需要使用呢?先来看一个小栗子: 简单起见,我们...
2024-01-10Java职责链模式的深入了解
目录一、职责链模式的定义与特点二、职责链模式的结构三、职责链模式案例总结一、职责链模式的定义与特点定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到...
2024-01-10深入理解Java类加载机制,再也不用死记硬背了
深入理解Java类加载机制,再也不用死记硬背了 谈谈“会”的三个层次在《说透分布式事务》中,我举例里说明了会与会的差别。对一门语言的学习,这里谈谈我理解的“会”的三个层次:第一层:了解这门语言的语法、写法,我把它叫做 hello world 级别;第二层:了解这门语言的优劣势...
2024-01-10Java虚拟机详解01----初识JVM
主要内容如下:JVM的概念JVM发展历史JVM种类Java语言规范JVM规范一、JVM的概念:JVM: Java Virtual Machine,意为Java虚拟机。虚拟机: 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统有哪些虚拟机:VMWare、Virtual Box:都是使用软件模拟物理CPU的指...
2024-01-10java虚拟机原理:Class字节码二进制文件分析
目录一、字节码文件 与 JVM二、字节码文件示例三、字节码文件二进制结构分析1、魔数2、次版本号3、主版本号4、常量池个数总结一、字节码文件 与 JVMJava 源码编译成 Class 字节码 ;Java 虚拟机 可以被认为是一个 解释器 , 解释编译后的 Class 字节码文件 , 最后在不同的操作系统中运行 ;Android 虚拟机 不...
2024-01-10Java等待唤醒机制原理实例解析
这篇文章主要介绍了Java等待唤醒机制原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下线程的状态首先了解一下什么是线程的状态,线程状态就是当线程被创建(new),并且启动(start)后,它不是一启动就进入了执行状态(run...
2024-01-10