java应用性能优化思路(一)

1.动静分离,将静态资源交给nginx管理,动态请求交给我们开发的应用程序处理;

2.为数据库表常用查询字段添加索引;

3.如果查询的sql语句还打印在控制台,需将日志级别提高到info或error;

复制代码
logging:
  level:
    com.atguigu.gulimall: error

4.使用jvisualvm查看内存、gc回收,看是否有优化的空间,如调大分配给jvm的内存

复制代码
-Xmx1024m -Xms1024m -Xmn512m

其中:

  1. -Xms 为jvm启动时分配的内存,比如-Xms200m,表示分配200M
  2. -Xmx 为jvm运行过程中分配的最大内存,比如-Xms500m,表示jvm进程最多只能够占用500M内存
  3. -Xmn512m 设置年轻代大小512m

5.查看业务逻辑代码,如果代码中存在循环中查询数据库的,则需进行优化,查询数据库涉及到io操作,而循环与数据库进行交互,则产生大量io,会降低性能。此时需结合实际情况,看查库的操作能否只调用一次,然后对查询出来的数据使用stream流的filter进行过滤。

相关推荐
BTU_YC2 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农2 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.8242 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
苏打水com3 小时前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~4 小时前
linux达梦数据库操作
linux·数据库·chrome
武文斌774 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt4 小时前
SQLite架构
数据库·sqlite
lixora5 小时前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库
郝学胜-神的一滴5 小时前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程
哲Zheᗜe༘5 小时前
了解学习MySQL数据库基础
数据库·学习·mysql