E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《深入理解Java
JVM篇·JVM内存模型与线程
Java内存模型与线程本文为《
深入理解Java
虚拟机_JVM高级特性与最佳实践·周志明》学习笔记背景知识TPS(每秒事务处理数):代表着1s内服务端平均处理响应的请求总数。
BugGuys
·
2024-01-07 13:21
JAVA
JVM
java
操作系统
多线程
关于JVM我们必须要知道的知识点(一)
之前有看过一些JVM的文章,前段时间把《
深入理解Java
虚拟机》这本书买回来,趁着工作之余好好拜读了一下。但是现在回想起来,书中的知识章节只能记个大概,具体细节早就忘记了。
Android_Jian
·
2024-01-07 10:47
排序之选择排序
今天,我们将学习并
深入理解Java
中的选择排序算法。选择排序简介选择排序是一种简单直观的排序算法。
无问287
·
2024-01-07 08:51
数据结构
排序算法
算法
数据结构
深入理解Java
中的异常处理:代码分析与实践
目录一、引言二、Java异常处理的基本概念三、Java异常的分类(1)运行时异常(2)被检查异常(3)错误四、代码分析与实践五、总结六、愿你今天的微笑如阳光般温暖,愿你今天的运气如彩虹般绚烂。每日一祝福,愿你今天拥有美好的一天。一、引言在Java编程中,异常处理是一个重要的概念。它有助于捕捉和处理程序运行时可能出现的错误,从而确保程序的稳定性和可靠性。本篇博客将通过代码分析,深入探讨Java中的异
喔的 喔的嘛呀
·
2024-01-07 05:46
java
开发语言
深入理解java
.lang.IllegalArgumentException异常
异常简介什么是异常在程序运行过程中,可能会出现一些不符合预期的情况,比如输入参数错误、资源不可用等。为了应对这些异常情况,Java提供了异常机制。异常是程序在执行过程中发生的一些错误或异常情况的信号,它会中断程序的正常执行流程,并将控制权交给异常处理代码。异常分类Java中的异常可以分为两类:可检查异常和不可检查异常。可检查异常(CheckedException):继承自Exception类的异常
念广隶
·
2024-01-06 21:49
Java
java
开发语言
第二章 Java内存区域与内存溢出异常
前言:系列文章来自于本人学习《
深入理解Java
虚拟机》笔记,其中的小章节名称严格对应于原书,方便大家对应到书中去详细学习,同时缩略了一些章节,例如第一章、第六章等,但是不妨碍学习。
倜傥村的少年
·
2024-01-06 14:53
深入理解Java虚拟机
jvm
java 阻塞_
深入理解java
中的底层阻塞原理及实现
谈到阻塞,相信大家都不会陌生了。阻塞的应用场景真的多得不要不要的,比如生产-消费模式,限流统计等等。什么ArrayBlockingQueue,LinkedBlockingQueue,DelayQueue...都是阻塞队列的实现啊,多简单!阻塞,一般有两个特性很亮眼:1.不耗cpu的等待;2.线程安全;额,要这么说也ok的。毕竟,我们遇到的问题,到这里就够解决了。但是有没有想过,这容器的阻塞又是如何
weixin_39945679
·
2024-01-05 20:00
java
阻塞
深入理解Java
虚拟机(周志明第三版)- 第二章:Java内存区域与内存溢出异常
系列文章目录第一章:走近Java第二章:Java内存区域与内存溢出异常Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。系列文章目录一、概述二、运行时数据区域1、程序计数器(ProgramCounterRegister)2、虚拟机栈(JavaVirtualMachineStack)3、本地方法栈(NativeMethodStacks)4、Ja
SKTI_K_Faker
·
2024-01-05 19:38
读书笔记
#
深入理解Java虚拟机
jvm
深入理解Java
中的多线程编程与并发控制
当谈论到Java编程语言时,多线程编程和并发控制是其中最重要的话题之一。Java在多线程领域有着强大的支持和丰富的工具集,允许开发人员利用并发性来提高程序性能和效率。本文将深入探讨Java中的多线程编程和并发控制,包括线程的创建、同步、锁、并发容器以及常见的并发问题和解决方法。1.线程的创建在Java中,线程可以通过继承Thread类或实现Runnable接口来创建。下面是两种创建线程的示例://
IT Talk
·
2024-01-05 12:58
java
开发语言
重新
深入理解Java
Script原型和原型链
1.前言关于JS原型和原型链我之前刚学js就有写过一篇文章,但前两天翻出来一看——什么鬼,这是我写的吗?自己都看不懂了,于是我重新整理思路,写下此篇。原型和原型链是js中的难点也是重点,有句话说,没理解透原型和原型链,就算还没有真正入门的前端。并且原型和原型链会是面试中必不可少的话题。看完这篇相信你能对原型和原型链会有个深刻的理解。2.函数对象JS所有对象分为函数对象和普通对象。凡是通过newFu
Jake蚊说
·
2024-01-05 07:05
《
深入理解JAVA
虚拟机》学习笔记
1.java内存结构,以及每个结构的作用?线程共享区堆内存:所有的对象实例都要在堆上分配方法区:是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据非线程共享区Java虚拟机栈:每个方法在执行的同时都会创建一个栈帧(StackFrame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息本地方法栈:虚拟机调用本地方法的区域程序计数器:当前线程
懒狗罢了
·
2024-01-03 20:56
jvm
跟着腾讯T4学架构:微服务+MySQL+Nginx+Redis+容器化+虚拟机
《
深入理解Java
虚拟机》但要想真的深入理解虚拟机一问肯定远远不够的,但是本文中分三部分对JVM有深入的解析。
写代码的珏秒秒
·
2024-01-02 13:33
架构
微服务
mysql
深入理解Java
虚拟机系列文章
深入理解Java
虚拟机系列文章1.
深入理解Java
虚拟机系列(一)–Java内存区域和内存溢出异常2.
深入理解Java
虚拟机系列(二)–垃圾收集器与内存分配策略3.
深入理解Java
虚拟机系列(三)–虚拟机类加载机制
Zong_0915
·
2024-01-02 09:51
Java虚拟机
深入理解Java
虚拟机系列 - 总结
深入理解Java
虚拟机系列-总结前言一.JVM内存模型和Java对象模型1.1JVM内存模型包括哪些?作用分别是?1.2JVM内存模型中的各个区域的特点?1.3对象分配内存的方式有哪些?
Zong_0915
·
2024-01-02 09:20
Java虚拟机
java
jvm
开发语言
深入理解Java
Spring中的全局异常处理:以Reggie项目为例
在JavaSpring开发中,异常处理是非常关键的一部分。优雅地处理异常不仅可以提升用户体验,还能帮助开发者快速定位问题。本文将通过Reggie项目中的一个实例,深入探讨如何在Spring中使用@ControllerAdvice和@ExceptionHandler实现全局异常处理。项目背景Reggie是一个基于Spring框架的Web应用,它可能包含多个控制器(Controller)来处理不同的业
hoypte
·
2024-01-02 04:29
java
spring
状态模式
《
深入理解Java
虚拟机》3.高效并发_Java内存模型与线程
>>内存模型与线程路飞大佬笔记JMM内存模型、volatile关键字问题总结1.1Java内存模型Java内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到内存和从内存中取出变量值这样的底层细节。此处的变量(Variables)与Java编程中所说的变量有所区别,包括了实例字段、静态字段、和构成数组对象的元素,但是不包括局部变量与方法参数,因为后者是私有的,不会被共享
shstart7
·
2024-01-01 12:52
JVM
读书笔记
java
jvm
Java内存模型
线程
Java内存结构
深入理解java
虚拟机(第二版)——第三章:内存分配与回收策略
一、java对象分配策略java中所说的自动内存管理最终可以归结到两个问题:自动分配不存自动回收内存对象的内存分配主要是在堆上进行,堆根据对象不同的存活周期分为不同的区域,新生对象一般分在了Eden区域,如果启动了线程分配缓冲,则优先会分配到TLAB上。有少数情况新生对象会直接分配到老年代区域。实际情况要根据虚拟机模式和收集器组合来确定。以下结论是Client模式下配合Serial和SerialO
浮生闲游
·
2023-12-31 15:54
杨晓峰-第1讲 | 谈谈你对Java平台的理解?
(如JDK8)内嵌的Class-Loader,例如Bootstrap、Application和ExtensionClass-loader;类加载大致过程:加载、验证、链接、初始化(这里参考了周志明的《
深入理解
99e167907635
·
2023-12-31 08:20
《
深入理解JAVA
虚拟机笔记》并发与线程安全原理
除了增加高速缓存之外,为了使处理器内部的运算单元能尽量被充分利用,处理器可能对输入代码进行乱序执行(Out-Of-OrderExecution)优化。处理器会在计算之后将乱序执行的结果重组,保证该结果与顺序执行的结果一致,但不保证程序中各个语句计算的先后顺序与输入代码中的顺序一致,因此,如果存在一个计算任务依赖另一个计算任务的中间结果,那么其顺序性并不能靠代码的先后顺序来保证。与处理器的乱序执行优
川峰
·
2023-12-31 05:34
Java知识笔记
Java
JVM
线程同步原理
线程实现和调度
原子性
可见性与有序性
锁优化
volatile
深入理解Java
中的CyclicBarrier
深入理解Java
中的CyclicBarrier在并发编程中,协调多个线程以便它们能够在某个点上同步它们的操作是非常重要的。
一休哥助手
·
2023-12-31 04:57
java
开发语言
深入理解Java
中的多线程与同步
引言多线程是计算机科学中一个重要而复杂的主题,而Java作为一门广泛使用的编程语言,对多线程的支持尤为突出。在Java中,多线程编程为开发者提供了一种有效利用计算资源、提高程序性能的方式。然而,多线程编程也带来了一系列挑战,最主要的问题之一就是线程同步。什么是多线程?在计算机领域,多线程是指一个进程(程序的执行单元)中包含多个执行流。这意味着程序可以同时执行多个任务,提高了程序的并发性和响应性。J
疯风0409
·
2023-12-31 01:32
Java
java
开发语言
深入理解Java
中的内部类和匿名类
引言Java中的内部类和匿名类是面向对象编程中的重要概念,它们提供了更灵活的方式来组织代码和实现特定的设计模式。在这篇文章中,我们将深入探讨这两种类的定义、用途和特点。内部类(InnerClasses)1.成员内部类成员内部类是定义在其他类内部的普通类,具有以下特点:publicclassOuter{classInner{//Innerclasscode}}2.局部内部类局部内部类定义在方法或作用
疯风0409
·
2023-12-31 01:31
Java
java
开发语言
Java IO & 集合知识图
参考文章:
深入理解Java
中的IOhttps://blog.csdn.net/qq_25184739/article/details/51205186Java集合框架完全解析https://www.jianshu.com
扯闲话
·
2023-12-30 10:46
《
深入理解JAVA
虚拟机笔记》对象的创建和访问、对象头
对象的创建当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能做常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可以完全确定,为对象分配空间的任务实际上便等同于把一块确定大小的内存块从Java堆中划分出来。
川峰
·
2023-12-29 16:38
Java知识笔记
java
jvm
Java对象的创建
对象头
Java对象的访问
《
深入理解JAVA
虚拟机笔记》类加载机制
类加载的时机一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段,其中验证、准备、解析三个部分统称为连接(Linking)。这七个阶段的发生顺序如图所示。上图中
川峰
·
2023-12-29 14:30
Java知识笔记
java
JVM
类加载流程
类的初始化时机
类加载器
双亲委派模型
Java模块化系统
《
深入理解JAVA
虚拟机笔记》Class文件格式、字节码指令
Class文件格式Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8个字节进行存储。一般来说一个Class文件都对应着唯一的一个类或接口的定义信息。根据《Java虚拟机规
川峰
·
2023-12-29 14:29
Java知识笔记
java
jvm
Class文件格式
字节码指令
《
深入理解JAVA
虚拟机笔记》编译与优化
从Signature属性的出现我们还可以得出结论,擦除法所谓的擦除,仅仅是对方法的Code属性中的字节码进行擦除,实际上元数据中还是保留了泛型信息,这也是我们能通过反射手段取得参数化类型的根本依据。接下来,笔者挑选了四项有代表性的优化技术,与大家一起观察它们是如何运作的。它们分别是:最重要的优化技术之一:方法内联最前沿的优化技术之一:逃逸分析语言无关的经典优化技术之一:公共子表达式消除语言相关的经
川峰
·
2023-12-29 14:59
Java知识笔记
Java
JVM
方法内联
逃逸分析
栈上分配和标量替换
公共子表达式消除
数组边界检查消除
《
深入理解JAVA
虚拟机笔记》运行时栈帧、方法分派、动态类型
运行时栈帧结构Java虚拟机以方法作为最基本的执行单元,“栈帧”(StackFrame)则是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行结束的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。每一个栈帧都包括了局部变量表、操作数栈、动态连接、方法
川峰
·
2023-12-29 14:27
Java知识笔记
Java
JVM
栈帧结构
局部变量表
操作数栈
静态分派与动态分派
动态类型语言
《
深入理解Java
虚拟机(第三版)》读书笔记:Java内存区域与内存溢出异常、垃圾收集器与内存分配策略
下文是阅读《
深入理解Java
虚拟机(第3版)》这本书的读书笔记,如有侵权,请联系删除。
阿正的梦工坊
·
2023-12-29 13:21
Java
java
jvm
深入理解Java
虚拟机精简版
将
深入理解Java
虚拟机第二版整理了一下,简化了很多内容,方便大家阅读,如果有不明白的地方可以去看下原版,作者说的很详细.如有侵权,还请联系删除.第二部分自动内存管理机制第2章Java内存区域与内存溢出异常
脚着沃土长望星空
·
2023-12-29 12:24
土味
java虚拟机
编译器
内存管理
多线程
java
深入理解java
虚拟机-读书笔记
内存动态分配与内存回收技术已经相当成熟,看起来进入了自动化的时代,为什么还要去了解垃圾收集和内存分配?当需要排查各种内存溢出、内存泄漏问题时当垃圾收集成为系统达到更高并发量的瓶颈时我们就必须对内存动态分配与垃圾收集技术实施必要的监控与调节。A=B:A引用B,A依赖于B一.JAVA内存区域与内存溢出异常1.1运行时数据区域程序计数器线程私有的内存区域,记录的是正在执行的虚拟机字节码指令的地址,通过改
Titanium、
·
2023-12-29 12:20
java基础
java虚拟机
新书推荐 |
深入理解Java
虚拟机:JVM高级特性与最佳实践(第3版)
新书推荐《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第3版)》印刷36次,销量超过30万册,根据新版JDK全面升级,新增内容近50%,原创计算机图书丰碑,5个维度全面剖析JVM。
hzbooks
·
2023-12-29 12:50
编程语言
jvm
java
python
大数据
深入理解Java
集合框架
本文将
深入理解Java
集合框架,包括其中的类和接口、数据结构、遍历方式、内部实现等方面。集合框架的体系结构Java集合框架中的类和接口大致分为三个体系结构:Collection体系、Map
naer_chongya
·
2023-12-29 12:27
java
开发语言
《
深入理解JAVA
虚拟机笔记》OutOfMemoryError 异常
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。Java堆溢出Java堆用于储存对象实例,我们只要不断地创建对象,并且保证GCRoots到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么随着对象数量的增加,总容量触及最大堆的容量限制后就会产生内存溢出异常。下面代码限制Java堆的大小为20M
川峰
·
2023-12-29 07:45
Java知识笔记
java
jvm
OOM
堆溢出
栈溢出
方法区溢出
直接内存溢出
《
深入理解Java
虚拟机》读书笔记
「
深入理解Java
虚拟机(第3版)」读后感我与虚拟机小红小蓝的故事《
深入理解Java
虚拟机》是JVM领域的经典之作,刚工作不久就有大佬强烈推荐,无奈基础较差,读的比较慢,之后短短续续读完了。
飞翔的流鱼
·
2023-12-29 02:29
《
深入理解JAVA
虚拟机笔记》Java 运行时内存区域
程序计数器(线程私有)程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于Java虚拟机的多线程是通过线程轮流切换
川峰
·
2023-12-28 19:10
Java知识笔记
java
Java内存区域
Java虚拟机
JVM
JVM运行时区域
深入理解Java
注解类型(@Annotation)
Java注解是在JDK1.5时引入的新特性,鉴于目前大部分框架(如Spring)都使用了注解简化代码并提高编码的效率,因此掌握并深入理解注解对于一个Java工程师是来说是很有必要的事。本篇我们将通过以下几个角度来分析注解的相关知识点当一个接口直接继承java.lang.annotation.Annotation接口时,仍是接口,而并非注解。要想自定义注解类型,只能通过@interface关键字的方
潘建南
·
2023-12-28 07:53
Java
Java注解
JMM Java 内存模型
Java内存模型JavaMemoryModel,为java内存模型,简称为JMM.参考链接
深入理解java
内存模型系列文章主要参考为上述链接,上述讲的特别好,很清楚,很详细。
chendroid
·
2023-12-27 16:57
初学者在学习 Java 中的 SSM 时,应该如何学习?
学习Java的SSM(Spring+SpringMVC+MyBatis)框架是一个
深入理解Java
企业级应用开发的重要步骤。
Itmastergo
·
2023-12-27 14:27
学习
java
开发语言
深入理解Java
引用类型
【转载】:https://www.cnblogs.com/SilentCode/p/4858790.html(牛_牛).NET
深入理解Java
引用类型
深入理解Java
引用类型在Java中类型可分为两大类
Ferrari1001
·
2023-12-27 00:26
深入理解Java
内存模型 ch4 volatile
1.volatile的特性classVolatileFeaturesExample{volatilelongvl=0L;publicvoidset(longl){vl=l;}publicvoidgetAndIncrement(){vl++;}publiclongget(){returnvl;}这个程序在语义上和下面的程序等价:classVolatileFeaturesExample{volatil
王侦
·
2023-12-26 22:47
如何
深入理解Java
的多态?
在Java中,多态(polymorphism)是面向对象编程的一个重要概念,它允许你使用一个通用的接口来表示不同的对象和操作这些对象,而不必关心具体的对象类型。多态性有两种主要形式:编译时多态(静态多态)和运行时多态(动态多态)。编译时多态(静态多态):方法重载是一种编译时多态的形式。在同一个类中,你可以定义多个方法,它们具有相同的名称但不同的参数列表。编译器会根据方法调用时提供的参数类型来决定使
爱编程的小白L
·
2023-12-25 22:43
Java面试集
java
开发语言
JVM入门到入土-Java虚拟机寄存器指令集与栈指令集
参考资料Java虚拟机规范(JavaSE8)
深入理解Java
虚拟机JVM的两大指令集特点基于栈式架
半只野指针
·
2023-12-25 11:16
jvm
java
开发语言
「Java虚拟机基础」Java对象内存布局和对象头
「
深入理解Java
虚拟机」Java对象内存布局和对象头文章目录「
深入理解Java
虚拟机」Java对象内存布局和对象头一、对象在堆内存中布局1.权威定义2.对象在堆内存中的存储布局对象头对象标记类元信息(
FrozenPenguin
·
2023-12-25 01:01
学习笔记
JVM
java
jvm
开发语言
Java 中 this 和 super 的用法详解
this和super异同Java中的关键字上篇我们讲到了final,
深入理解Java
中的final关键字,这次我们来回顾一下this和super这两个关键字的用法,作为一名Java程序员,我觉得基础是
初念初恋
·
2023-12-24 04:34
java基础
java
后端
ClassLoader源码分析--
深入理解java
虚拟机·读书笔记(三)
ClassLoader源码分析时间20180224//我们可以使用测试代码测试一下sun.boot.class.path的内容System.out.println(System.getProperty("sun.boot.class.path"));C:\ProgramFiles\Java\jre1.8.0_151\lib\resources.jar;C:\ProgramFiles\Java\jr
pianpianboy
·
2023-12-24 03:49
专业书籍
深入理解Java
虚拟机----不是很懂漫画算法:小灰的算法之旅----还可以第一行代码Android
BluthLeee
·
2023-12-23 13:10
Java虚拟机(JVM)-自动内存管理(简约版)
推荐纸质书《
深入理解Java
虚拟机》or
深入理解Java
虚拟机,建议一样来一发,要雨露均沾,同时加深印象,虽然内容一样的。1.Java内存区域与内存溢出异常1.1JVM运行时数据
Daniel_Shij
·
2023-12-23 06:01
深入理解Java
动态代理
1.引言动态代理是Java编程语言中的一项强大特性,它允许在运行时创建代理类和实例,而无需在编译时知道代理类的具体类型。代理模式是一种常见的设计模式,它允许通过引入一个代理类来控制对其他对象的访问。2.静态代理vs.动态代理静态代理在编译时就已经确定代理关系,而动态代理则在运行时生成代理对象。动态代理具有更大的灵活性和可维护性,适用于一些动态性较高的场景。3.Java动态代理基础在Java中,动态
IT Talk
·
2023-12-22 11:55
java
代理模式
深入理解Java
垃圾回收机制及其优化策略
Java的垃圾回收(GC)是Java虚拟机(JVM)的一个核心组成部分,它负责自动管理内存。理解GC的原理和优化策略,对于提高Java应用的性能至关重要。本文将深入探讨Java的GC机制,并提供实际案例来说明如何优化。基本概念在Java中,对象的生命周期是由JVM的垃圾回收器自动管理的。当一个对象不再被引用时,垃圾回收器会释放该对象占用的内存。这个过程是自动的,避免了内存泄漏和内存溢出的问题。JV
程序员升仔
·
2023-12-22 11:46
java
开发语言
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他