摘要: @Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名。 定义bean 下面是@Configuration里的一个例子: 这个配置就等同于之前在xml里的配置: bean的依赖 @bean 也可以依赖其阅读全文
posted @ 2019-05-14 11:09 卫旗 阅读(39) 评论(0) 编辑
摘要: Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感阅读全文
posted @ 2019-01-09 23:43 卫旗 阅读(115) 评论(0) 编辑
摘要: 前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet阅读全文
posted @ 2018-12-20 15:56 卫旗 阅读(177) 评论(0) 编辑
摘要: ClassLoader 做什么的? 顾名思义,它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流,字节码的本质就是一个字节数组 []b阅读全文
posted @ 2018-12-05 00:40 卫旗 阅读(299) 评论(0) 编辑
摘要: Buffer 一个 Buffer 本质上是内存中的一块,我们可以将数据写入这块内存,之后从这块内存获取数据。 java.nio 定义了以下几个 Buffer 的实现,这个图读者应该也在不少地方见过了吧。 其实核心是最后的 ByteBuffer,前面的一大串类只是包装了一下它而已,我们使用最多的通常也阅读全文
posted @ 2018-11-07 23:16 卫旗 阅读(360) 评论(1) 编辑
摘要: 1 synchronized和lock 1.1 synchronized的局限性 synchronized是java内置的关键字,它提供了一种独占的加锁方式。synchronized的获取和释放锁有JVM实现,用户不需要显式的释放锁,非常方便,然而synchronized也有一定的局限性,例如: 1阅读全文
posted @ 2018-09-17 23:45 卫旗 阅读(296) 评论(0) 编辑
摘要: 一、二进制位运算 1. 按位与(&) 位运算实质是将参与运算的数字转换为二进制,而后逐位对应进行运算。 按位与运算为:两位全为1,结果为1,即1&1=1,1&0=0,0&1=0,0&0=0。 例如51 & 5 -> 00110011 & 00000101 = 00000001 -> 51 & 5 =阅读全文
posted @ 2018-09-16 10:05 卫旗 阅读(50) 评论(0) 编辑
摘要: 俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要! 阅读全文
posted @ 2018-08-10 14:58 卫旗 阅读(454) 评论(1) 编辑
摘要: 为什么要锁 我们开的的各式各样系统中,系统运行需要CPU、内存、I/O、磁盘等等资源。但除了硬资源外,还有最为重要的软资源:数据。 当人们访问操作我们的系统时,其实归根是对数据的查看与生产。那么对于同一份数据,如果多个用户同时对它查看、修改时会出现什么问题呢?这必然会带来竞争,而为了控制并发的读取、阅读全文
posted @ 2018-07-12 01:33 卫旗 阅读(39) 评论(0) 编辑
摘要: Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现阅读全文
posted @ 2018-07-10 23:35 卫旗 阅读(116) 评论(0) 编辑