今天从实战角度分析JVM源码,首先:   1、使用 SourceInsight 来查看 OpenJDK 源代码 如何查看可以见一下文档。工具使用的 SourceInsight https://cloud.tencent.com/developer/article/1585224    
转载 2024-04-18 15:28:26
171阅读
        SPECjvm2008是一个观测JRE(java runtime enviroument)运行性能的基准测试套件。它的测试用例涵盖了大部分java基础应用场景,是架构选型和VM性能评测不可多得的利器。/* jre(java runtime environment),就是java程序的运行环境。你所写的java程序在经过javac编译
类加载机制类加载全过程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。一个普通的main方法public class Math { public static int initData = 666: public static User user = new User(): public int compute(){
# 深入理解jemalloc源码解析 ## 简介 jemalloc是一种专为多线程应用程序设计的通用内存分配器,广泛用于优化应用程序的性能。通过深入理解jemalloc源码,我们可以更好地理解其内部实现原理,从而更好地优化我们的应用程序。 ## 步骤 | 步骤 | 操作 | | --- | --- | | 1 | 下载jemalloc源码 | | 2 | 阅读jemalloc源码 | |
原创 2024-04-26 11:13:50
142阅读
直接从debian/ubuntu/deepin/uos 这类已有debian化源码构建开启系统的src源,或者手工浏览系统的源目录,使用apt source xxx 或者dget来获取debian化的源码。apt source 方式actionchen@actionchen-PC:~/deb-test$ apt source wget 正在读取软件包列表... 完成 需要下载 4,455 kB 的
 1、JVM架构图2、Java编译器Java编译器做的事情很简单,其实就是就是将Java的源文件转换为字节码文件。1. 源文件存储的是高级语言的命令,JVM只认识"机器码";2. 因此将源文件转换为字节码文件,即是JVM看得懂的"机器码"文件。3、类加载器当程序需要用到某个类时,就需要加载对应的 .class 文件,然后在虚拟机中创建对应的class对象,这一个过程就是类加载器做的事情。
一、基本概念JVM是可运行Java代码的虚拟机,由字节码指令集、寄存器、栈、垃圾回收、堆、存储方法域等构成。JVM是运行在操作系统之上的,与硬件没有直接的交互。JVM总的来说可以说是一种标准规范,有多种实现版本,HotSpot是虚拟机的一种实现,顾明思议是基于热点代码探测的,有JIT即时编译功能,能提供更高质量的本地代码。由sun公司开发,是sun jdk和open jdk中自带的虚拟机,也是目前
转载 2024-03-29 19:45:52
51阅读
# Redis 源码分析:jemalloc ## 引言 Redis 是一个高性能的键值存储数据库,其性能部分得益于其内存分配器——jemallocjemalloc 是一种用于提升多线程应用程序性能的内存分配器,相较于传统的内存分配方式(如 malloc),jemalloc 在碎片整理、分配效率和性能一致性等方面提供了更好的表现。本文将通过代码示例及图示,分析 Redis 如何使用 jemal
原创 2024-10-19 04:42:48
98阅读
JVM带你了解不一样的JAVA基本概念运行过程jvm内存区域程序计数器虚拟机栈本地方法区堆方法区JVM 运行时内存新生代老年代永久代JAVA8 与元数据 带你了解不一样的JAVA你好! 从今天开始我会写一系列的JAVA教程,带你全面的了解JAVA生态。请大家多多关注。谢谢~~ ps:使用的是Hotspot JVM基本概念JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄
转载 2024-04-09 13:51:11
82阅读
# Redis 源码安装 使用jemalloc 在使用 Redis 时,我们经常会遇到内存碎片化的问题,这会导致 Redis 的性能下降。为了解决这个问题,可以使用 jemalloc 来替换系统默认的内存分配器。本文将介绍如何从源码安装 Redis,并配置使用 jemalloc。 ## 什么是 Redis? Redis 是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。它
原创 2024-01-21 10:37:03
115阅读
############################ 下载5.3.0.tar.gz wget wget htt
原创 2023-07-09 08:03:12
723阅读
文章目录JVM基本感念什么是JVMJVM运行过程(简述)JVM作用JVM体系结构类加载器(classLoader)执行引擎运行时数据区补充的知识点JDK、JRE、JVM之间的联系Java源文件生成字节码文件与底层计算机交互的过程:JDK、JRE、JVM之间的区别 JVM基本感念什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,一种用计算机设备的规范,是一个虚构
转载 2024-04-18 15:33:27
25阅读
文章目录一、怎么查找开源项目二、怎么使用项目练手 一、怎么查找开源项目以GitHub为例,GitHub上的开源项目非常多,且全面,不过速度比较慢。 码云gitee速度比较快,如果需要的话,可以将GitHub上的代码同步到码云上从码云下载。而且码云gitee搭建个人博客也快,还有一个Web IDE的功能,可在线浏览代码,且体验很好。GitHub上的项目,一般有项目名,项目描述信息,README 等
准备Windows下使用VS2015进行编译,需要使用cmake构建版本。(如果有cygwin,在其中执行VS的vcvarsall.bat后使用"CC=cl ./autogen.sh"命令生成Makefile后编译也是可以的) 下载源码git clone https://github.com/jemalloc/jemalloc-cmake.git请确保已经安装好cmake工具。还可以下载一个专门为
转载 2024-06-13 17:15:04
284阅读
1,首先从内存中申请一块大内存chunk(默认为4M);2,需要有一个角色来管理申请的多个chunk,这时候arena出场了,它用来管理多个chunk;3,将内存对象分为三个等级small  <4k;large  [4k,4M);huge >=4M;4,为了内存对齐,在small中,将此区间分成 44 档,每次小分配请求归整到某档上。例如,小于8字节的,一律分配 8
目录1、准备2、编译VS2015编译jemallocMinGW下编译jemalloc1、准备Windows下使用VS2015进行编译,需要使用cmake构建版本。(如果有cygwin,在其中执行VS的vcvarsall.bat后使用"CC=cl ./autogen.sh"命令生成Makefile后编译也是可以的) 下载源码git clone https://github.com/jemalloc/
转载 2024-03-22 13:28:12
346阅读
概要本文主要介绍了在Win10系统中安装Github终端、如何配置安装好的Git终端以及如何利用Git终端将自己的项目上传到远程服务器中操作必备win10系统电脑一台、良好的互联网连接、GitHub账户(需要提前到官网进行注册)GitHub的安装1、到官网下载GitHub的安装软件链接为:https://git-scm.com/download/win注意进入这个网页后等待几秒钟下载会自动进行,下
转载 2023-07-12 15:11:45
165阅读
一、linux环境编译 (ubuntu1604_64)1)下载FFmpeg源码    https://ffmpeg.org/download.html    下载最新的版本,ffmpeg-x.x.x.tar.gz,再通过命令解压:tar -xjvf ffmpeg-x.x.x.tar.bz2    或者git拉下来,git clo
 GitHub注册以及安装教程  首先,我们了解一下github.gitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 git 作为唯一的版本库格式进行托管,故名 gitHubgithub 于 2008 年 4 月 10 日正式上线,除了 git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gi
转载 2023-10-12 14:18:27
256阅读
# 如何实现jemalloc ## 引言 在开发过程中,我们经常需要使用动态内存分配。而jemalloc是一种高效的内存分配器,可以优化内存分配和释放的性能。在这篇文章中,我将向你介绍如何实现jemalloc。 ## 流程图 ```mermaid flowchart TD A[了解jemalloc] --> B[下载jemalloc源码] B --> C[编译jemalloc
原创 2024-01-10 04:15:52
155阅读
  • 1
  • 2
  • 3
  • 4
  • 5