Java可重入锁AQS 和 CAS原理 Java 实现同步的两种方式,一种是使用synchronized关键字来实现同步访问,另外一种是从Java 5之后,在java.util.concurrent.locks包下 提供了另外一种方式来实现同步访问,那就是Lock。今天就来说一下Lock的实现类ReentrantLock 的公平锁模式下的实现方式。 java可重入锁-ReentrantLock实现细节 Reentr...
Shiro企业级实战详解,统一的Session管理。 基础的什么配置这些都不说了,百度一下什么都有,直接上干货。 Shiro切入点是从web.xml文件,通过filter进行拦截。 直接看DelegatingFilterProxy这个类,很简单,父类就是一个filter,肯定会初始化filter,后面会调用这个方法: @Override protected void initFilterBean() throws S...
Jdk动态代理 优点:代理可以对被代理对象通过一个invoke 方法对被代理的对象实行统一的处理。Spring AOP 实现 缺点:只能对接口进行拦截 同一个类中方法调用会导致被调用方法动态代理失败。和spring事务失效原因类似。 // 服务提供者 public interface Subject{ void doSomething(); } public ...
NIO实现的客户端和服务端 学习NIO通信笔记 可直接执行 public class NIOServer { private static int BUFF_SIZE=1024; private static int TIME_OUT = 2000; public static void main(String[] args) throws IOException {...
Java编写生成mybatis xml文件、Dao文件、实体类和DTO 目前现在有很多的mybatis自动生成代码的工具,典型的mybatis-generator插件,经配置生成的文件直接便可以使用了。 确实非常的方便和实用。但是在日常的开发当中,为了使项目简洁、清晰。让人一看就明白,排起错来也是相当顺手。 如果使用插件生成的文件,在业务上出了问题,那排查问题就复杂了,想改的话也不好改,故自己做了一套简单的代码生成工具, 仅仅只做简单的新增和查询操作。...