java并发访问_百万级并发访问的处理-Java中的并发是什么?如何解决它?

当多个进程或线程同时(或同时)访问同一资源时,会出现并发问题)。 一个典型的例子是两个银行运营商同时操作同一个账户。 A、B操作员同时读取余额为100$的账户,A操作员将$100添加到账户中,B操作员同时减去账户

$50分,甲先到,乙后到。 最后,帐户的实际余额是$100-50=950,但应该是$100100-50=1050、 这是典型的并发问题。

可以用锁解决。

我对锁不太了解,你可以学习。

百万级并发访问的处理:java高并发,如何解决,什么方式解决,高并发

高并发系统的设计需要注意几点:

用jprofiler等工具识别性能瓶颈,以减少额外的开销。java处理并发访问。

尽可能使用缓存,包括用户缓存,信息缓存等,花费更多的内存来做缓存,可以大大减少与数据库的交互,提高性能。

优化数据库查询语句,减少直接使用Hibernate等工具生成的语句(只进行耗时查询优化)。

优化数据库结构,多做索引,提高查询效率。spring处理并发访问。

统计的功能尽量做缓存,或者按照每天一次统计或者定时统计相关报表,避免需要统计的功能。

可以尽可能使用静态页面,减少容器解析(尝试生成静态html来显示动态内容)。硬件是为了提高服务器的性能,增强最大允许访问次数,代码可以采用连接池的方式,更合理地规划连接,提高连接的有效利用率

负载均衡(软件负载均衡,硬件负载均衡)

分布式数据库(数据库主从分布,数据库分割,数据库缓存)

您可以使用nginx或lvs软件工具,这些工具似乎支持最多65535个并发访问。

如果它真的太大了,最终的解决方案是像12306那样以mq队列的方式排队。

java程序员面试时被问到:如何在j2ee项目中处理高并发量访问? 该怎么回答? 请仔细看题干再回答

您好,高并发系统的设计需要注意以下几点:尝试使用缓存,包括用户缓存,信息缓存等。 为缓存花费更多的内存可以大大减少与数据库的交互,提高性能。 使用jpprofiler等工具来识别性能瓶颈并减少额外的开销。 优化数据库查询语句,减少直接生成的语句使用Hibernate等工具(只优化长时间查询)。 优化数据库结构,做更多的索引,提高查询效率。 统计功能应尽可能用作缓存,或相关报告应每天或定期统计一次,以避免必要时的统计功能。 尝试使用静态容器尽可能地显示静态内容。 在解决了上述问题后,采用服务器集群来解决单机的瓶颈问题。 在上述问题基本解决后,实现了系统的优化。 至于楼上,有人提到不应该使用Java,除非有太多的低级连接(例如大量的端口占用要求)。 在这种情况下,它被认为是直接用C编写的,Java可以用于其他人。

本文原创出自哇谷IM团队机器人,如有任何问题,请联系哇谷官方客服www.wagukeji.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值