0

阿里巴巴不建议 boolean 类型变量用isXXX的理由?

背景平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?例子...

阅读全文>>

0

线程安全集合类CopyOnWriteArrayList

我们上一篇学习了ArrayList,它的添加操作在单线程下是安全的,但是在多线程场景中会存在数据被覆盖等线程不安全的情况,如果我们需要在多线程环境下使用集合类怎么办呢,今天勾勾带你解决这个问...

阅读全文>>

0

为什么要谨慎使用Arrays.asList、subList?

1. 使用Arrays.asList的注意事项1.1 可能会踩的坑先来看下Arrays.asList的使用:List<Integer> statusList = Arrays.a...

阅读全文>>

0

分布式系统中如何使用聚合日志系统ELK查看后台日志

ELK简介ELK日志系统相信大家都不陌生了,如果你的系统是集群有多个实例,那么去后台看日志肯定不方便,因为前台访问时随机路由到后台app的,所以需要一个聚合的日志查询系统。ELK就是一个不错...

阅读全文>>

0

聊聊实现AOP框架的代理模式

AOP(面向切面编程) 要达到的效果就是:在开发者不修改业务组件源代码的前提下,为这个业务组件添加某种通用功能。AOP的实现方式如果不在开发阶段去修改业务组件源代码,那么我们要在什么时候添加...

阅读全文>>

0

动态代理JDK和CGLib

我们在生活场景中处处都是代理:租房买房找中介、购买商品找商城、吃饭点外卖等。今天就和勾勾一起来学习代理设计模式,并通过代码理解静态代理和动态代理。代理设计模式代理模式(Proxy Patte...

阅读全文>>

0

Synchronized的原理及其实现

我们知道 Java内存模型为了保证多线程安全访问有三个特征:1.原子性(Atomicity):JMM保证单个变量读写操作的原子性但是在多CPU环境引入多级缓存后,写操作的原子性意义扩大了,对...

阅读全文>>

0

详解 spring data jpa,全方位总结,干货分享

谈一谈 jpa什么是 jpa ? jpa 的全称是 Java Persistence API , 中文的字面意思就是 java 的持久层 API , jpa 就是定义了一系列标准,让实体类和...

阅读全文>>

0

Java泛型的协变与逆变

从面向对象说起Java作为一门面相对象的语言,当然是支持面相对象的三大基本特性的,反手就蹦出三个词:封装、继承、多态。我们假设有三个类,动物、猫、狗。父类是动物Animal,有两个子类猫Ca...

阅读全文>>

0

关于Spring AOP的灵魂十问

AOP全称是Aspect Oriented Programming,翻译过来是“面向切面”编程。在Java语言里,一切皆对象,所以我们通常说Java语言是一门“面向对象”编程的语言。而面向切...

阅读全文>>