07 2017 档案
摘要:fork 了别人的仓库后,如何将自己的代码和原仓库保持一致 git remote add upstream http://git fetch upstream
阅读全文
摘要:State management 1.业务状态管理-是否登录 A ChannelHandler often needs to store some stateful information. The simplest and recommended approach is to use member
阅读全文
摘要:由于Integer是不可变的,每个循环增加key的value时会创建一个新的对象 每次value+1时不需要重新创建Integer对象 Integer, Boolean 等 is immutable, you can only change the reference, but you can't
阅读全文
摘要:Future and Promise are the two separate sides of an asynchronous operation. promise is used by the "producer/writer" of the asynchronous operation. fu
阅读全文
摘要:1. 【强制】获取单例对象要线程安全。在单例对象里面做操作也要保证线程安全。 说明:资源驱动类、工具类、单例工厂类都需要注意。 2. 【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 说明:使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统资源的开销,解决资 源不足的问题
阅读全文
摘要:谈谈ConcurrentHashMap1.7和1.8的不同实现
阅读全文
摘要:看图想想相关的架构 1.查询表达式中的接口层次结构 2.CriteriaQuery 封装了传统查询的子句 3.Metamodel API 中的持久化类型的接口的层次结构 4. Metamodel API 中的持久化属性的接口的层次结构 5.元模型接口是持久化单元中的类型的容器 这个接口允许通过元模型
阅读全文
摘要:我们要实现一个线程安全的队列有两种实现方式,阻塞算法、非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁) 或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本节我们就来研究下 ConcurrentLinkedQueue是如何保证线程安全
阅读全文
摘要:1 赞赏 长按二维码向我转账 受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。 1 赞赏 赞赏 长按二维码向我转账 受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。 长按二维码向我转账 受苹果公司新规定影响,微信 iOS 版的赞
阅读全文
摘要:1: Netty 4的线程模型转变 在Netty 3的时候,upstream是在IO线程里执行的,而downstream是在业务线程里执行的。比如netty从网络读取一个包传递给你的handler的时候, 你的handler部分的代码是执行在IO线程里,而你的业务线程调用write向网络写出一些东西
阅读全文
摘要:一、基本类原子操作 AtomicBoolean,AtomicInteger,AtomicLong,AtomicReference<V>对boolean,Integer,long,reference定义的变量进行原子性的操作, 简单点说就是它提供的方法都是原子性的,不会出现线程之间存在的问题 二、原子
阅读全文
摘要:出处: hollis 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个 分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition toleranc
阅读全文
摘要:No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to av
阅读全文
摘要:两个数的最大公约数是指能同时整除它们的最大正整数。 辗转相除法的基本原理是:两个数的最大公约数等于它们中较小的数和两数之差的最大公约数。 例如,252和105的最大公约数是21(252 = 21 × 12;105 = 21 × 5); 所以147(252 − 105)和105的最大公约数也是21。
阅读全文
摘要:将解压后的chromedriver移动到/usr/local/bin目录下
阅读全文
摘要:出处:子回 使用 JWT 令牌和 Spring Security 来实现身份验证 八幅漫画理解使用JSON Web Token设计单点登录系统
阅读全文
摘要:一、MQ是什么 MQ通过将消息的发送和接收分离来实现应用程序的异步和解偶,但是这个只是MQ的效果而不是目的。MQ真正的目的是为了通讯,屏蔽底层复杂的通讯协议, 定义了一套应用层的、更加简单的通讯协议。一个分布式系统中两个模块之间通讯要么是HTTP,要么是自己开发的TCP,但是这两种协议其实都是原始的
阅读全文
摘要:关于AtomicReference AtomicReference是由JAVA5引入的,用于对一个对象引用进行原子操作,我们可以看到AtomicReference的实现是用CAS技术对引用进行指令级别的原子修改, 然后再利用volatile带来的内存屏障特性, 保证引用的修改对其他线程立即可见。这里
阅读全文
摘要:出处: 总览 http://www.importnew.com/24300.html stream api 详解 : https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/ 1.总 2.Function
阅读全文
摘要:假设某银行只有10个职员。该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟); 2) 职员审核(1分钟); 3) 职员叫保安去金库取钱(3分钟); 4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。 1 BIO方式 每来一个顾客
阅读全文
摘要:ProGuard是一个混淆代码的开源项目,ProGuard还包括以下4个功能。 压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)。 优化(Optimize):对字节码进行优化,移除无用的指令。 混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称
阅读全文
摘要:一.代码 二.解析 Java的二进制采用补码形式,byte范围是[-128, 127],而Integer.toHexString的参数是int,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展, 举例来说,一个byte类型的-1(即0xff),会被转换成int 类型的-
阅读全文