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
深入理解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
开发语言
【面试题】
深入理解Java
虚拟机
前言:Java虚拟机面试题推荐配合《深入理解虚拟机第三版》食用效果更佳主要有三部分:1.Java内存区域,2.垃圾回收机制,3.类加载过程博客主页:⭐️这是一只小逸白的博客鸭~⭐️欢迎关注❤️点赞收藏⭐️评论小逸白正在备战实习,经常更新面试题和LeetCode题解,欢迎志同道合的朋友互相交流~若有问题请指正,记得关注哦,感谢~目录1.1介绍下Java内存区域(运⾏时数据区)1.2说⼀下Java对象
一只小逸白
·
2023-12-22 09:28
面试题
linux
运维
服务器
BAT经典面试题,
深入理解Java
内存模型JMM
Java内存模型Java内存模型(JMM)是一种抽象的概念,并不真实存在,它描述了一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)的访问方式。试图屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。注意JMM与JVM内存区域划分的区别:JMM描述的是一组规则,围绕原子性、有序性和可见性展开;相似点:存在共享
符文杰9527
·
2023-12-22 05:47
深入理解Java
核心技术:Java工程师的实用干货笔记
个人网站:【海拥】【神级代码资源网站】【办公神器】基于Web端打造的:轻量化工具创作平台想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】在Java工程师的职业生涯中,
深入理解Java
核心技术是至关重要的
海拥✘
·
2023-12-21 17:18
java
笔记
python
深入理解Java
虚拟机读书笔记(二)
一、判断对象是否存活的算法引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时。计数器的值就加1;当引用失效时,计数器的值就减1;任何时刻计数器的值为0的对象就是不可能再被使用的。Java虚拟机没有采用此方法,原因是它很难解决对象间循环引用的问题。可达性分析算法:通过一系列的称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链,当一个对象到达GCRoo
wxz1997
·
2023-12-21 12:50
Java虚拟机类加载机制
https://www.cnblogs.com/aspirant/p/7200523.htmlJava类加载机制(阿里面试题)1类加载器与类的”相同“判断、详情见《
深入理解Java
虚拟机》类加载器除了用于加载类外
小小少年Boy
·
2023-12-21 11:59
如何阅读GC日志
一份摘自
深入理解Java
虚拟机中的一段GC日志33.125:[GC[DefNew:3324K->152K(3712K),0.0025925secs]3324K->152K(11904K),0.0031680secs
Cuccci
·
2023-12-21 04:48
Java程序员必备基础:Java代码是怎么运行的?拿来吧你
最近复习了
深入理解Java
虚拟机这本书,做了一下笔记,希望对大家有帮助,如果有不正确的地方,欢迎提出,感激不尽。
小梁同学jxy
·
2023-12-20 01:25
深入理解Java
虚拟机(第3版)读书笔记
一、Java技术体系1.具体业务逻辑Java程序设计语言。Java类库API:提供各开发领域接口支持。来自商业机构和开源社区的第三方Java开发框架(Spring、MyBatis等)。2.虚拟机各种硬件平台上的Java虚拟机实现。Class文件格式。保障物理硬件平台的兼容性,管理内存等资源。支撑Java程序运行。隐藏了复杂的底层技术以及机器与操作系统的差异性。运行程序的物理机不同,建立了统一的运行
SisinRyu
·
2023-12-19 08:15
java
开发语言
Java虚拟机—字节码指令初探
本文主要内容摘自《
深入理解Java
虚拟机》第二版-周志明和《Java虚拟机规范》-JavaSE8版,介绍了Java虚拟机中的字节码指令,主要包括:加载和存储指令、运算指令、类型转换指令、对象创建与访问指令
Sunflow007
·
2023-12-17 16:04
深入理解Java
虚拟机---Java内存模型
JMMJava内存模型主内存和工作内存volatileJava内存模型Java内存模型是Java虚拟机规范中试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台上都能达到一致的内存访问效果。可以理解为JMM定义一套在多线程读写共享数据时,对数据的可见性、有序性和原子性的规范和保障。主内存和工作内存Java内存模型的主要目标是定义程序中各个变
kk变色龙13
·
2023-12-17 13:34
java
jvm
开发语言
深入理解Java
虚拟机---内存分配
深入理解Java
虚拟机---内存分配GC日志内存分配与回收策略对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保GC日志以下两段典型的GC日志:33.125
kk变色龙13
·
2023-12-17 07:06
java
jvm
算法
大话前端:
深入理解Java
Script的内存回收与性能优化
深入理解Java
Script的内存回收与性能优化引言在前端开发领域,优化JavaScript的性能和内存管理是提升应用性能的关键。类似于仓库管理员精心管理库存空间,开发者需要精确控制代码的内存使用。
王蛟(宗佑)
·
2023-12-17 03:11
前端
javascript
性能优化
深入理解Java
虚拟机 第二章 Java运行时数据区域
运行时数据区域Java虚拟机在执行Java程序过程中会把它所管理的内存划分为若干个不同的数据区域。其中方法区和堆是由所有线程共享的数据区域。虚拟机栈、本地方法栈和程序计数器是线程私有的内存。2.2.1程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的
baiiu
·
2023-12-17 03:08
dalvik/art虚拟机
多线程
java
虚拟机
深入理解java虚拟机
深入理解Java
虚拟机 第七章 虚拟机类加载时机与过程
虚拟机类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。类在虚拟机中的生命周期包括(其中验证、准备、解析3个部分称为连接。加载(Loading)验证(Verification)连接(Linking)----准备(Preparation)解析(Resolution)初始化(Initialization)使用(U
baiiu
·
2023-12-17 03:38
dalvik/art虚拟机
多线程
java
虚拟机
深入理解java虚拟机
深入理解Java
虚拟机 第七章 虚拟机类加载器
7.4类加载器类加载阶段中通过一个类的全限定名来获取描述此类的二进制字节流这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块成为类加载器。1.类与类加载器对于任何一个类,都需要由它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性。每一个类加载器,都拥有一个独立的类名称空间。即比较两个类是否相等,只有在这两个类是由同一个类加载器加载的前
baiiu
·
2023-12-17 03:38
dalvik/art虚拟机
多线程
java
虚拟机
深入理解java虚拟机
深入理解Java
虚拟机---类加载机制
类加载机制什么是类加载机制类加载的时机类加载的过程加载验证文件格式验证元数据验证字节码验证符号引用验证准备解析初始化类加载器双亲委派模型什么是类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍
kk变色龙13
·
2023-12-16 20:50
java
jvm
开发语言
深入理解Java
虚拟机---对象的创建和内存异常溢出
深入理解Java
虚拟机---对象的创建和内存异常溢出对象的创建对象内存布局对象的访问定位内存溢出Java堆溢出虚拟机栈和本地方法栈溢出方法区和运行时常量池溢出本地直接内存溢出对象的创建Step1:虚拟机遇到一条
kk变色龙13
·
2023-12-16 20:20
java
jvm
开发语言
深入理解Java
虚拟机---线程安全与锁优化
线程安全与锁优化线程安全的实现方法1.互斥同步2.非阻塞同步3.无同步方案锁优化自旋锁与自适应自旋锁消除锁粗化轻量级锁偏向锁线程安全的实现方法1.互斥同步互斥同步是一种最常见也是最主要的并发正确性保障手段。同步是指在多个线程并发访问共享数据时,保证共享数据在同一个时刻只被一条线程使用。而互斥是实现同步的一种手段,临界区(CriticalSection)、互斥量(Mutex)和信号量(Semapho
kk变色龙13
·
2023-12-16 20:20
java
安全
开发语言
深入理解Java
中的I/O模型:超市购物给你的灵感
你是否曾在超市排队结账时,想过这个过程与计算机的I/O模型有何相似之处?让我们以超市购物为例,探索一下Java中不同的I/O模型,看看它们如何影响着我们编写的代码。1.BIO(BlockingI/O):排队结账想象一下,你在超市购物后站在长长的排队队伍中,每个人一个接一个地结账。就像这样的排队结账,我们可以使用Java的ServerSocket和Socket实现一个基于BIO的简单服务器://省略
CodeArtisanX
·
2023-12-16 16:15
java
开发语言
【并发篇】
深入理解Java
线程池的运作原理
线程池详解首先回顾一下单个线程的创建方式1、继承Thread类这是一种比较传统的创建线程的方式。你可以创建一个类,继承自Thread类,并重写run方法来定义线程的执行逻辑。classMyThreadextendsThread{@Overridepublicvoidrun(){//线程的执行逻辑}}//创建并启动线程MyThreadthread=newMyThread();thread.start
沉梦听雨.
·
2023-12-15 19:55
Java
java
八股
深入理解Java
面向对象的三大基本特性
一、继承1.概念:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。2.目的:实现代码的复用。3.理解:子类与父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的关系,是is-a的关系,子类是父类更加详细的分类。如classdogextendsanimal,就可以理解为dogisaanimal.注意设计继承的时候,若要让某个类能继承,父类需适当开放访问权限,遵循里氏代换
sao.hk
·
2023-12-15 09:46
技术
java
actor
class
扩展
string
jvm
【从零开始学习JVM | 第七篇】深入了解 堆回收
因此,
深入理解Java
堆回收的原理、机制和优化策略,对于Java开发人员具有重要的意义。
我是一盘牛肉
·
2023-12-14 20:34
【从零开始学习JVM】
学习
jvm
算法
过滤器
[JVM 基础 - Java 类加载机制]
这篇文章将带你
深入理解Java
类加载机制。
奥耶可乐冰
·
2023-12-14 20:02
Java
python
开发语言
java
jvm
算法
深入理解Java
类加载过程
目录Java类加载机制概述1、加载(Loading)2、链接(Linking)3、初始化(Initialization)静态变量与非静态变量的赋值与初始化过程1、静态变量2、实例变量3、静态初始化块4、总结Java作为一门成熟的面向对象编程语言,在底层架构中融入了一个复杂而精妙的类加载机制。类加载器(ClassLoader)是Java虚拟机(JVM)的一部分,负责动态加载类文件到内存中。了解类加载
一个搬砖的农民工
·
2023-12-06 17:38
JVM
java
类加载机制
静态变量
jvm
深入理解Java
中的逃逸分析
目录1.对象作用域分析2.栈上分配3.同步省略(锁消除)4.标量替换逃逸分析是一种编译器优化技术,用于确定对象的作用域和生命周期。其主要特点包括:对象作用域分析、栈上分配、同步省略和标量替换。现在将详细阐述这些特点,并以Java代码为例说明。1.对象作用域分析对象作用域分析是逃逸分析的基础,编译器通过这一过程判断一个对象是否可能被当前方法或线程之外的代码访问到。如果一个对象在方法中被创建并且其引用
一个搬砖的农民工
·
2023-12-06 14:30
JVM
jvm
逃逸分析
标量替换
栈上分配
同步消除
Java内存模型
本文主要内容出自周志明老师《
深入理解Java
虚拟机》一书,是笔者结合自己的理解,提取重点,重新组织排版后,总结的读书笔记。计算机性能摩尔定律:描述处理器晶体管数量与运行效率之间的发展关系。
未子涵
·
2023-12-05 17:46
JVM字节码指令表
虚拟机字节码指令表(《
深入理解Java
虚拟机》第二版)JVM指令表常量型本地变量数组变量类型将值存入变量将值存入数组将值弹出栈顶复制栈顶数值指令交换指令变量计算变量增加指定值跳转指令返回指令获值/赋值指令调用方法指令创建对象指令异常指令锁指令常量型助记符指令含义
狂奔的蜗牛已被占用
·
2023-12-05 09:33
JavaSE
JVM
指令表
深入理解Java
线程
1.线程基础知识1.1线程和进程进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源1.2上下文切换(Contextswitch)上下文切换是指CPU(中央处理单元)从一个进程或线程到另一个进程或线程的切换。上下文切换只能在内核模式下发生。内核模式是CPU的特权模式,其中只有内核运行
子墨将
·
2023-12-05 09:58
并发
java
java
linux
深入理解Java
中继承的高级使用方案
摘要:继承是Java中的一项强大的特性,它允许子类从父类中继承属性和方法。然而,继承的高级使用方案涉及更复杂的概念和技术,可以帮助开发人员构建更加灵活、可维护和可扩展的代码。本文将深入探讨Java中继承的高级用法,包括抽象类、接口、多态、以及一些设计模式的应用。1.抽象类的应用1.1抽象方法抽象类是包含抽象方法的类,这些方法在子类中必须被实现。通过抽象方法,可以强制子类提供特定的实现。public
疯风0409
·
2023-12-05 02:19
Java
java
开发语言
深入理解Java
中抽象的高级使用
摘要:在Java编程中,抽象是一种强大的工具,它可以帮助我们构建更加灵活和可维护的代码。本文将深入探讨Java中抽象的高级使用,包括抽象类、抽象方法、接口、以及一些设计模式的应用。1.抽象类的高级应用1.1构造方法与抽象类抽象类可以有构造方法,这样在子类实例化时可以执行一些初始化操作。publicabstractclassShape{protectedStringcolor;publicShape
疯风0409
·
2023-12-05 02:19
Java
java
开发语言
深入理解Java
8中的Lambda表达式与函数式接口
摘要:Java8引入了Lambda表达式和函数式接口的概念,为Java编程带来了重要的变革。本文将深入探讨Java8中Lambda表达式的语法和用法,以及函数式接口的概念,帮助读者更好地理解和利用这一强大的编程特性。1.Lambda表达式1.1基本语法Lambda表达式是一种紧凑、简洁的语法,用于表示函数式接口(FunctionalInterface)的实例。其基本语法如下:(parameters
疯风0409
·
2023-12-05 02:48
Java
java
开发语言
《
深入理解JAVA
虚拟机》学习笔记--JAVA内存模型
Java虚拟机规范中试图定义一种Java内存模型(JavaMemoryModel,JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。主内存与工作内存Java内存模型规定了所有的变量都存储在主内存(MainMemory)中。每条线程还有自己的工作内存(WorkingMemory),线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝(这
木子小三金
·
2023-12-05 02:02
上一页
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
其他