Clear Blog

Look what's happening here,it's magical

CentOS7安装mariaDB

centos7默认安装的是mariadb,所以安装命令与之前安装mysql略有不同。 1 2 3 yum install -y mariadb-server mariadb #安装服务端和客户端 systemctl start mariadb.service #启动服务 /usr/lib/systemd/system/mariadb.service systemctl enable mari...

Spring中BeanFactory和FactoryBean的区别

首先说下面试中常问到的一个问题BeanFactory和FactoryBean的区别。 乍一看名字类似,其实完全不一样, FactoryBean,本身是一个接口,需要我们的业务bean去实现这个接口。 实现该接口的Bean和其他的Bean有什么区别呢。 看下面一段代码,体会下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 @C...

Spring源码及应用解析

在看源码之前首先需要如何应用,不然根本无从下手。 所以先了解IoC以及AOP的应用,然后在基于应用去探索底层实现。

Java8新特性

我觉得java8最大的卖点就是在纯java语言环境中支持函数式编程。 首先解释下什么是函数式编程,函数式编程一个特点就是, 函数本身可以作为一个参数传入另外一个函数,还允许返回一个函数。 最纯净,无副作用的函数式编程是不支持变量的,只要输入是确定的,输出就一定是确定的。 简单的说下我们常用的java8的新特性 lambda表达式和functional接口 lambda表达式(也称为闭包,...

Java中原子操作

原子操作避不开谈CAS。 先解释下什么是CAS,compareAndSet,见名知意,比较然后设值。 它的核心思想就是cas(v,e,u);v表示要更新的变量,e表示变量的预期值,u表示变量的新值。 当且仅当v的值等于e,才会将v的值更新为u。 否则说明盖值已经被别的线程更改过,当前线程什么都不做,更新失败。 AtomicInteger中是如何如何保证线程安全的加法操作,我们以incrmen...