0%

早在JDK 1.6 之前,JDK 提供的 synchronized 关键字同步是重量轻锁性能比较低, Doug Lea 以及其团队就自己用Java 开发了一套应对并发问题的类,这些类就是我们平时说的JUC(java utill concurrent),这些工具类都放在java.util.concurrent包下,比ConcurrentHashMap,AtomicXxxx等等,其中关键部分就是Lock,这里我们来认识下其中关键的Lock子类ReentrantLock;

timg

柯南 和 新一 是否可以理解为线程, 同时争夺一个身体的控制权呢? 好像是有点牵强,但是这不是重点.哈哈

Read more »

HashMap & LinkedHashMap 是日常开发中用的最多的两个Map子类, LinkedHashMap是HashMap子类, HashMap在实现底层存储的实现中,有一些列很有意思的操作,有必要了解一下.

HashMap

Read more »

在做需求的时候发现,正常来讲的话查询的是数据库的表,但是有时查询的可能又是视图,还有可能查询的是一个表的同义词;表/视图/同义词 他们有什么关联,为什么会有这么三种定义呢?

网络图片

Read more »

记得之前我去培训Android时,有一个Socket编程面试题目是:

使用Socket编程实现文件传输

当时的自己很单纯,想着什么都是自己做,不去查怎么做。记得文件内容传输的实现很简单,但是文件名称该怎么传却难到了我,在难也要自己做,后面多建立了一条Socket专门用来传输文件名。

Socket编程好久没用到过了,了解NIO的时候,看到了Socket,所以特地回忆下:

网络图片

Read more »

Netty作为RPC框架的通信框架,比如阿里的Dubbo服务,为了能了解其底层原理,所以有必要了解下Apache的Netty框架,Netty又是基于JDK的NIO进行封装的,所以JDK NIO 了解一下。

JDK I/O 又可以区分为 普通的IO,伪异步IO,NIO,AIO;

themeimage

Read more »

企业级的Java开发目前都趋于成熟,如果一开始就着手基于框架的Java web开发,虽然开发日常需求CURD没有什么困难,但是在研究项目搭建时就会相对迷茫,为什么这样配置就可以达到效果呢?

框架帮我们做了很多时间,让我们只需要关注业务开发,而不需要了解具体项目搭建过程;

为了能让自己具备从项目创建到稳定业务需求开发的能力,就有必要了解下最原始的Java web 项目是怎么运作的;

工程结构

Read more »

JDBC ,Java DataBase Connectivity ,是一种用于执行SQL语句的Java API;

所有数据库都支持的一套链接方式;

高级的持久化框架也是基于JDBC来实现的,比如Mybatis;

网络图片

Read more »

在研究Spring以及Mybatis源码时,看到很多地方用到了设计模式;

代理模式有静态代理,动态代理之分,动态代理里面又有JDK动态代理,Cglib动态代理两种;

代理模式在源码中经常看到,特地总结写,强化自己的理解,希望23种设计模式陆陆续续都总结一下;

柯南是不是也有点新一的代理的意思呢?

网络图片

Read more »

事务管理可以分为编程式事务管理,声明式事务管理两类;

声明式事务管理中有一只简便的事务管理方式:基于Transactional注解的事务管理方式。

但是使用@Transactional时有些必须注意的细节,总结如下:

网络图片

Read more »