非线程安全:在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读",也就是取到的数据其实是被更改过的(同个对象的变量即共享变量)。 线程安全:获得的实例变量的值是经过同步处理的,不会出现脏读的现象。 另外还有static修饰的类变量。 ...
分类:
编程语言 时间:
2019-08-28 01:29:38
阅读次数:
124
ThreadLocal,即线程局部变量,它被设计用来解决变量共享的线程安全问题。线程安全问题发生的根本原因在于 多个线程会对同一个临界区资源进行操作 。Synchonized和ThreadLocal是两种不同的解决多线程并发访问的方式。Synchonized使用了锁机制,使得同一时间只有一个线程能访 ...
分类:
其他好文 时间:
2019-08-27 23:33:13
阅读次数:
196
一、Why Memcached? ? 高并发访问数据库的痛楚:死锁! ? 硬盘IO之痛:本机:AspNet:HttpRuntime.Cache ? 多客户端共享缓存 ? Net+Memory>>IO ? 读写性能完美 Redies:Mm,1S:读取可以1W次。写:10W ? 超简单集群搭建Clust ...
分类:
系统相关 时间:
2019-08-27 09:13:59
阅读次数:
102
实现数据存储的不同解决方案 InnoDB mysql5.5开始 默认 支持事务(回滚/提交/ACID特性/多版本并发控制等) 数据恢复可使用事务日志(undo redo log), 恢复速度快 支持行级锁&表级锁 并发访问时效率高 支持外键约束 插入/更新/主键查询快 需要内存和硬盘多 常规推荐使用 ...
分类:
数据库 时间:
2019-08-24 22:59:00
阅读次数:
155
JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都 串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开 始针对多线程并发访问设计,提供 ...
分类:
其他好文 时间:
2019-08-18 19:38:18
阅读次数:
76
连接池简介 1、连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。 作用:避免频繁地创建与消毁,给服务器减压力。2、数据库的弊端: 1.当用户群体少服务器可以支撑,如果群体比较大万级别服务器直接死机。数据库默认的并发访问50. 2.每一个用完数据库之后直接关闭,不能重 ...
分类:
数据库 时间:
2019-08-18 16:04:00
阅读次数:
145
Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能 ...
分类:
Web程序 时间:
2019-08-11 17:30:56
阅读次数:
247
1、Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。 2、Redis的SETNX命令可以方便的实现分布式锁。 setNX(SET if Not eXists) 语法:SETNX key value 返回值:设置成功,返回 1 ;设置失败 ...
分类:
其他好文 时间:
2019-08-06 20:01:13
阅读次数:
114
LVS负载均衡集群介绍负载均衡集群的作用:提供一种廉价、有效、透明的方法,来扩展网络设备和服务器的负载带宽、增加吞吐量,加强网络数据处理能力、提高网络的灵活性和可用性。1)把单台计算机无法承受的大规模的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,提升用户体验。2)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力
分类:
编程语言 时间:
2019-07-27 11:21:47
阅读次数:
120
用途就是用来处理消息,也就是处理JMS的。消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。 在不使用消息队列的情况下,用户的请求数据直接写入数据库,高发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧,但使 ...
分类:
其他好文 时间:
2019-07-26 10:33:46
阅读次数:
145