上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: I/O类型: 同步和异步 阻塞和非阻塞 一次read操作两个阶段:用户空间的进程没有权限访问磁盘的,进程发起IO调用 (1)等待数据准备好:内核从磁盘中的数据加载至内核内存 (2)真正IO的阶段:内核内存数据在复制到进程内存(这个是真正执行IO的阶段) 一次read操作两个阶段:用户空间的进程没有权 阅读全文
posted @ 2018-04-23 10:47 java懒洋洋 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: 一、什么是CAS? 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一 阅读全文
posted @ 2018-04-19 13:42 java懒洋洋 阅读(109703) 评论(2) 推荐(2) 编辑
摘要: 什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。 Methods can also have the property of “idempotence 阅读全文
posted @ 2018-04-19 13:38 java懒洋洋 阅读(83921) 评论(14) 推荐(23) 编辑
摘要: 前言 说到IO模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词。从词的表面上看,很多人都觉得很容易理解。但是细细一想,却总会发现有点摸不着头脑。自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了,然后很快又给搞混了。经历过这么几次之后,发现这东西必须得有所总结提炼才不至于再次混为一谈。尤其是最 阅读全文
posted @ 2018-04-19 13:30 java懒洋洋 阅读(11307) 评论(0) 推荐(3) 编辑
摘要: 枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。一个枚举的实例可以使用枚举项列表中任意单一项的值。枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色、方式、类别、状态等等数目有限、形式离散、表达又极为明确的量。Java从JDK5开始,引入了对枚举的支持。 在枚举出现之前,如 阅读全文
posted @ 2018-04-19 11:03 java懒洋洋 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 一、static 修饰符 数据共享 修饰变量: 每个对象都共有的属性就可以设置为static,被修饰的成员被所有的对象共享,且可以直接用 类名.X静态成员 的方式调用 static优先于对象存在,因为static成员随类的加载就已经存在了 修饰方法:静态方法 静态方法只能访问静态成员(非静态既可以访 阅读全文
posted @ 2018-04-19 10:33 java懒洋洋 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 1 前言 数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。 数据库 阅读全文
posted @ 2018-04-18 16:25 java懒洋洋 阅读(1663) 评论(0) 推荐(0) 编辑
摘要: 前言 控制并发的方法很多,从最基础的synchronized,juc中的lock,到数据库的行级锁,乐观锁,悲观锁,再到中间件级别的redis,zookeeper分布式锁。特别是初级程序员,对于所谓的锁一直都是听的比用的多,第一篇文章不深入探讨并发,更多的是一个入门介绍,适合于初学者,主题是“根据并 阅读全文
posted @ 2018-04-18 16:09 java懒洋洋 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 分布式遭遇并发 在前面的章节,并发操作要么发生在单个应用内,一般使用基于JVM的lock解决并发问题,要么发生在数据库,可以考虑使用数据库层面的锁,而在分布式场景下,需要保证多个应用实例都能够执行同步代码,则需要做一些额外的工作,一个最典型分布式同步方案便是使用分布式锁。 分布式锁由很多种实现,但本 阅读全文
posted @ 2018-04-18 16:04 java懒洋洋 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 一、前言 最近刚刚结束转岗以来的第一次双11压测,收获颇多,难言言表, 本文就先谈谈异步日志吧,在高并发高流量响应延迟要求比较小的系统中同步打日志已经满足不了需求了,同步打日志会阻塞调用打日志的线程,而打日志本身是需要写磁盘的,所以会造成rt增加。异步日志就是为了解决这个问题。 二、日志打印模型 同 阅读全文
posted @ 2018-04-18 15:32 java懒洋洋 阅读(1560) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页