Java项目中高并发问题的简单解决方案
Java项目中高并发问题的简单解决方案
1、尽量使用缓存技术来做。用户缓存,页面缓存等一切缓存,使用特定的机制进行刷新。利用消耗内存空间来换取用户的效率,同时减少数据库的访问次数。
2、把数据库的查询语句进行优化,一般复杂的SQL语句就不要使用ORM框架自带的做法来写,采用自己来写SQL,例如hibernate的hql中的复杂语句就会很耗时。
3、优化数据库的表结构,在关键字、主键、访问率极高的字段中加入索引。但尽量只是在数字类型上面加,因为使用字段is null 的时候,索引的效果就会失效。
4、报表统计的模块,尽量使用定时任务执行,如果非要实时进行刷新,那么就可以采用缓存来做数据。
5、可以使用静态页面的地方,尽量使用静态页面,减少页面的解析时间。同时页面中的图片过多时,可以考虑把图片单独做成一个服务器,这样可以减少业务服务器的压力。
6、使用集群的方式来解决单台服务器的性能问题。
7、把项目拆分成多个应用小型服务器的形式来进行部署。采用数据同步机制(可以使用数据库同步形式来做)达到数据一致性。
8、使用负载均衡模式来让每一个服务器资源进行合理的利用。
9、缓存机制中,可以使用redis来做内存数据库缓存起来。也可以使用镜像分担,这样可以让两台服务器进行访问,提高服务器的访问量。
10、分布式Session共享解决方案 https://blog.csdn.net/u011955252/article/details/82083864
11、 java高并发解决方案 http://www.bjpowernode.com/tutorial_bf/
12、使用数据库索引 https://www.cnblogs.com/wwxzdl/p/11116446.html
(数据库的五种索引)、https://blog.csdn.net/gaotiedun1/article/details/88584362
13、使用后端框架系统
①、springboot、springcloud,微服务架构体系。
②、安全框架、Apache shiro core模块
③、引擎模板、thymeleaf
④、持久层框架 Mybatis
⑤、定时任务、Quartz
⑥、数据库连接池、Druid
⑦、代码生成、基于mybatis-plus的代码生成工具
⑧、项目管理、Maven
⑨、缓存技术、Redis shiro自带缓存,
⑩、负载均衡、使用nginx配置网络实现负载
⑪、其他插件lombok
前端框架、
前端使用vue页面、
①、vue页面的创建安装axios(ajax)
②、页面使用elementUI饿了么框架。
Java项目中高并发问题的简单解决方案相关推荐
- java项目_JNPF快速开发平台-简单快速高效开发java项目
◆JNPF快速开发平台 JNPF快速开发平台采用前后端分离技术.采用B/S架构开发,形成一站式开发多端(APP+PC)使用. 使用JNPF开发平台可以简单.快速.高效的构建各种类型java项目. ◆J ...
- 项目中高并发问题的解决方案
1.尽量使用缓存技术来做.用户缓存,页面缓存等一切缓存,使用特定的机制进行刷新.利用消耗内存空间来换取用户的效率,同时减少数据库的访问次数. 2.把数据库的查询语句进行优化,一般复杂的SQL语句就不要 ...
- java项目遇到风险漏洞示例与解决方案
项目常见风险漏洞和解决方案记录 敏感信息泄露 漏洞描述:敏感信息泄露漏洞,是一种通过提交错误请求,使系统出现异常处理并报错,并且将系统程序.配置 等敏感信息泄露出来的漏洞.工程师发现系统搜索功能模块中 ...
- Java项目之星际争霸1简单仿制(一)项目概述及展示
<星际争霸>(英语:StarCraft)是暴雪娱乐制作发行的一款即时战略游戏.这是星际争霸系列游戏的第一部作品,于1998年3月31日正式发行.就竞技性与平衡性而言,是无法被超越的. &l ...
- 零基础小白都能看懂的Java处理高并发的3种解决方案
高并发是互联网应用的一大特色,也是互联网应用不可避免的问题;比如淘宝双11.京东618.12306春节火车票,促销.秒杀等等. 一.什么是高并发 高并发(High Concurrency)是互联网分布 ...
- java项目qq聊天室_简单的qq聊天室项目(作者涂俊伟)
项目总结 经过这10天的项目实训使我们受益匪浅.虽然其中遇到了很多困难,在写程序 中是写一个函数,就调试一次,看看 有没有问题,再继续往下写,这样减轻了后面调试的压力. 项目过程: 1.构思,聊天室的 ...
- java 项目中遇到的问题 和解决方案_Java开发遇到的问题及解决方案
一.java.lang.OutOfMemoryError 问题:myeclipse 内存不足,又显示内存溢出等问题怎么回事?(java.lang.OutOfMemoryError: PermGen s ...
- eclipse的java项目无法启动WebContent的问题解决方案
修改配置文件.settings\.jsdtscope 原内容:<classpathentry kind="src" path="WebContent"/& ...
- JAVA项目实现离线授权日期授权解决方案 代码混淆 字符串加密 支持JDK16
通常项目是通过 <系统名称 + 物理地址+硬盘序号+当前时间>等等一些能区别服务器的参数作为源,来加密成一个申请码,然后通过授权码的方式进行授权的方式 但是这里有一个问题,如果项目是离线放 ...
最新文章
- 这位北大CS硕士小老弟,简直是“卷怪”!
- 快速单目三维人手和身体的运动捕捉回归与整合
- python随机生成模块的应用
- HDLBits答案(5)_Generate实例化模块
- Linux 用户(user)和用户组(group)管理概述
- P4231 三步必杀 二次差分
- spring的aop_Spring AOP 小结
- QT示例:基于TCP 点对多Socket通讯(server,clients)
- java开发安装程序_创建java开发环境安装包
- 采用计算机数控技术的自动控制系统为,数控机床控制系统
- 查看oracle中的中文所占字节数
- python设计选择题代码_《Python程序的设计》试题库完整
- 影评分析第3篇 上映4天,票房7.4亿的《海王》,用数据看大片!
- 手机wps可以写html吗,如何在手机版WPS Office文档中插入文本框
- 【初识Unity】UI游戏:看看你能答对几题?(游戏可下载)
- HTML5期末大作业:HTML+CSS茶叶官网网页设计实例 企业网站制作
- 小白以及计算机类学生的福音!java查看内存溢出的工具
- java hasfocus_说说Flutter中的无名英雄 —— Focus
- linux下usb转串口驱动分析
- 仿新浪微博 android,android 仿新浪微博
热门文章
- GetCurrentProcess and GetCurrentThread
- Git 将某个提交合并到另一个分支
- 婚戒为什么要带在无名指上
- 华为宽带服务器型号,华为BAS宽带接入服务器,MA5200G,MA5200F
- 弹簧全启式安全阀行业现状调研及趋势分析报告
- 解决 Ubuntu 无法播放 MP4 格式视频的问题的办法
- Linux和UNIX的关系及区别
- Setup of IT shop in demo environment
- RecyclerView setHasFixedSize 作用
- [QT]2022.4.30 信号和槽的小玩意儿