摘要: [toc] synchronized关键字需要注意的几点 脏读 对业务写方法加锁,对业务读方法不加锁,容易产生脏读。 synchronized是可重入锁 可重入锁:一个线程已经拥有某个对象的额锁,再次申请的时候仍然会得到该对象的锁 synchronized对于异常处理 ynchronized 如果出 阅读全文
posted @ 2019-03-24 14:10 刘丽刚 阅读(357) 评论(0) 推荐(0) 编辑
摘要: [toc] 深入理解volatile Volatile的官方定义 Java语言规范第三版中对volatile的定义如下:java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁更加方便。如 阅读全文
posted @ 2019-03-24 11:30 刘丽刚 阅读(241) 评论(0) 推荐(0) 编辑
摘要: [toc] 观察者模式 定义 观察者模式又称为发布/订阅(Publish/Subscribe)模式。它定义了一种一对多的依赖关系,多个观察者对象可同时监听某一主题对象当该主题对象状态发生变化时,相应的所有观察者对象都可以收到通知。 角色划分 (观察者关注的事件)   + upda 阅读全文
posted @ 2019-03-22 10:14 刘丽刚 阅读(119) 评论(0) 推荐(0) 编辑
摘要: [toc] Future设计模式 示列引入 如上图,传统的订单下单流程,首先减商品库存,然后生成订单,然后生成订单详情,再通知短信等等,全部逻辑程序都是串行执行的.假如我们的系统特别'困难',减商品库存要1秒,生成订单要1秒,生成详情也要1秒,发送短信有可能要5秒,这里还不算查询商品的库存够不够下单 阅读全文
posted @ 2019-03-21 14:20 刘丽刚 阅读(574) 评论(0) 推荐(0) 编辑
摘要: [toc] ThreadLocal源码分析 简单分析 什么是ThreadLocal ThreadLocal顾名思义可以理解为线程本地变量。也就是说如果定义了一个ThreadLocal,每个线程往这个ThreadLocal中读写是线程隔离(也就是每个线程读写都是自己的一份独立对象,与其他线程是无关的, 阅读全文
posted @ 2019-03-21 12:30 刘丽刚 阅读(185) 评论(0) 推荐(0) 编辑
摘要: [toc] Netty拆包和粘包 概述 在基于流的传输里如TCP/IP,接收到的数据会被先存储到以恶搞socket接收缓冲里。不幸的是,基于流的传输并不是一个数据包队列,而是一个字节队列。即使发送了2个独立的数据包,操作系统也不会作为2个消息处理而仅仅是作为一连串的字节而言。因此这就不能保证远程写入 阅读全文
posted @ 2019-03-16 20:49 刘丽刚 阅读(446) 评论(0) 推荐(0) 编辑
摘要: [toc] 策略模式 定义 策略模式体现了两个非常基本的面向对象设计的原则 1.封装变化的概念 2.编程中使用接口,而不是对接口的实现 定义 定义一组算法,将每个算法都封装起来,并且使他们之间可以互换 策略模式使这些算法在客户端调用它们的时候能够互不影响地变化 意义 策略模式使开发人员能够开发出由许 阅读全文
posted @ 2019-03-16 20:02 刘丽刚 阅读(114) 评论(0) 推荐(0) 编辑
摘要: [toc] 装饰模式VS代理模式 个人理解 代理模式:我想做,但不能做,我需要有一个能干的人来帮我做 装饰模式:我想做,但不能做,我需要各类特长的人来帮我做,但是我有时需要很多人来帮我做,有时又只需要一个人做。 区别:Proxy模式需要的是一个能人,而Decorator模式需要的是一个团队 代理模式 阅读全文
posted @ 2019-03-16 17:18 刘丽刚 阅读(301) 评论(0) 推荐(0) 编辑
摘要: [toc] BufferedInputSream实现原理 FileInputSream源码分析 通过对于FileInputSream的源码分析,如果用read()方法读取以恶搞文件,每读取一个字节就需要访问一次磁盘,这样读取方式是及其低效的。 即使使用read(byte[])方法读取时,虽然在一定程 阅读全文
posted @ 2019-03-16 16:23 刘丽刚 阅读(519) 评论(0) 推荐(0) 编辑
摘要: [toc] 从字节码角度分析重载与重写 代码分析 字节码分析 符号引用,直接引用 有些符号引用是在类加载阶段或是第一次使用时就会转换为直接引用,这种转换叫做静态解析; 另外一些符号引用则是在每次运行期直接转换为直接引用,这种转换叫做动态链接,这体现为Java的多态性 相关字节码说明 Test5.cl 阅读全文
posted @ 2019-03-12 22:04 刘丽刚 阅读(247) 评论(0) 推荐(0) 编辑