1. 编译、调试HotSpot VM 8

调试HotSpot的JIT编译的注意事项 通常,当您编译 Java 程序时,它首先由 Java 编译器编译为字节码。 但是,该字节码尚未优化。 在 HotSpot(OpenJDK 的 JVM)中,这在运行时发生,并由 JIT(即时编译器)完成。 这种处理方式允许 JIT 最大限度地利用代码运行的条件,例如硬件,甚至在某种程度上利用输入到程序中的特定数据。 阅读详情

编译环境

Ubuntu 22.04.1  (Jammy Jellyfish)

OpenJDK jdk8-b120

注意:Ubuntu 配置 apt 安装源为阿里源可以提高加载速度

设置 apt 安装阿里源

备份

sudo cp /ect/apt/sources.list /etc/apt/sources.list.bak

添加阿里源

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

更新 

sudo apt-get update && sudo apt-get upgrade

安装JDK7

略... (最新的ubuntu下,apt 已经不提供jdk7的安装软件了,..F...)

下载要编译的JDK8版本

1. 筛选tag:

 打开github:https://github.com/openjdk/jdk/,筛选一下下一步需要构件的版本的tag

 

2. 下载代码

可以使用git clone。也可以点击点击Download Zip,这里使用Download Zip的方式。

注意:如果选择git clone注意只需要clone这个tag的就行。如果clone所有的代码量比较大,会很慢。

执行编译

1. configure检测

slowdebug 模式

bash ./configure --with-target-bits=64 --with-jvm-variants=server  --with-debug-level=slowdebug --disable-zip-debug-info  --with-boot-jdk=/home/cap/software/jdk7/

release 模式

bash ./configure --with-target-bits=64 --with-jvm-variants=server  --with-debug-level=release --disable-zip-debug-info  --with-boot-jdk=/home/cap/software/jdk7/

参数解释:

--with-target-bits=64: 构建64的JDK

--with-jvm-variants=server :构建server模式的JDK

--with-debug-level=slowdebug: slowdebug带有更多的调试信息

--disable-zip-debug-info:禁止压缩调试信息,可以方便调试

--with-boot-jdk=/export/soft/java-se-7u75-ri/ :表示boot jdk的路径,就是jdk7的路径

release:    使用此选项编译 JDK 以进行生产发布,通常会关闭调试信息和开启优化。

fastdebug:以调试信息编译 JDK,但不包含额外的调试功能和检查。

product:   编译用于生产环境的 JDK,类似于 release 选项。

optimize:  开启所有优化。

debug:     开启完整的调试信息和调试功能。

2. 可能碰到的错误

1~6

1. 错误提示:configure: error: Cannot find GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.

sudo apt-get install make

2. 错误提示:configure: error: Could not find a C compiler. You might be able to fix this by running 'sudo apt-get install build-essential'.

# 安装 build-essential
sudo apt-get install build-essential

3. 错误提示:configure: error: Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h). You might be able to fix this by running 'sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev'.

# 安装 libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
# 注意 libx11-dev 的 X 是小写
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev

4. 错误提示:configure: error: Could not find cups! You might be able to fix this by running 'sudo apt-get install libcups2-dev'.

# 安装 libcups2-dev
sudo apt-get install libcups2-dev

5. 错误提示:configure: error: Could not find freetype! You might be able to fix this by running 'sudo apt-get install libfreetype6-dev'.

# 安装 libfreetype6-dev
sudo apt-get install libfreetype6-dev

6. 错误提示:configure: error: Could not find alsa! You might be able to fix this by running 'sudo apt-get install libasound2-dev'.

# 安装 libasound2-dev
sudo apt-get install libasound2-dev

7. gcc版本问题

根据官方文档()OpenJDK Build README,构建jdk8需要gcc 4.3。

安装gcc和g++ 4.9版本

修改apt源:

sudo vi /etc/apt/sources.list

添加以下内容到文件末尾:

#install gcc 4.9
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

Xenial Xerus 是 Ubuntu 的 16.04 版本的代号, 在22.04版本(Jammy Jellyfish)版本的deb中已经找不到gcc4.9的包

更新源&安装gcc4.9

sudo apt-get update
sudo apt install gcc-4.9
sudo apt install g++-4.9

管理多版本gcc:

cap@cap:/usr/bin$ sudo mv gcc gcc-11

cap@cap:/usr/bin$ sudo mv g++ g++-11

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

切换到4.9版本:

sudo update-alternatives --config gcc
cap@cap:/usr/bin$ sudo update-alternatives --config gcc

有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。


  选择       路径            优先级  状态

------------------------------------------------------------

* 0            /usr/bin/gcc-11    50        自动模式

  1            /usr/bin/gcc-11    50        手动模式

  2            /usr/bin/gcc-4.9   20        手动模式


要维持当前值[*]请按<回车键>,或者键入选择的编号:2

sudo update-alternatives --config g++

cap@cap:/usr/bin$ sudo update-alternatives --config gcc

有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。

选择       路径            优先级  状态

0            /usr/bin/gcc-11    50        自动模式

1            /usr/bin/gcc-11    50        手动模式

2            /usr/bin/gcc-4.9   20        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:2

3. 检测通过

====================================================

A new configuration has been successfully created in

/home/cap/software/openjdk8/build/linux-x86_64-normal-server-release

using configure arguments '--with-target-bits=64 --with-jvm-variants=server --with-debug-level=release --disable-zip-debug-info --with-boot-jdk=/home/cap/software/jdk7/'.


Configuration summary:

* Debug level:    release

* JDK variant:    normal

* JVM variants:   server

* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64


Tools summary:

* Boot JDK:       openjdk version "1.7.0_75" OpenJDK Runtime Environment (build 1.7.0_75-b13) OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)  (at /home/cap/software/jdk7)

* Toolchain:      gcc (GNU Compiler Collection)

* C Compiler:     Version 4.9.3 (at /usr/bin/gcc)

* C++ Compiler:   Version 4.9.3 (at /usr/bin/g++)


Build performance summary:

* Cores to use:   4

* Memory limit:   7728 MB

4. bear make构建

安装 bear

bear主要是用来生成 compilation database。用来给后续Clion使用,如果使用gdb调试不适用Clion的图形化调试可以不用bear。

debug make

cd build/linux_x86_64-normal-server-slowdebug  

bear -- make all

release make

cd build/linux_x86_64-normal-server-release   

bear -- make all

或者可以这样做,但是这样,会导致compile_commands.json被覆盖,

bear -- make CONF=debug all

bear -- make CONF=release all

可能碰到的错误

错误1:操作系统检测失败

错误提示:

*** This OS is not supported: Linux Lincoln 4.15.0-130-generic #134-Ubuntu SMP Tue Jan 5 20:46:26 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

make[5]: *** [check_os_version] Error 1

/home/parallels/workspace/openjdk/jdk-jdk8-b120/hotspot/make/linux/Makefile:234: recipe for target 'check_os_version' failed

解决办法:

修改Makefile文件

vi hotspot/make/linux/Makefile

修改:

SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%

错误2:make语法不兼容

/usr/bin/make: invalid option -- '8'

/usr/bin/make: invalid option -- '-'

/usr/bin/make: invalid option -- '1'

/usr/bin/make: invalid option -- '2'

...

/usr/bin/make: invalid option -- 'c'

解决方法: 修改adjust-mflags.sh

vi hotspot/make/linux/makefiles/adjust-mflags.sh

添加一个大写I

错误3:忽略警告

错误信息:

cc1plus: all warnings being treated as errors

解决方法: 修改gcc.make文件

vi hotspot/make/linux/makefiles/gcc.make

注释掉如下这行

 通过提示

Tools summary:
* Boot JDK:       openjdk version "1.8.0_275" OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01) OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)  (at /usr/lib/jvm/java-8-openjdk-amd64)
* C Compiler:     x86_64-linux-gnu-gcc-9 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (at /usr/bin/x86_64-linux-gnu-gcc-9)
* C++ Compiler:   x86_64-linux-gnu-g++-9 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (at /usr/bin/x86_64-linux-gnu-g++-9)

Build performance summary:
* Cores to use:   1
* Memory limit:   3936 MB
* ccache status:  not installed (consider installing)

Build performance tip: ccache gives a tremendous speedup for C++ recompilations.
You do not have ccache installed. Try installing it.
You might be able to fix this by running 'sudo apt-get install ccache'.

编译 - make all

----- Build times -------
Start 2020-12-12 22:17:38
End   2020-12-12 22:51:31
00:00:54 corba
00:01:03 demos
00:04:57 docs
00:16:08 hotspot
00:01:06 images
00:00:35 jaxp
00:01:05 jaxws
00:06:49 jdk
00:00:54 langtools
00:00:21 nashorn
00:33:53 TOTAL
-------------------------
Finished building OpenJDK for target 'all'

确认编译成功

cd /javawork/jdk/build/linux-x86_64-normal-server-release/jdk/bin

./java -version

openjdk version "1.8.0-internal"
OpenJDK Runtime Environment (build 1.8.0-internal-zsh_2020_12_12_22_17-b00)
OpenJDK 64-Bit Server VM (build 25.0-b62, mixed mode)

Clion中使用

这里我从别处截过来的,当你只使用一种模式,比如debug  或 release时,可以这样操作,但是,如果你要在两个版本中做来回切换,就得稍微有点区别,暂时不列了。

1. 导入工程:

选择之前生成的:compile_commands.json ,选择open as project

Clion 索引文件需要几分钟

2. 生成Run Configurations and Build Targets

选择:File | Settings

第④步点击三个点

点击 "+"

再次点击 "+"

选择刚才创建的make 和 make clean

3. Custom Run/Debug configurations

深入解析Java虚拟机HotSpot 源码分析为基础,从运行时、垃圾回收器、即时编译器3个维度解析HotSpot VM的底层实现和工作机制,同时与上层的Java语言和库结合,指导读者解决JVM开发、JVM调优和JVM排错方面遇到的各种问题。 很多JVM的底层技术细节你是否只了解表面? 面对JVM Crash或性能调优方面的问题时你是否会束手无策? 面对上层Java应用发生的偏离预期的行为是否会不知所措? 广度与深度兼顾:广度上涵盖Graal VM、CDS、Instrumentation、编译重放、非标准字节码、RTM锁、JIT调试工具、 阅读详情

相关推荐

【JVM与性能调优】Java虚拟机发展史与Sun HotSpot VM入门介绍

Sun HotSpot VM是使用最为广泛的 Java 虚拟机

奶爸的编程之路,也就一周冷个三天 562

在centos7中搭建开发环境并编译nodejs码源

1 安装git yum install -y git 如果提示没有权限则使用su切换至管理员权限。 2 安装编译器 nodejs目前的要求如下: gcc and g++ 4.9.4 or newer, or clang and clang++ 3.4.2 or newer (macOS: latest Xcode Command Line Tools) Python 2.7 Python ...

weixin_37994110的博客 439

从传统扫描到SSN:Tessent数据包技术如何减少90%测试时间

本文深入探讨了Tessent流式扫描网络(SSN)如何通过其核心的数据包技术,彻底改变芯片测试范式。该技术将测试数据封装成标准化数据包,在共享总线上进行智能路由与分发,实现了动态带宽分配与核心独立测试,从而将复杂SoC(如AI芯片)的总体测试时间大幅削减90%,并显著提升测试灵活性与可扩展性。

meat5的博客 490

Ubuntu GNU make 降级到3.81安装步骤及make时报错解决方案

1.下载GNU GNU make 下载并解压 2.运行./configure ./configure 这时可能会报错,比如找不到gcc等等。缺什么安什么,apt install 走起。 必须注意,安装所需依赖时,有可能报错,多换几个apt源试一试,不要迷信阿里云! 换源之后别忘了apt update. 3.make 在命令行中 make 注意这里一般会报错。解决方案是,打开glob/glob.c,注释掉210行和231行。(以下为注释之后的结果) //#if !defined __alloca &amp

RadiumTang的博客 3186

IAR使用教程:如何导入现有工程并成功编译

详细介绍如何在IAR中导入现有工程项目并完成编译配置,解决常见报错问题。通过清晰的操作指引,帮助开发者快速上手iar使用教程中的关键环节,提升开发效率。

weixin_42437253的博客 883

封装CTP API为Java SDK

本文介绍了在Windows环境下使用Java调用CTP API的编译实现过程。首先需要准备CTP API SDK、JDK、SWIG和Visual Studio等工具,配置好开发环境。然后通过搭建目录结构、编写SWIG接口文件ctp.i,实现C++到Java的代码转换。文中详细说明了文件目录组织方式,并提供了处理中文乱码的代码示例。通过这一系列步骤,最终将CTP的C++接口转换为Java可调用的形式,为Java项目获取期货实时报价数据提供支持。

weixin_43952815的博客 1222

GNU make 3.81

如果之前没有安装过make, 可以先在configure之后运行 sh build.sh(README文件中有说明),再运行make install. 解压之后,进入make-3.81目录,  1) ./configure  --prefix=$HOME/jdeng/local 2) make  3) optional (也可不选) make check 4) make in

xingmeng0518的专栏 6189

最优化问题——一维搜索(一)

最优化问题——一维搜索 1. 一维搜索的引入 1.1 从非线性规划问题到一维搜索 在前面的文章中,我们提到了基于迭代的非线性规划问题的求解思路。在求解过程中,我们提到了在每一步的迭代中都需要对计算步长因子,其计算公式为: λk=minλf(xk+λp)λ_k=min_{λ}f(x_k+λp)λk​=minλ​f(xk​+λp) 我们将f(xk+λp)f(x_k+λp)f(xk​+λp)视为λ的一元函数,我们的目标就是求这个一元函数的极小值。对于这个问题,我通常的求解方式为一维搜索。 1.2 一维搜索的基本形

hei653779919的博客 7360

内核开发环境搭建 ubuntu12.04 android-4.2.2

1: Detailed instructions for Ubuntu and MacOS follow. In general you will need: Python 2.6 -- 2.7, which you can download from python.org. GNU Make 3.81 -- 3.82, which you can download fr

quanguoheme的专栏 1920

手把手教你学Simulink--基于微电网的建模与仿真场景实例:独立运行模式下微电网的能量管理系统设计

本文详细介绍了使用Simulink对独立运行微电网能量管理系统进行建模与仿真的完整流程。主要包括:系统结构设计(分布式能源、储能系统、负荷等模块)、建模步骤(从创建项目到实现能量管理策略)、仿真设置与结果分析。通过建立基于规则的控制逻辑和优化调度算法,实现微电网的自主运行和能量优化管理。文章还提供了参数优化和多目标改进建议,为新能源和智能电网领域的研究与应用提供了实用指导。

MHD0815的博客 8582

XILINX RFSoC全面解析(五)—— Zynq UItrascale+ RF Data Converter IP核详解

这期我们来看看RFSoC独有的IP核——Zynq UItrascale+ RF Data Converter如何使用。 我使用的VIVADO版本是2018.3,这个是最低版本,要开发RFSoC,VIVADO版本必须不低于2018.3。 另外电脑配置也需要很高,64位,8核@3.4GHz CPU,16GB内存,固态硬盘基本就是低配,跑起来很勉强。建议有条件的朋友使用工作站或者服务器。 首先在VIVADO中新建一个工程,因为我使用的是xilinx官方的开发板,所以可以直接设定选board就行。 在I

1万+

在Linux下编译OpenJdk并调试Hotspot

背景 对于大多数Java程序员来说,JVM就是一个黑盒子,我们一般不必关心它内部是怎么运作的。但是万一碰到JVM bug导致的Crash呢,又或者只是因为好奇想了解JVM的内部世界,那么就需要编译和调试JVM。 概念 1. JVM(Java Virtual Machine)        翻译过来就是Java虚拟机,所谓虚拟机是相对传统的计算机而言的。

7009

【第三方互联】3、腾讯QQ授权第三方登录

当我们创建的 QQ 互联应用成功后,我们便可以开始使用该应用来实现 QQ 互联 一、获取 APP ID 和 APP Key 1、找到我的应用 2、点击应用,进入详情 这样,我们就获取到了 APP ID 和 APP Key 二、进行开发 1、将 APP ID 、APP Key,以及该应用的信息放入项目中的配置文件中,我使用的是SpringBoot,我放在了 application.y...

JACKAL 22万+

Java虚拟机原理分析之Win10下VS2017编译OpenJDK8与单步调试HotSpot VM过程详细记录

继上一篇文章我们在Win7+VS2010环境下成功编译出了x86版本的OpenJDK后,本文记录了Win10下VS2017编译OpenJDK8与单步调试HotSpot VM的过程,着重介绍其中遇到的错误与解决方案。

LPWSTR的博客 4988

C# 动态壁纸实战:7步带你从零开始制作动态壁纸

动态壁纸是指在计算机桌面上播放视频、动画或交互式内容的一种技术。与传统的静态壁纸相比,动态壁纸更加生动有趣,可以大大提升桌面的观赏性和互动性。通过本文的详细讲解和代码示例,相信你已经学会了如何使用C#实现动态壁纸。动态壁纸不仅能够提升桌面的美观度,还能展示你的编程技能。希望这篇教程对你有所帮助,期待你在C#编程中取得更大的成就!🌟✨如果你有任何问题或建议,欢迎在评论区留言交流!希望这篇教程对你有所帮助,期待你在C#编程中取得更大的成就!😊✨😊✨。

java专栏 1673

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java hotspot vm,Java HotSpot VM 预备目录

Java SE在面试中10个面试9个问JVM的问题,在网上也一大批的博客,篇章讲述JVM,但始终觉得一篇传一篇也不知道传的是什么版本下的VM,技术的更新点似乎都没有或很少讲诉,看的我怀疑人生,就打算自己去oracle官网学习一番---耐心很重要怎么选择这次学习的题目呢,也不自定义了,选择官方的标题---Java SE - Technologies | HotSpot VMJava SE是Java开...

weixin_31110189的博客 184

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java虚拟机原理分析之Win7下VS2010编译OpenJDK8与单步调试HotSpot VM过程详细记录

上周五偶然翻到本讲JVM原理的书,看着觉得很过瘾,居然因此错过了晚饭,很久没这么酣畅淋漓过了。然而过瘾之余,看不到JVM源码、也无法调试,总觉得未能尽兴。Linux的老爸Linus大牛曾说“Talk is cheap, show me the code”,光看书,总觉得像在吃别人已经吃剩下的饭,远不如自己动手看看源码、调试跟一跟来得实在。遂决定在Windows平台上自己动手编译一个Java虚拟机,...

LPWSTR的博客 4559

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux构建JVM(HotSpot) 源码调试环境(OpenJDK8)

一、准备环境 1.1、服务器资源 操作系统:CentOS 6.8 x64 二、下载源码(OpenJDK8) yum 源使用的是阿里的 https://opsx.alibaba.com/mirror?lang=zh-CN 这里使用 mercurial(类似 Git 的版本控制系统) 下载源码,方便更新。 安装hg服务 yum install mercurial -y 使用hg下载jdk8u源码到/opt目录 hg clone http://hg.openjdk.java.net/jdk8u/

qq_24101357的博客 8万+

JVM进阶2--VS2010单步调试Hotspot

将已经编译好的openjdk1.8代码,使用VS2010来调试,研究JVM启动过程以及原理。 目录结构 openjdk源码组织结构 HotSpot源码包结构 创建hotspot VS2010工程 利用VS2010单步调试 具体的openjdk编译过程可以参考https://blog.csdn.net/u014106644/article/details/89316483 openj...

大魔王 1262

java 1.8 vm_HotSpot虚拟机在java 1.8中的新实现

HotSpotJava HotSpot 虚拟机是 Java SE 平台的一个核心组件。它实现 Java 虚拟机规范,并作为 Java 运行时环境中的一个共享库来提供。作为 Java 字节码执行引擎,它在多种操作系统和架构上提供 Java 运行时设施,如线程和对象同步。它包括自适应将 Java 字节码编译成优化机器指令的动态编译器,并使用为降低暂停时间和吞吐量而优化的垃圾收集器来高效管理 Java ...

weixin_42565755的博客 548

5分钟快速验证:HotSpot VM警告解决方案原型

方案选择建议新项目推荐直接用Java 17+无需特殊参数必须用旧JDK时,比-noverify更安全任何情况下都应避免生产环境关闭字节码验证原型开发价值实际测试发现Java 17下警告完全消失确认不会引发新警告整个过程比传统调试节省90%时间通过InsCode(快马)平台的在线Java环境,我连本地IDE都不用打开就完成了所有验证。特别是部署功能,直接把三个方案变成可公开访问的对比页面,分享给团队讨论特别方便。这种轻量级验证方式,很适合解决类似的JVM调优小问题。

BlackironLynx23的博客 810

[Inside HotSpot] Xcode编译调试OpenJDK12

编译 下载brew然后安装hg,freetype,ccache $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew install ccache $ brew install freetype $ brew install hg $ h...

weixin_30311605的博客 410

hotspot vm 参数解析

先看下hotspot的参数解析的流程 1.首先是Arguments::parse这个函数的初步解析,主要解析XX的标志 -XX:Flags= 这个标识后面指向一个具体的文件名,解析里面的各种flag然后动态的申请内存,存放到_jvm_flags_array这个指针数组里面。 -XX:+PrintVMOptions : 开启打印,所有以-XX: 开头的参数,都会打印 -XX:-PrintVMOpti...

bruk_spp的博客 461

优化Java开发:消除HotSpot VM警告的效率技巧

对于Java开发者来说,处理HotSpot VM警告是一个常见的任务。传统的手动方法虽然可靠,但效率较低。而使用AI辅助工具,如Kimi-K2模型,可以大幅提升处理效率,同时提高代码质量。建议开发者在遇到类似问题时,尝试使用AI工具,体验其带来的便利。如果你也想尝试这种高效的开发方式,可以访问InsCode(快马)平台,它提供了强大的AI辅助功能,帮助开发者快速解决问题。我在实际操作中发现,平台的响应速度非常快,生成的代码质量也很高,非常适合日常开发使用。

OnyxPanther23的博客 791
下一篇: 2. HotSpot VM 模块简述
TCF000
博客等级 码龄3年 114粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TCF000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值