当前位置: 首页 > news >正文

1.jvm基本知识

目录

  • 概述
  • jvm虚拟机三问
    • jvm是什么?
      • java 和 jvm 的关系
    • 为什么学jvm
    • 怎么学习
    • 为什么jvm调优?
      • 什么时候jvm调优
      • 调优调什么
  • 结束

概述

相关文章在此总结如下:

文章地址
jvm类加载系统地址
双亲委派模型与打破双亲委派地址
运行时数据区地址
运行时数据区-字符串常量池、程序计数器、直接内存地址
jvm中对象创建流程与内存分配地址
jvm对象内存布局地址
GC基本原理地址

jvm虚拟机三问

jvm是什么?

广义上指的是一种规范,狭义上是 jdk 中的 jvm 虚拟机(实际上是各厂商实现的虚拟机,如:Hotspot、zing、j9等)
在这里插入图片描述

java 和 jvm 的关系

在这里插入图片描述
由上图,JVM是宿主,java通过编译成 class文件格式在 jvm上运行。

为什么学jvm

  • 为了面试
  • 研发中难点问题会与jvm有关系。如:线程死锁、内存溢出、项目性能优化等。
  • 想要深入java语言,必需要学习jvm

怎么学习

  1. jvm基础知识
  2. 类加载系统
  3. 运行时数据区
  4. 一个对象的一生
  5. GC收集器
  6. 实战

为什么jvm调优?

  • 调优的最终目的都是为了应用程序使用最小的硬件来承载更大的吞吐量。
  • 更少的内存、更低的延迟、更大的吞吐量、减少应用的GC暂停时间
  • GC暂停会在高并发场景下,P99百分位的响应时间会产生影响

什么时候jvm调优

  • 系统吞吐量与响应性能不高或下降
  • Heap内存(老年代)持续上涨达到设置的最大内存值
  • Full GC 次数频繁
  • GC停顿时间过长(超过1s)
  • 应用出现OutOfMemory等内存异常
  • 应用中有使用本地缓存、且占用了大量的内存空间

调优调什么

  • 内存分配
  • 垃圾回收器选配

结束

相关文章:

1.jvm基本知识

目录 概述jvm虚拟机三问jvm是什么?java 和 jvm 的关系 为什么学jvm怎么学习为什么jvm调优?什么时候jvm调优调优调什么 结束 概述 相关文章在此总结如下: 文章地址jvm类加载系统地址双亲委派模型与打破双亲委派地址运行时数据区地址运行时数据区-字符串…...

前端---掌握WebAPI:DOM

文章目录 什么是DOM?使用DOM获取元素事件操作元素获取、修改元素内容获取、修改元素属性获取、修改表单元素属性:input获取、修改样式属性直接修改样式:行内样式通过修改class属性来修改样式 新增节点删除节点 什么是DOM? DOM&am…...

最优化基础(一)

最优化基础(一)1 最优化问题的数学模型 通俗地说,所谓最优化问题,就是求一个多元函数在某个给定集合上的极值. 几乎所有类型的最优化问题都可以用下面的数学模型来描述: m i n f ( x ) s . t . x ∈ Ω min\ f({x})\\ s.t. \ {…...

基于JavaWeb+SpringBoot+Vue医疗器械商城微信小程序系统的设计和实现

基于JavaWebSpringBootVue医疗器械商城微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 摘 要 目前医疗器械行业作为医药行业的一个分支,发展十分迅速。…...

java程序中为什么经常使用tomcat

该疑问的产生场景: 原来接触的ssm项目需要在项目配置中设置tomcat,至于为什么要设置tomcat不清楚,只了解需要配置tomcat后项目才能启动。接触的springboot在项目配置中不需要配置tomcat,原因是springboot框架内置了tomcat&#xf…...

大带宽服务器需要选择哪些节点

选择大带宽服务器节点需要考虑以下几个因素: 地理位置:选择距离用户较近的节点,可以降低延迟,提高响应速度。 网络质量:大带宽服务器节点应该有良好的网络质量,稳定可靠,能够提供高速的网络传输…...

CSS 属性学习笔记(入门)

1. 选择器 CSS选择器用于选择要样式化的HTML元素。以下是一些常见的选择器&#xff1a; 元素选择器 p {color: blue; }描述&#xff1a; 选择所有 <p> 元素&#xff0c;并将文本颜色设置为蓝色。 类选择器 .highlight {background-color: yellow; }描述&#xff1a;…...

[Android]使用View Binding 替代findViewById

1.配置 build.gradle文件中添加配置&#xff0c;然后同步。 android {...buildFeatures {viewBinding true} } 2.用 View Binding 类来访问布局中的视图 在Activity代码的顶部导入生成的 View Binding 类&#xff1a; import com.example.yourapp.databinding.ActivityMai…...

Pytest UI自动化测试实战实例

环境准备 序号库/插件/工具安装命令1确保您已经安装了python3.x2配置python3pycharmselenium2开发环境3安装pytest库 pip install pytest 4安装pytest -html 报告插件pip install pytest-html5安装pypiwin32库(用来模拟按键)pip install pypiwin32 6安装openpyxl解析excel文…...

软件测试/测试开发丨接口自动化测试学习笔记,多环境自动切换

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/28026 多环境介绍 环境使用场景备注dev开发环境开发自测QA测试环境QA日常测试preprod预发布环境回归测试、产品验测试prod线上环境用户使用的环境 通过环…...

Spring-IoC与DI入门案例

IoC入门案例 IoC入门案例思路分析 管理什么&#xff1f;&#xff08;Service与Dao&#xff09;如何将被管理的对象告知IoC容器&#xff1f;&#xff08;配置&#xff09;被管理的对象交给IoC容器&#xff0c;如何获取到IoC容器&#xff1f;&#xff08;接口&#xff09;IoC容…...

windows虚拟内存自定义分配以及mysql错误:Row size too large (> 8126)

文章目录 虚拟内存概要windows-server配置虚拟内存技术名词解释关于mysql错误Row size too large (> 8126)问题分析解决办法 虚拟内存概要 虚拟内存别称虚拟存储器&#xff08;Virtual Memory&#xff09;。电脑中所运行的程序均需经由内存执行&#xff0c;若执行的程序占用…...

自动备份pgsql数据库

bat文件中的内容&#xff1a; PATH D:\Program Files\PostgreSQL\13\bin;D:\Program Files\7-Zip set PGPASSWORD**** pg_dump -h 8.134.151.187 -p 5466 -U sky -d mip_db --schema-only -f D:\DB\backup\%TODAY%-schema-mip_db_ali.sql pg_dump -h 8.134.151.187 -p 5466…...

networkx使用draw画图报错:TypeError: ‘_AxesStack‘ object is not callable

一、问题描述 在使用networkx的draw绘图时nx.draw(g,posnx.spring_layout(g))&#xff0c;报错&#xff1a;TypeError: _AxesStack object is not callable 二、原因 可能是当前python环境下的networkx和matplotlib的版本不匹配。我报错时的networkx2.8&#xff0c;matplotl…...

tcpdump 常用命令

wireshark抓包抓取服务器10.20.1.101上的包&#xff0c;使用网络接口wlan ./tcpdump -vvv host 192.168.137.142 and 10.20.1.101 and ! port 23 -w rtmp.cap ./tcpdump -vvv host port 9013 -w ppt.cap...

Linux 下安装 Maven 3.8.8【详细步骤】

前提条件:安装 jdk,详见 安装jdk1.8 # 下载(地址可能会因为版本更新无效,到时候直接去官网找下载地址) wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz# 解压 tar -zxvf apache-maven-3.8.8-bin.tar.gz# 修改环境变量 vi /e…...

报错资源不足,k8s使用containerd运行容器修改挂载点根目录换成/home

运行k8s一段时间发现存储不足报错 发现这里用的是根路径的挂载&#xff0c;修改一下...

JS代码其实可以这样写

给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 日常工作中,我确实经常去帮大家review代码,长期以来,我发现有些个功能函数,JS其实可以稍微调整一下,或者换个方式来处理,代码就会看起来更清晰,更简洁,…...

day14-文件系统工作流程分析

1.内核启动文件系统后&#xff0c;文件系统的工作流程 1.参数的接收 2.参数的解析 3.参数的应用 问题&#xff1a; 1. UBOOT 传给 KERNEL 的参数是以tagglist进行的 KERNEL 传给 文件系统(busybox)的参数是以什么进行的&#xff1f; 2. 在整个文件系统中都需…...

kubectl 常用命令搜集 —— 筑梦之路

集群信息&#xff1a; 1. 显示 Kubernetes 版本&#xff1a;kubectl version 2. 显示集群信息&#xff1a;kubectl cluster-info 3. 列出集群中的所有节点&#xff1a;kubectl get nodes 4. 查看一个具体的节点详情&#xff1a;kubectl describe node <node-name> 5.…...

Tree of Thoughts终极指南:5分钟掌握思维树算法原理与实战应用

Tree of Thoughts终极指南&#xff1a;5分钟掌握思维树算法原理与实战应用 【免费下载链接】tree-of-thought-llm [NeurIPS 2023] Tree of Thoughts: Deliberate Problem Solving with Large Language Models 项目地址: https://gitcode.com/gh_mirrors/tr/tree-of-thought-l…...

Git Diff View:三分钟学会实用的代码差异对比组件

Git Diff View&#xff1a;三分钟学会实用的代码差异对比组件 【免费下载链接】git-diff-view A Diff View component for React / Vue, just like Github 项目地址: https://gitcode.com/gh_mirrors/gi/git-diff-view 你是否曾经在代码审查中为理解复杂的Git差异而头疼…...

4个步骤实现跨设备数据同步:开源工具Kazumi的WebDAV集成方案

4个步骤实现跨设备数据同步&#xff1a;开源工具Kazumi的WebDAV集成方案 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP&#xff0c;支持流媒体在线观看&#xff0c;支持弹幕&#xff0c;支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi …...

Arctic数据压缩与序列化:LZ4压缩如何提升性能10倍的终极指南

Arctic数据压缩与序列化&#xff1a;LZ4压缩如何提升性能10倍的终极指南 【免费下载链接】arctic High performance datastore for time series and tick data 项目地址: https://gitcode.com/gh_mirrors/ar/arctic Arctic是一个专为时间序列和tick数据设计的高性能数据…...

五步解锁老旧Mac新生:OpenCore Legacy Patcher实战指南

五步解锁老旧Mac新生&#xff1a;OpenCore Legacy Patcher实战指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 如何让苹果官方已停更的老旧Mac设备重新焕…...

单片机:从核心原理到智能应用实战

1. 单片机&#xff1a;智能时代的微型大脑 想象一下清晨醒来&#xff0c;窗帘自动拉开&#xff0c;咖啡机开始工作&#xff0c;室内温度始终保持在最舒适的状态——这些看似简单的智能场景背后&#xff0c;都藏着一个不起眼却至关重要的核心部件&#xff1a;单片机。这块比硬币…...

只要一行代码,瞬间搭建 Web 服务器 python -m http.server 8000

只要一行代码,瞬间搭建 Web 服务器 python -m http.server 8000 目录 只要一行代码,瞬间搭建 Web 服务器 python -m http.server 8000 1. 核心机制:内置的 `http.server` 模块 2. 为什么它能“求生”,但不能“生产”? 🚀 并发处理能力 (Concurrency) 🛡️ 安全性 (Se…...

Janus-Pro-7B开发者案例:基于7860 Web UI构建内部AI知识助手

Janus-Pro-7B开发者案例&#xff1a;基于7860 Web UI构建内部AI知识助手 1. 项目背景与价值 企业内部知识管理一直是个头疼的问题。各种文档、图片、报告散落在不同系统中&#xff0c;员工想要快速找到需要的信息往往需要花费大量时间。传统的搜索工具只能基于文字匹配&#…...

基于历史数据的加密货币交易系统策略验证实践指南

基于历史数据的加密货币交易系统策略验证实践指南 【免费下载链接】node-binance-trader &#x1f4b0; Cryptocurrency Trading Strategy & Portfolio Management Development Framework for Binance. &#x1f916; 项目地址: https://gitcode.com/gh_mirrors/no/node-…...

StructBERT WebUI部署教程:CSDN GPU Pod环境下5000端口服务配置与防火墙适配

StructBERT WebUI部署教程&#xff1a;CSDN GPU Pod环境下5000端口服务配置与防火墙适配 1. 项目概述 StructBERT文本相似度服务是一个基于百度StructBERT大模型的高精度中文句子相似度计算工具。这个工具能够准确判断两个中文句子在语义上的相似程度&#xff0c;为各种文本处…...