Java拾遗--线程池相关知识点,负载均衡,高并发

本文详细介绍了Tomcat服务器的优化配置方法,包括JVM内存配置调整、最大连接数等参数设置,并探讨了高并发场景下的负载均衡策略及其实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程池:

深入剖析java并发之阻塞队列LinkedBlockingQueue与ArrayBlockingQueue

并发编程3:线程池的使用与执行流程

Java-线程池专题 (美团面试题)

高并发与负载均衡

三、Tomcat的优化
1、内存使用配置
Tomcat是依赖于JVM的,所以Tomcat的使用内存配置实质上是JVM的内存配置
在/bin目录下的catalina.bat可以直接通过Tomcat设置JVM内存参数,windows下
打开catalina.bat文件,在大概中间的位置,找到
set “JAVA_OPTS=%JAVA_OPT% -server -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true”
通过内存设置充分利用服务器内存
-server: 模式启动应用慢,但是极大程度提高运行性能
-Xms2048m -Xmx2048m: 设置的是堆内存
java8开始,PermSize被MetaspaceSize代替,MetaspaceSize共享heap,不会再有java.lang.OutOfMemoryError:PermGen space,可以不设置
Headless=true: 适用于Linux系统,与图形操作有关,如生成验证码含义是当前的是无显示器的服务器,应用中如果获取系统显示有关的参数会抛出异常,windows系统可不用设置
可通过jmap -heap process_id查看设置是否成功

2、最大连接数配置(并发能力)
在/conf/server.xml里进行配置
在属性中
将protocol属性改为 “org.apache.coyote.http11.Http11NioProtocol”,NIO模型的效率更高
加入
maxThreads=”500” //当前可以同时处理的最大用户访问数
minSpareThreads=”100” //最小空闲线程连接数,用于优化线程池
maxSpareThreads=”200”
acceptCount=”200” //当所有的线程以分配,仍然允许连接进来,但是出于等待状态的用户数。等待线程数+工作线程数=总的可最大连接数,如果超过此数,新的连接将不会被接受,就会产生一个http错误
enableLookups=”false”//是否允许DNS反查,如果为true,request.getRemoteHost会执行DNS查找,反向解析ip对应域名或主机名,当没有这样需要的时候,可以将这个功能关闭,在一定程度上提高了Tomcat服务器的性能

负载均衡

高并发解决方案之一 ——负载均衡
常见的简单负载均衡算法以及Java实现
高并发解决方案之一 ——负载均衡

利用redis进行分布式锁

Redis分布式锁的正确实现方式

Java 如何处理高并发

Java高并发,如何解决,什么方式解决


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值