![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaweb
文章平均质量分 92
枫林晚丶
吾日三省吾身
展开
-
AQS详解,通过ReentrantLock窥探AQS。
AQS详解,通过ReentrantLock窥探AQSAQS简介1. AQS成员介绍1.1 AbstractOwnableSynchronizer1.2 内部类AbstractQueuedSynchronizer.Node1.3 AQS的成员介绍2. 通过ReetrantLock来分析AQS2.1 ReentrantLock lock = new ReentrantLock();2.2 lock.l...原创 2019-11-19 16:09:54 · 317 阅读 · 0 评论 -
Apache Benchmark,简称ab的使用
使用前,配置bin目录环境变量,方便使用。ab命令格式:-N|–count 总请求数,缺省 : 5w-C|–clients 并发数, 缺省 : 100-R|–rounds 测试次数, 缺省 : 10 次-S|-sleeptime 间隔时间, 缺省 : 10 秒-I|–min 最小并发数, 缺省: 0-X|–max 最大并发数,缺省: 0-J|–step 次递增并发数-R|–run...原创 2019-10-24 16:32:59 · 349 阅读 · 0 评论 -
Tomcat源码走读 06-tomcat的容器启动过程
06-tomcat的容器启动过程在02-tomcat的启动和关闭流程中,在容器初始化之后,Catalina.start()方法会触发容器的启动流程。public void start() { try { getServer().start(); } catch (LifecycleException e) { } ...原创 2019-07-28 16:50:26 · 281 阅读 · 0 评论 -
Tomcat源码走读 07-tomcat处理请求
07-tomcat处理请求在上一章06-tomcat的容器启动过程中,我们知道了处理请求的逻辑在Accptor里面。本章我们直接从这里往后描述。1. JIoEndpoint.processSocket()protected boolean processSocket(Socket socket) { try { SocketWrapper<Soc...原创 2019-07-28 16:55:06 · 205 阅读 · 0 评论 -
log4j配置详解 log4j中文文档
log4j 1.2 配置和使用1. Loggers, Appenders and Layouts1.1 Loggers1.2 Appenders和Layouts1.2.1 Appender1.2.2 Layout2 使用配置文件。1. Loggers, Appenders and LayoutsLog4j有三个主要的组件:loggers: 负责捕获日志信息appenders: 负责输出信息...原创 2019-08-20 10:14:43 · 2629 阅读 · 0 评论 -
logback配置详解 logback中文文档
logback的配置和使用Logger, Appenders and LayoutsLogger:Level:Logger的获取:Appender:OutputStreamAppender:ConsoleAppender:FileAppender:独特的文件名(根据timestamp):RollingFileAppender:RollingPolicy:triggeringPolicy:Encod...原创 2019-08-21 15:19:16 · 3606 阅读 · 0 评论 -
jenkins本地maven打包上传linux并运行
jenkins本地maven打包上传linux并运行1. 下载插件2. 配置Publish over ssh3. 开始新建我们的job了。3.1 点击jenkins ==》 新建item ==》 创建一个自由风格的项目3.2 配置item的General3.3 配置构建3.4 配置构建后操作,上面已经打好包了,后面就是要上传到linux上面了。通常我们有jenkins本地maven打包上传lin...原创 2019-08-13 09:35:02 · 1984 阅读 · 0 评论 -
理解OAuth 2.0协议
理解OAuth 2.0协议一、应用场景二、名词定义三、OAuth的思路四、运行流程五、客户端的授权模式1. 授权码模式简化模式密码模式客户端模式六、更新令牌OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解O...转载 2019-08-22 10:25:05 · 179 阅读 · 0 评论 -
在Java的Controller中获取ModelAndView返回值中的model里面的值。
在Java的Controller中获取ModelAndView返回值中的model里面的值。通常我们使用springmvc的时候会使用ModelAndView来返回给前端页面以指定视图页面和返回的属性值。但是有的时候我们需要在接口中获取这个modelAndView的值,比如有的框架里面已经写好了返回的是modelAndView,我们不好修改,但是我们又想要这个返回值forward到另一个接口而...原创 2019-08-26 15:05:11 · 7420 阅读 · 0 评论 -
Tomcat源码走读 05-tomcat的容器初始化过程
05-tomcat的容器初始化过程介绍容器初始化过程之前,让我们先来看下tomcat容器的类继承关系图。Lifecycle:顶级接口:定义了添加,删除,查找生命周期监听器的方法,以及init,stop等。MBeanRegistration:顶级接口,定义一些注册jmx其后的处理方法。LifecycleBase: 成员LifecycleSupport作用是发布生命周期事件。定义了init,...原创 2019-07-28 16:43:40 · 225 阅读 · 0 评论 -
Tomcat源码走读 04-tomcat的server.xml解析
04-tomcat的server.xml解析tomcat的server.xml的解析依靠的是Digester对象,入口在Catalina.load()中。1.Digester digester = createStartDigester();protected Digester createStartDigester() { Digester digester = new D...原创 2019-07-28 16:37:01 · 208 阅读 · 0 评论 -
Tomcat源码走读 03-tomcat的类加载器
03-tomcat的类加载器tomcat类加载器结构图:1)bootstrap ClassLoader:它用来加载 Java 的核心类,是用原生代码来实现的,并不继承自 java.lang.ClassLoader,负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类。2)extension ClassLoader:它负责...原创 2019-07-28 16:31:46 · 238 阅读 · 0 评论 -
SpringIOC源码走读
SpringIOC源码走读简介准备工作阅读源码super(parent);setConfigLocations(configLocations);refresh();prepareRefresh()obtainFreshBeanFactory()prepareBeanFactory(beanFactory)postProcessBeanFactory(beanFactory)invokeBeanF...原创 2019-01-26 21:23:55 · 362 阅读 · 0 评论 -
SpringAOP源码走读
Spring AOP源码走读简介Spring的两大核心就是IOC和AOP,了解其机制可以有效的提高我们对于spring的理解和运用。在上一篇SpringIOC源码走读中我们已经大致了解了Spring IOC的原理。现在我们可以继续学习一下AOP了,因为AOP的实现其实也是依赖于IOC的。为了方便起见,这里我们使用注解式的方式。spring aop面向切面编程的实际就是对bean进行代理,并把...原创 2019-01-26 22:18:44 · 253 阅读 · 0 评论 -
Springboot习惯大于配置原理
Springboot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架。准备...原创 2019-01-27 10:06:57 · 1998 阅读 · 1 评论 -
Springboot多个异常处理类catch顺序
Springboot多个异常处理类catch顺序通常情况下,我们都会定义一个全局异常处理类来处理异常,但是当我们定义了多个异常处理类,同时他们又存在父子继承关系的情况下,我们该怎么保证子类优先判断异常是否是自己可以捕获的呢?如果父类先捕获该异常,那么该异常可能本该被子类处理掉,结果被父类的逻辑处理了,这肯定不是我们想要的。所以springboot中的多个异常处理逻辑该怎么实现呢?准备工作...原创 2019-01-27 10:33:47 · 3829 阅读 · 2 评论 -
原生servlet添加允许跨域
原生servlet添加允许跨域亲测有效。/** * 用于前后端分离,允许跨域。 * */public class CorsInterceptor implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @...原创 2019-02-16 09:49:54 · 3346 阅读 · 0 评论 -
Tomcat源码走读 01-tomcat架构简介
01-tomcat架构简介总体架构:面向组件架构基于JMX事件侦听1)面向组件架构tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也实现了生命周期接口Lifecycle,使其组件履行固定的生存期,在其整个生存期的过程中通过事件侦听LifecycleEven...原创 2019-07-28 16:21:29 · 171 阅读 · 0 评论 -
Tomcat源码走读 02-tomcat的启动和关闭流程
02-tomcat的启动和关闭流程本套代码走读基于tomcat7.0的源码,分析之前,先下载tomcat源码,导入ide。可以参考https://blog.csdn.net/z583773315/article/details/56353311我们平时使用tomcat启动都是使用startup.bat或startup.sh脚本,所以要分析启动流程可以先看下这个脚本。以start.bat为类:...原创 2019-07-28 16:27:09 · 243 阅读 · 0 评论 -
easypoi的使用和遇到的问题
easypoi的使用和遇到的问题大纲本文内容简介easypoi简介准备工作easypoi的简单使用。一.EXCEL导出导出图片的时候遇到的问题ArrayIndexOutOfBoundsException导出图片的时候遇到图片不显示的问题easypoi的简单导入简单导入Excel并将图片保存到fastdfs自定义的资源服务器上面复杂导入(数据校验并返回校验失败的excel同时携带了每条报错的原因)编...原创 2018-10-14 20:04:35 · 30728 阅读 · 68 评论