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
HotSpot源码解析
热点检测、方法内联、动态反优化
Java
HotSpot
VM不会立即编译方法,而是立即使用解释器运行程序,并在运行时分析代码以检测程序中的关键热点。然后,它将本地代码优化器的注意力集中在热点上。
偷吃虾的猫
·
2024-01-20 03:13
(六)垃圾收集器
1.概述在我们开展关于
HotSpot
虚拟机收集器讨论之前,我们来简单回顾一下JVM堆和方法区内存区域的划分与管理以及针对不同区域所采用的垃圾回收算法。
Davince西西
·
2024-01-20 02:59
Mybatis
源码解析
:kafka消费者消费不到消息
Kafka源码篇——Kafka快速入门1.1Kafka简介1.2以Kafka为中心的解决方案1.3Kafka核心概念1.4搭建Kafka源码环境Kafka源码篇——生产者2.1KafkaProducer使用示例2.2KafkaProducer分析2.3RecordAccumulator分析2.4Sender分析Kafka源码篇——消费者3.1KafkaConsumer使用示例3.2传递保证语义(D
前端陈萨龙
·
2024-01-19 23:32
程序员
java
经验分享
面试
JVM实战(18)——模拟Full GC
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介上一章,我们已经进行了一次对象晋升的模拟,本章我们将继续结合代码
smart哥
·
2024-01-19 22:03
jvm专题
jvm
JVM实战(16)——模拟Young GC
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介本章,我们将通过示例代码演示YoungGC是如何发生的。同时,我
smart哥
·
2024-01-19 22:32
jvm专题
jvm
源码解析
:最新阿里Java面试题目
一.什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应
JAVA语言面试题
·
2024-01-19 21:05
程序员
java
经验分享
面试
spring-integration-redis中的分布式锁基本使用和
源码解析
spring-integration-redis中的分布式锁
源码解析
使用依赖代码示例
源码解析
获取锁加锁和锁互斥机制释放锁和锁可重入机制总结watchdog机制缺失加锁的性能太低使用依赖spring-integration-redis
咦940
·
2024-01-19 17:26
分布式系统
redis
spring
spring
boot
lua
java
基于 SpringBoot 实现多租户架构:支持应用多租户部署和管理
每天10:33更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo
源码解析
网络应用框架Netty
源码解析
消息中间件RocketMQ
公众号-芋道源码
·
2024-01-19 16:09
spring
boot
架构
java
后端
spring
面试:JDK8的元空间存储什么内容?会发生FGC吗?
为了与堆做区分,方法区还有个名字叫“非堆”,也有人用“永久代”(
HotSpot
对方法区的实现方法)来表示方法区。在jdk1.8中,方法区已经不存在,原方法区中存储的类信
_夜半钟声到客船
·
2024-01-19 15:11
java 垃圾回收GC(CMS、G1)原理及调优
概述本文介绍GC基础原理和理论,GC调优方法思路和方法,基于
Hotspot
jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决阅读时长约30分钟,内容主要如下:GC基础原理,涉及调优目标
A゛孤青
·
2024-01-19 13:44
java
java
开发语言
JVM实战(20)——jstat实战(1)
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介本章和下一章,我们将通过之前讲过的两个案例,看看如何在生产环境下
smart哥
·
2024-01-19 13:43
jvm专题
jvm
Nacos2.0.3
源码解析
(四)一致性协议-Distro协议实现原理
目录1、distro协议简介2、设计思想3、DistroProtocol类介绍3.1、DistroComponentHolder3.2、DistroTaskEngineHolder3.3、distro协议启动4、ClientManager5、distro验证任务详解5.1、getVerifyData方法解析5.1.1、DistroDataStorageImpl——v1版本5.1.2、DistroC
爱吃丸子的哈哈蒋
·
2024-01-19 13:35
Nacos源码解析
中间件
网络
HotSpot
虚拟机对象
对象的创建Java创建对象的过程Step1:类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数,是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化。如果没有,那必须先执行相应的类加载过程。Step2:分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小,在类加载完成后便可确定,为对象分配空间的任务,等同于把一块
happyJared
·
2024-01-19 12:19
element-ui 打包流程
源码解析
(下)
目录目录结构和使用1,npm安装1.1,完整引入1.2,按需引入2,CDN3,国际化接上文:element-ui打包流程
源码解析
(上)文章中提到的【上文】都指它↑目录结构和使用我们从使用方式来分析,为什么要打包成上面的目录结构
下雪天的夏风
·
2024-01-19 09:07
element-ui
前端
elementui
vue.js
组件库
element-ui 打包流程
源码解析
(上)
目录1,源码整体结构1.1,build目录1.2,examples目录1.3,packages目录1.4,src目录2,打包整体流程2.1,npmrunbuild:file2.1.1,build/bin/iconInit.js2.1.2,build/bin/build-entry.js2.1.3,build/bin/i18n.js2.1.4,build/bin/version.js2.2,buil
下雪天的夏风
·
2024-01-19 09:32
element-ui
前端
elementui
webpack
组件库
vue.js
JVM实战(28)——模拟Metaspace内存溢出
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介本章,我们将通过示例代码演示Metaspace区域是如何发生内存
smart哥
·
2024-01-19 08:22
jvm专题
jvm
JVM实战(19)——JVM调优工具概述
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介前面章节,我们已经介绍了如何通过GC日志去分析系统的运行情况。本
smart哥
·
2024-01-19 08:51
jvm专题
jvm
JVM实战(25)——元数据区优化
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、案例背景本章介绍的案例比较特殊,是由于人为设置JVM参数错误,而导致
smart哥
·
2024-01-19 08:51
jvm专题
jvm
JVM实战(27)——内存溢出概述
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介从本章开始,我们将介绍JVM中的内存溢出异常——OutofMem
smart哥
·
2024-01-19 08:21
jvm专题
jvm
JVM实战(26)——SystemGC
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、案例背景本章将介绍一个因为程序员同学不懂JVM的GC机制而导致的系统
smart哥
·
2024-01-19 08:44
jvm专题
jvm
Hotspot
源码解析
-第二十章-字典表创建和基础类预加载(四)
20.5字典表创建和基础类预加载20.5.1systemDictionary.cpp/hpp20.5.1.1SystemDictionary::initializevoidSystemDictionary::initialize(TRAPS){//Allocatearraysassert(dictionary()==NULL,"SystemDictionaryshouldonlybeinitial
多栖码农
·
2024-01-19 03:52
Java虚拟机
java
Hotspot
源码解析
-第二十章-系统类及其方法以符号形式存储在符号表(三)
20.4系统类及其方法以符号形式存储在符号表20.4.1vmSymbolls.cpp/hpp20.4.1.1vmSymbols::initialize这块实现中用到了很多宏定义,所以在讲解时,需要先宏展开,下面根据用到的顺序介绍各个宏定义及其宏展开结果#defineVM_SYMBOL_BODY(name,string)string"\0"staticconstchar*vm_symbol_bodi
多栖码农
·
2024-01-19 02:48
Java虚拟机
java
HashMap
源码解析
看多了面试还是不会说?看这篇文章就够了
本来今天想要重新整理一些hashMap的源码阅读解析文章的相关内容的,后面发现网上关于HashMap的
源码解析
已经有很多专业的分析了,在看了一遍源码之后,我就直接整理一下HashMap相关的一些热门面试题的答案吧
先生zeng
·
2024-01-19 02:31
SAP UI5 初学者教程之七 - JSON 模型初探试读版
Jerry从2014年加入SAP成都研究院CRMFiori开发团队之后开始接触SAPUI5,曾经在SAP社区和“汪子熙”微信公众号上发表过多篇关于SAPUI5工作原理和
源码解析
的文章。
JerryWang_汪子熙
·
2024-01-19 01:33
workflow
源码解析
:GoTask
关于gotask提供了另一种更简单的使用计算任务的方法,模仿go语言实现的gotask。使用gotask来实计算任务无需定义输入与输出,所有数据通过函数参数传递。与ThreadTask区别ThreadTask是有模板,IN和OUT,ThreadTask依赖输入输出。而GoTask不依赖,而是直接将函数打包成go这个callback,等待线程池消费。1.示例程序我们想异步的运行一个加法函数:void
敬先生
·
2024-01-19 00:34
Poco库
c++
YARN ApplicationMaster与ResourceManager之间基于applicationmaster_protocol.proto协议的allocate()接口
源码解析
在YarnApplication运行期间,ApplicationMaster相当于这个Application的监护人和管理者,负责监控、管理这个Application的所有Attempt在cluster中各个节点上的具体运行,同时负责向YarnResourceManager申请资源、返还资源等。可以说,ApplicationMaster与ResourceManager之间的通信是整个Yarn应用从
麦兜和小可的舅舅
·
2024-01-18 22:26
hadoop
open-source
yarn
yarn
AM
RM
allocate
hadoop
【PostgreSQL内核学习(二十四) —— (ALTER MATERIALIZED VIEW)】
ALTERMATERIALIZEDVIEW概述
源码解析
修改物化视图的属性和行为AlterTableStmt结构体AlterTableMoveAllStmt结构体重命名RenameStmt结构体设置对象依赖于扩展
J.Kuchiki
·
2024-01-18 22:07
PostgerSQL
postgresql
数据库
【JUC】ReentrantReadWriteLock
源码解析
文章目录ReentrantReadWriteLock读写锁缓存更新策略实现原理成员属性加锁原理写锁原理读锁原理解锁原理StampedLockReentrantReadWriteLock读写锁独占锁:指该锁一次只能被一个线程所持有,对ReentrantLock和Synchronized而言都是独占锁共享锁:指该锁可以被多个线程锁持有ReentrantReadWriteLock其读锁是共享锁,写锁是独
小小Yi学编程
·
2024-01-18 18:33
JUC
java
开发语言
ThreadLocal
源码解析
文章目录set()get()remove()一段代码,我们来挨着分析分析publicstaticvoidmain(String[]args)throwsInterruptedException{ThreadLocalthreadLocal=newThreadLocal>{//实际想要存储的值Objectvalue;//构造方法Entry(ThreadLocalk,Objectv){//继承了Wea
小小Yi学编程
·
2024-01-18 18:33
java
IBM J9 VM 的介绍
IBM的J9全称:IBMTechnologyforJavaVirtualMachine,简称IT4J,内部代号:J9市场定位与
HotSpot
接近,服务器端、桌面应用、嵌入式等多用途VM广泛用于IBM的各种
Shaw_Young
·
2024-01-18 17:14
【Poco库
源码解析
】Poco库中的通知
1、介绍PocoPocoPoco中的通知,是消息源通过中间载体将消息发送给观察者,通知可以分为同步通知和异步通知。下图是同步通知,消息发送流程:2.同步通知2.1消息classNotification:publicRefCountedObject{public:typedefAutoPtrPtr;Notification();virtualstd::stringname()const;protec
敬先生
·
2024-01-18 17:56
Poco库
c++
【Poco库
源码解析
】Poco库的事件
1.使用示例#include"Poco/BasicEvent.h"#include"Poco/Delegate.h"#includeusingPoco::BasicEvent;usingPoco::Delegate;classSource{public:BasicEventtheEvent;voidfireEvent(intn){theEvent(this,n);//theEvent.notify
敬先生
·
2024-01-18 17:18
Poco库
c++
openjdk-jdk8-b109
hotspot
虚拟机启动过程分析_1
基于OpenJdk标签jdk8-b109版本分析
HotSpot
是由Oracle开发的Java虚拟机(JVM)的一种实现,也是使用最广泛的JVM之一。
IT回忆录
·
2024-01-18 16:49
Java
java
hotspot虚拟机
jvm启动过程
axios的原理及
源码解析
面试官:你了解axios的原理吗?有看过它的源码吗?一、axios的使用关于axios的基本使用,上篇文章已经有所涉及,这里再稍微回顾下:发送请求importaxiosfrom'axios';axios(config)//直接传入配置axios(url[,config])//传入url和配置axios[method](url[,option])//直接调用请求方式方法,传入url和配置axios[
C+ 安口木
·
2024-01-18 12:11
前端开发
面试系列
前端
网络
JVM实战(15)——Full GC调优
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介本章将会讲解一个频繁FullGC的案例,示例来自于JVM基础篇中
smart哥
·
2024-01-18 11:17
jvm专题
jvm
Spring Boot
源码解析
- 自动装配原理
引言SpringBoot自动装配是SpringBoot框架的一个关键特性,它的目标是让开发者能够快速构建Spring应用程序,减少繁琐的配置工作。一、注解解析@SpringApplication从启动类@SpringApplication注解入手,@SpringBootApplication是一个组合注解,它是SpringBoot框架中常用的一个主要注解之一。它结合了多个注解,简化了SpringB
陈皮太
·
2024-01-18 07:32
java
spring
boot
java
JVM实战(24)——大对象优化
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、案例背景本章将介绍一个因为大对象而导致的频繁GC问题,其本质也是开发
smart哥
·
2024-01-18 01:02
jvm专题
jvm
JVM实战(22)——jamp和MAT实战
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介我们通过jstat进行分析,发现FullGC非常频繁,基本上每隔
smart哥
·
2024-01-18 01:32
jvm专题
jvm
JVM实战(23)——内存碎片优化
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、案例背景本案例的背景是一个高峰期每秒十万QPS的社交APP,这类AP
smart哥
·
2024-01-18 01:32
jvm专题
jvm
JVM优化策略——编译及垃圾回收器
名称作用基本命令jps显示指定系统内所有的
HotSpot
虚拟机进程jps-ljstat用于收集
Hotspot
虚拟机各方面的运行数据jstat[optionvmid[interval[s|ms][count
huaishu
·
2024-01-18 01:00
JVM
JVM实战(21)——jstat实战(2)
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc
源码解析
阶段4、深入jdk其余
源码解析
阶段5、深入jvm
源码解析
一、简介上一章,我们通过jstat命令分析了BI系统中新生代对象的GC情
smart哥
·
2024-01-18 01:59
jvm专题
jvm
Hotspot
源码解析
-第十八章-元空间的创建与分配
元空间就是从C堆中划出来的一片完整的区域,为了提升元数据的内存分配效率,又把元空间按若干个chunk内存块管理起来,其中chunk块又分为已使用和空间两种类型,并分别用VirtualSpaceList和ChunkManager来管理,chunk内存块之间以链表的形式关联起来,同时为了满足不同元数据占用内存大小的内存分配,chunk内存块也是有多种不同大小的chunk,如SpecializedChu
多栖码农
·
2024-01-17 19:53
Java虚拟机
java
Hotspot
源码解析
-第二十章-虚函数表
这一章涉及到一个vtable(虚函数表)的概念,所以先从虚函数表讲起20.1虚函数表刚学Java入门的时候,有一个概念叫多态,这是面向对象语言都有的特性,C++也不例外,在C++中,虚函数的主要作用就是实现多态机制。多态就是用父类的指针指向子类的实例,再通过父类指针调用实际子类的成员函数,该技术可以让父类的指针有“多种形态”,所以叫多态,也是一种泛型技术。所谓泛型技术,就是试图使用不变的代码来实现
多栖码农
·
2024-01-17 19:53
Java虚拟机
java
Hotspot
源码解析
-第二十章-基础类型的数组类型对象的创建与分配
20.2基础类型的数组类型创建该函数的入口在init.cpp->init_globals(),然后再调用universe.cpp->universe2_init()函数,实际执行的函数是Universe::genesis,所以从这开始源码的解析。解析前先了解一下Klass的概念,大家思考个问题:我们编写的java类在JVM中是以何种形式存在的呢?答:其实他就是以Klass类存在的,Klass类就是
多栖码农
·
2024-01-17 19:53
Java虚拟机
java
Hotspot
内存管理之ClassLoaderData
源码解析
目录一、ClassLoaderData1、Dependencies2、ChunkedHandleList3、JNIMethodBlock4、init_null_class_loader_data/init_dependencies5、构造和析构函数6、record_dependency7、add_to_deallocate_list/free_deallocate_list8、metaspace_
孙大圣666
·
2024-01-17 19:21
Hotspot和Linux内核
ClassLoaderData
JNIMethodBlock
Dependencies
Hotspot
启动和初始化
源码解析
目录1、JVM启动入口2、JLI_Launch3、可移植性4、JavaMain5、JavaVM和JNIEnv对象6、JNI_CreateJavaVM7、Threads::create_vm学习一个复杂项目源码的最关键的一步是找准应用启动和对外提供服务的入口,从这些入口处开始顺藤摸瓜式的查看代码,可以对项目的各功能模块有一个整体宏观上的认识,并以此为切入点,有的放矢,按需深入了解各功能模块的实现细节
孙大圣666
·
2024-01-17 19:21
Hotspot和Linux内核
JVM启动
JVM初始化
JavaVM
JNIEnv
Hotspot
源码解析
一
文章目录call_stub_call_stub_entry例程JAVA数据结构与面向对象解析魔数java字节码试了一天,windows一直失败.无奈了.安装了一个linux明天试试.詹姆斯老爷子通过一种中间语言形式,兼容所有操作系统.刚开始是通过C进行编译,但是效率极低,为了提高中间语言执行效率,老爷子从指令集出发,高度抽象出了java指令集.从而当一个程序编译成中间语言也就是class后,运行时
Nuan_Feng
·
2024-01-17 19:51
HotSpot源码解析
HotSpot
源码阅读 - 初步启动(1)
下载源码选择openjdk官网下载从github获取代码,在Github有很多维护了跟openjdk的镜像仓库,但是我们可以使用最常用的git来获取代码,地址https://github.com/AdoptOpenJDK/openjdk-build阅读源码工具C/C++,推荐使用VSCode,免费也好用快捷键Ctrl+p,Ctrl+e搜索具体文件main方法入口jvm由c,c++写的,我们首先需要
DaJiangU
·
2024-01-17 19:20
JVM
源码浅析
java
c++
c语言
jvm
Hotspot
源码解析
-第十九章-ClassLoaderData、符号表、字符串表的初始化
第十九章-ClassLoaderData初始化讲解本章先从一张图开始众所周知,Java类的相关信息都是存储在元空间中的,但是是怎么存储的,相信很多读者是不清楚的,这里就不得不涉及到ClassLoaderDataGraph、classLoader、classLoaderData(简称CLD)和Klass的概念及他们四者的关系,这里简单描述下他们的概念,具体细节放到类加载器那一张来讲解。Instanc
多栖码农
·
2024-01-17 19:50
Java虚拟机
java
面试官:ThreadLocal 为什么会内存泄漏吗?是怎么产生的?面试必问!
每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo
源码解析
网络应用框架Netty
源码解析
消息中间件RocketMQ
Java基基
·
2024-01-17 12:26
面试
java
spring
boot
中间件
mybatis
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他