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

相关推荐
向上的车轮19 分钟前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长29 分钟前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
全栈师1 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 3171 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop
BergerLee2 小时前
对不经常变动的数据集合添加Redis缓存
数据库·redis·缓存
gorgor在码农2 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
bug菌¹3 小时前
滚雪球学Oracle[6.2讲]:Data Guard与灾难恢复
数据库·oracle·data·灾难恢复·guard
一般路过糸.3 小时前
MySQL数据库——索引
数据库·mysql
Cengineering3 小时前
sqlalchemy 加速数据库操作
数据库
Cikiss3 小时前
微服务实战——平台属性
java·数据库·后端·微服务