- 博客(7)
- 资源 (10)
- 问答 (9)
- 收藏
- 关注
转载 为什么wait()一定要放在循环中
在多线程的编程实践中,wait()的使用方法如下:synchronized (monitor) { // 判断条件谓词是否得到满足 while(!locked) { // 等待唤醒 monitor.wait(); } // 处理其他的业务逻辑}12345678那为什么非要while判断,而不采用if判断呢?如下:synchron
2017-10-26 20:15:40 984
转载 volatile机制详述(可见性、原子性解释)
转载自:http://www.cnblogs.com/Mainz/p/3556430.html在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方文档
2017-10-26 20:12:37 361
原创 锁的浅述
1.可重入锁 如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1,而在method1中会调用另外一个synchronized方法method2,此时线程不必重新去申请锁,而
2017-10-08 15:41:58 249
原创 Lock和Synchronized的比较
之前看到在并发中的currentHashMap和HashTable,两者都是线性安全的,但其实现却不同;currentHashMap底层通过java.util.concurrent.locks包的lock实现同步,针对共享数据进行加锁;HashTable通过synchronized关键字对代码块进行实现同步;这里对lock和synchronized进行详细的比较。 比较之前,说一下他们的共同目的:
2017-10-08 15:39:04 435
原创 工厂模式浅述
使用设计模式的目的: 1、缩短开发周期 2、降低维护成本 3、应用程序和内部接口集成更轻松工厂模式包括: 简单工厂模式、工厂方法模式、抽象工厂模式1、简单工场模式 由抽象产品角色、具体产品角色、工厂角色、客户端角色组成; 由一个工厂对象决定创建出哪一种产品类的实例;public interface people{ //抽象产品 public v
2017-10-06 16:19:01 428
原创 加密解密算法介绍
加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。 对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若
2017-10-06 10:22:42 1590
转载 存储过程浅述
为什么要用存储过程 几个去 IBM 面试的兄弟回来抱怨:去了好几个不同的 IBM 项目组,几乎每个面试官问到数据库的时候都要问用没用过存储过程,烦人不?大家去面的程序员,又不是 DBA,以前的项目都没有用到存储,不照样运行的好好的?存储过程真的那么重要吗,它到底有什么好处呢?笔者认为,存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。但是存储过程处理比较复杂的业务时比较实用。比如说,
2017-10-05 11:12:01 765
Ab Test 衍生功能之锦上添花 —— 目标流量筛选
2021-08-30
性能调优之三十六计 —— 「取而代之」Echo/Json 篇
2021-08-30
ocker 服务之间是如何通信的呢?指定服务端口的背后隐藏了哪些秘密?
2021-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人