摘要:
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协 阅读全文
摘要:
进程:进行资源分配和调度的一个独立单位。 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 Java线程的6种状态 由源码可知线程的生命周期大体可以分为6种状态:New:线程创建好,还没调start()方法。Runnable:调用start方法后进入此状态,它 阅读全文
摘要:
公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优 阅读全文
摘要:
当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下: 限定数据的范围: 务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内。; 读/写分离: 经典的数据库拆分方案,主库负责写,从库负责读; 垂直分区:根据数 阅读全文
摘要:
转自: http://blog.jobbole.com/89140/ 在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费吧,怎么保 阅读全文
摘要:
什么是 RPC RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务A,B部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但 阅读全文
摘要:
RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力 RocketMQ包含的组件 NameServer:单点,供Producer和Consumer获取Broker地址 Pr 阅读全文
摘要:
RocketMQ Pom <dependencies> <dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>3.0.10</version> </ 阅读全文
摘要:
JVM 内置缓存 mybatis、hibernate二级缓存(sessionfactory)机制分别基于oscache、ehcache OsCache与EhCache区别 ehcache 主要是对数据库访问的缓存,相同的查询语句只需查询一次数据库,从而提高了查询的速度,使用spring的AOP可以很 阅读全文
摘要:
程序计数器、虚拟机栈、本地方法栈3个区域随线程而生随线程而灭,这几个区域不需要过多考虑回收的问题,在方法结束或线程结束的时内存就跟着回收了。 垃圾回收主要关注的区域是java的堆和方法区。 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时计数器值就加1,当引用失效,计数器值就减1,计 阅读全文