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进行过滤。

相关推荐
liulilittle13 小时前
Linux shell 搜索指定后缀名文件,并复制到指定目录。
linux·服务器·数据库
必胜刻13 小时前
Redis哨兵模式(Linux)
linux·数据库·redis
dualven_in_csdn13 小时前
【数据库损坏】关于一次现场数据库损坏
数据库·mysql
锦衣夜行?14 小时前
oracle 未知长度从左到右截取某个字符串
数据库·oracle
han_hanker14 小时前
@JsonIgnore,@JsonProperty, @JsonInclude,@JsonFormat
数据库·oracle
hanyi_qwe14 小时前
MySQL事务基础
数据库·mysql
l1t14 小时前
三种用SQL解决Advent of Code 2022第8题 树顶木屋 的比较和分析
数据库·sql·oracle·duckdb·advent of code
如果未来,14 小时前
Oracle的Redo log和Undo log的区别
数据库·oracle
koping_wu14 小时前
【方案设计】Mysql相关场景
数据库·mysql
杨云龙UP14 小时前
SQL Server小技巧:用 SSMS 重置登录密码,不影响正在运行的系统
运维·服务器·数据库·sql·sqlserver