JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截...
轻松理解Java动态代理(JDK)
动态代理作用:主要用来做方法的增强,让你可以在不修改源码的情况下,增强一些方法,在方法执行前后做任何你想做的事情(甚至根本不去执行这个方法) 我在网上看到很多讨论Java动态代理的文章,都写得挺有水平...
身体是革命的本钱
最近才深刻体会到“身体是革命的本钱”。 作为天天面对计算机的IT工作者来说,颈椎病、腰椎病貌似是司空见惯了,但一直感觉这些离自己还很遥远。 直到近日,颈椎难受、弯腰难,坐久了会腰痛,回想起来应该是...
深入理解分布式事务
从2Phase Lock到2Phase Commit 先来看一个单机事务模型 上面的单机事务我们很容易理解,问题来了在分布式系统中A、B不在同一台机器上如何做到Commit(unlockBob,unlockSmith)呢? 我们这里需要引入一...
深入理解单机事务调优原则
事务调优原则: 减少锁的覆盖范围 1、myisam表锁-》innodb行锁 2、 原位锁 -》mvcc多版本 增加锁上的并行线程数 1、读锁写锁分离,允许读读并行 选择适合的锁类型: 悲观锁:适合并发争抢严重的场景 乐观...
深入理解单机事务之ACID中的持久性
持久性:D(Durability) 持久性(每次写都要落到磁盘)事务提交完,数据要固化到存储中 IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数 保证数据不丢(用到raid) 要延迟短,就...
深入理解单机事务之ACID中的隔离性
隔离性:I(Isolation) 隔离性(以性能为理由,对强一致性的破坏 sql92标准(标准不一定是对的,MVCC的出现)定义了隔离性四种) 1、序列化读写(使用排它锁,读写都排队),性能差,如下图 2、读写锁: ...
深入理解单机事务之ACID中的一致性
一致性:C(Consistency) 一致性(就是一个字“看”,保证happen before关系) 强一致性,防止事务单元同时执行,可以在事务单元上加入锁 一致性的保证:一个事务单元全部成功后才可见(不会有问题,但...
深入理解单机事务之ACID中的原子性
原子性:A(Atomicity) 对于单机事务中的原子性的概念想必大家都不陌生,其意思就是要么都成功要么都失败。 这里通过一个简单的示例带大家深入理解下事务的原子性 demo:andy有100元,jack有0元,andy...
HelloWorld!My Blog!
HelloWorld!My Blog!创建个人博客,开启博客生活!