IDEA调优-四大基础配置-编码纵享丝滑

文章目录

      • 1.JVM虚拟机选项配置
      • 2.多线程编译速度
      • 3.构建共享堆内存大小
      • 4.关闭不必要的插件

1.JVM虚拟机选项配置

-Xms128m
-Xmx8192m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

在这里插入图片描述

1.-Xms128m:
设置 JVM 初始堆栈大小为 128MB。
初始堆栈大小用于存储线程运行时的局部变量和方法调用栈。
较小的初始堆栈可以减少内存占用,但可能导致频繁的垃圾回收。
较大的初始堆栈可以减少垃圾回收的频率,但可能导致内存浪费。

2. -Xmx8192m:
设置 JVM 最大堆栈大小为 8192MB。
最大堆栈大小用于限制 JVM 可以使用的最大堆内存量。
较小的最大堆栈可以防止内存溢出,但可能限制应用程序的性能。
较大的最大堆栈可以提高应用程序的性能,但可能导致内存溢出。

3. -XX:ReservedCodeCacheSize=512m:
设置保留代码缓存大小为 512MB。
保留代码缓存用于存储 JIT 编译生成的代码。
较大的保留代码缓存可以提高 JIT 编译的效率,但可能导致内存浪费。
较小的保留代码缓存可以减少内存占用,但可能降低 JIT 编译的效率。

4. -XX:+UseG1GC:
启用 G1 垃圾收集器。
G1 垃圾收集器是一种面向并发、增量、标记-清除垃圾收集器。
与传统的 CMS 和 ParNew 收集器相比,G1 收集器具有更好的性能和可预测性。

5. -XX:SoftRefLRUPolicyMSPerMB=50:
设置软引用 LRU 淘汰策略的每 MB 内存停留时间为 50 毫秒。
软引用 LRU 淘汰策略用于管理软引用缓存。
较小的停留时间可以提高软引用缓存的命中率,但可能导致频繁的淘汰。
较大的停留时间可以减少淘汰的频率,但可能降低软引用缓存的命中率。

6. -XX:CICompilerCount=2:
设置 JIT 编译器线程数量为 2。
JIT 编译器用于将 Java 字节码编译为机器码。
更多的 JIT 编译器线程可以提高 JIT 编译的速度,但可能导致 CPU 资源竞争。

7. -XX:+HeapDumpOnOutOfMemoryError:
在发生内存溢出时生成堆转储文件。
堆转储文件用于分析内存使用情况,找出导致内存溢出的原因。

8. -XX:-OmitStackTraceInFastThrow:
禁用快速异常抛出的堆栈跟踪省略。
快速异常抛出可以提高异常处理的速度,但可能导致堆栈跟踪信息的丢失。
在这里插入图片描述

2.多线程编译速度

1C的含义是1倍CPU核心数量,假设我的设备是i7-9750h处理器 6核 就会开启六线程编译
参考:亲测一个项目未开启多线程的时候需要构建3分12秒 开启后1分56秒 大概可以提速百分之50以上!
在这里插入图片描述

3.构建共享堆内存大小

1.提高构建速度:
1>共享堆内存用于存储构建过程中经常使用的数据,例如编译器缓存、类加载器缓存等。
2>增加共享堆内存大小可以减少这些数据的重复加载和创建,从而提高构建速度。
3>尤其是在大型项目中,构建过程中需要处理大量数据,增加共享堆内存可以显著提升构建效率。

2. 减少内存占用:
1>共享堆内存可以在多个项目之间共享,避免每个项目单独分配内存。
2>这对于拥有多个项目的开发人员来说尤为重要,可以有效降低内存占用,特别是对于内存资源有限的机器。

3. 提高稳定性:
1>充足的共享堆内存可以避免因内存不足导致的构建失败或异常。
2>特别是在构建复杂的项目或使用大量插件的情况下,增加共享堆内存可以提高构建的稳定性。

在这里插入图片描述

4.关闭不必要的插件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/480069.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

赋能 DevOps:平台工程的关键作用

在当今快节奏的数字环境中,DevOps 已成为寻求简化软件开发和交付流程的组织的关键方法。DevOps 的核心在于开发和运营团队之间协作的概念,通过一组旨在自动化和提高软件交付生命周期效率的实践和工具来实现。 DevOps 实践的关键推动因素之一是平台工程。…

小程序渲染层图标错误

小程序渲染图标层出现错误: 官方提示:不影响可以忽略; 通过阿里巴巴矢量图标库--项目设置--字体格式--选中base64格式; 重新更新图标库代码,替换项目中的图标库; 重新加载小程序--渲染层错误的提示消失&…

[运维] 可视化爬虫易采集-EasySpider(笔记)

一、下载 ​下载地址 下滑到Assets页面,选择下载 二、解压运 ​解压压缩包,打开文件夹 在此文件夹下打开Linux Terimal, 并输入以下命令运行软件: ./easy-spider.sh 注意软件运行过程中不要关闭terminal。 三、使用 1.开始 首先点击…

Qt实现TFTP Server和 TFTP Client(一)

1 概述 TFTP协议是基于UDP的简单文件传输协议,协议双方为Client和Server.Client和Server之间通过5种消息来传输文件,消息前两个字节Code是消息类型,消息内容随消息类型不同而不同。传输模式有三种:octet,netascii和mail,octet为二…

浅谈Javascript虚拟列表(virtaul list)改造成虚拟表格(virtaul table)的技术

前端加载百万条数据列表,如果采用真实的DOM插入100万个div(或li)标签,肯定是非常卡顿的。这就不得不使用虚拟列表技术方案,但是虚拟列表技术方案网上有很详细的实现方法,今天我就来谈谈根据网上的方案&…

Prompt进阶系列5:LangGPT(提示链Prompt Chain)--提升模型鲁棒性

Prompt进阶系列5:LangGPT(提示链Prompt Chain)–提升模型鲁棒性 随着对大模型的应用实践的深入,许多大模型的使用者, Prompt 创作者对大模型的应用越来越得心应手。和 Prompt 有关的各种学习资料,各种优质内容也不断涌现。关于 Prompt 的实践…

ETL的全量和增量模式

在当今信息爆炸的时代,数据管理已经成为各行各业必不可少的一环。而在数据管理中,全量与增量模式作为两种主要的策略,各自具有独特的优势和适用场景,巧妙地灵活运用二者不仅能提升数据处理效率,更能保障数据的准确性。…

Alibaba spring cloud Dubbo使用(基于Zookeeper或者基于Nacos+泛化调用完整代码一键启动)

Quick Start Dubbo&#xff01;用更优雅的方式来实现RPC调用吧 - 掘金 dubbozookeeper demo 项目结构&#xff1a; RpcService 仅仅是提供服务的接口&#xff1a; public interface HelloService {String sayHello(String name); }DubboServer pom&#xff1a; <?xm…

爱普生EPSON全新传感技术方案亮相高交会,创造新时代“精智生活”

2023年中国国际高新技术成果交易会在深圳福田会展中心盛大举行&#xff0c;是目前中国规模最大、最具影响力的科技类展会之一。爱普生作为始终坚持“科技本地化”战略的技术创新前沿企业参与此次展会&#xff0c;为中国用户带来爱普生电子元器件三款创新技术与四大成熟传感器解…

基于JavaSpringmvc+myabtis+html的鲜花商城系统设计和实现

基于JavaSpringmvcmyabtishtml的鲜花商城系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末…

C++学习随笔(6)——类和对象的拓展

1. 构造函数回顾 1.1 构造函数体赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _mont…

量子计算机

近日&#xff0c;在AWS re&#xff1a;Invent全球大会上&#xff0c;亚马逊官宣AWS三箭齐发量子计算组合拳&#xff1a;Braket、AWS量子计算中心和量子解决方案实验室。 随着亚马逊的强势入局&#xff0c;加上此前鼓吹量子霸权的谷歌、起步最早的IBM、暗自发力的微软&#xff…

Bumblebee双目测量基本原理

一.双目视觉原理 双目立体视觉三维测量是基于视差原理。 图 双目立体成像原理 因此,左相机像面上的任意一点只要能在右相机像面上找到对应的匹配点,就可以确定出该点的三维坐标。这种方法是完全的点对点运算,像面上所有点只要存在相应的匹配点,就可以参与上述运算,从而获…

DeepLabv1网路介绍

模型创新点 在论文引言中&#xff0c;作者提出了目前语义分割存在的问题&#xff0c;并且给出了解决办法&#xff1a; 下采样会导致我们图像空间分辨率降低——解决办法 使用膨胀卷积 目前语义分割网络基本都是采用CNN网络作为主干网络&#xff0c;但是CNN网络主要适用于目标检…

SQLiteC/C++接口详细介绍sqlite3_stmt类(十一)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;十&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;十二&#xff09; 43、sqlite3_reset sqlite3_reset 函数用于重置已经编…

基于 GitHub Workflow和 Docker 构建 NextJS

最近由于某个偶然的事件&#xff0c;突然对Docker、Github自动化部署产生了浓厚的兴趣&#xff0c;开始研究Docker部署Nextjs应用&#xff01; NextJS 是 vercel 创建的 JavaScript 框架。它允许你使用 React 构建无服务器 API、服务器端渲染和静态 Web 应用程序。 Vercel 提供…

opencv自定义间隔帧获取视频转存为图片的GUI界面实现

该程序功能只将mp4转为jpg 希望得到您的指导 非常感谢您观看我的博客&#xff0c;我的博客是为了记录我的学习过程同时保留我的某些可重复利用代码以方便下次使用。如果您对我的博客有任何建议还请您不吝指出&#xff0c;非常感谢您对我的指导。 背景 在实现opencv逐帧获取…

酷开科技以内容技术服务和数字营销服务为核心,自主研发酷开系统

家庭场景的需求&#xff0c;才是大屏电视的目的。屏幕越大得到的画幕越大&#xff0c;消费者也就看的越清楚&#xff0c;从而获得更好的观看体验&#xff0c;尤其是家里有老人孩子的&#xff0c;为了得到更好的视觉效果&#xff0c;使得消费者对于大屏的需求也在增加。酷开系统…

python的O2O生鲜食品订购flask-django-nodejs-php

用户只能通过一些类似软件进行查看生鲜超市&#xff0c;这样的管理方式仍然是比较机械传统的&#xff0c;本文通过对市面上常见的线上管理系统与现实生活中结合问题的讨论&#xff0c;从一个微信小程序的O2O生鲜食品订购角度进行需求分析&#xff0c;提供一些新的思路&#xff…

【Canvas与艺术】绘制暗绿色汽车速度仪表盘

【原型】 【成果】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>暗绿色汽车速度仪表盘</title><style type"t…