java中 高并发自增 用哪个类
答案:2 悬赏:20 手机版
解决时间 2021-04-11 11:16
- 提问者网友:遁入空寂
- 2021-04-10 20:29
java中 高并发自增 用哪个类
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-04-10 21:09
你指的高并发量大概有多少?
几点需要注意:
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
用jprofiler等工具找出性能瓶颈,减少额外的开销。
优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
解决以上问题后,使用服务器集群来解决单台的瓶颈问题。
基本上以上述问题解决后,达到系统最优。
至于楼上有人提到别用JAVA来做,除非是低层的连接数过大(如大量的端口占用需求),这种情况下考虑直接C来写,其他的可以用JAVA来做。
几点需要注意:
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
用jprofiler等工具找出性能瓶颈,减少额外的开销。
优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
解决以上问题后,使用服务器集群来解决单台的瓶颈问题。
基本上以上述问题解决后,达到系统最优。
至于楼上有人提到别用JAVA来做,除非是低层的连接数过大(如大量的端口占用需求),这种情况下考虑直接C来写,其他的可以用JAVA来做。
全部回答
- 1楼网友:封刀令
- 2021-04-10 21:23
只有多个线程同时访问同一数据才会出现并发。单线程在方法中调用成员变量,她会按你书写顺序调用,不会并发!
就算有并发也可以在方法中加入关键字synchronized。对线程加锁。(上网看下synchronized)
举个例子吧:同一个账号在不同取款机同时做取钱,就会出现账目数量不对。也就是并发问题!
我写个伪码
public class 银行业务{
private int 账号;
private synchronized string 取(账号){
..............
}
private synchronized string 存(账号){
..............
}
................................
}
以上伪码就是同一个账户当你作取或存的时候,其他取款机就不能对这个账号操作,否则线程并发账目就不对!!!!
给分啊………………哥哥………………加油啊……………………
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯