随笔 - 1659  文章 - 611 评论 - 398 trackbacks - 0

摘要:分析netty从源码开始准备工作:1.下载源代码:https://github.com/netty/netty.git 我下载的版本为4.12. eclipse导入maven工程。netty提供了一个netty-example工程,分类如下:FundamentalEcho‐ the very ba... 阅读全文
posted @ 2015-12-14 19:16 一天不进步,就是退步 阅读 (14775) 评论 (1) 编辑
摘要:1. 引言 事务特性 事务是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性。事务通常是以begin transaction开始,以commit或rollback结束。Commint 阅读全文
posted @ 2015-05-08 08:26 一天不进步,就是退步 阅读 (29849) 评论 (4) 编辑
摘要:概述Logback建立于三个主要类之上:日志记录器(Logger),输出端(Appender)和日志格式化器(Layout)。这三种组件协同工作,使开发者可以按照消息类型和级别来记录消息,还可以在程序运行期内控制消息的输出格式和输出目的地。1.日志记录器(Logger):控制要输出哪些日志记录语句,... 阅读全文
posted @ 2015-04-22 17:00 一天不进步,就是退步 阅读 (25838) 评论 (0) 编辑
摘要:1. shiro介绍Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro都... 阅读全文
posted @ 2015-04-17 08:27 一天不进步,就是退步 阅读 (60996) 评论 (4) 编辑
摘要:1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出来,供查询使用。 2. spring注解图 2.1 spring-context模块的注解图 2.2 spring-web注解 2.3 spring其它 阅读全文
posted @ 2015-04-16 16:12 一天不进步,就是退步 阅读 (36520) 评论 (66) 编辑
摘要:spring beans下面有如下源文件包: org.springframework.beans, 包含了操作java bean的接口和类。org.springframework.beans.annotation, 支持包,提供对java 5注解处理bean样式的支持。org.springframe 阅读全文
posted @ 2015-01-15 11:51 一天不进步,就是退步 阅读 (41987) 评论 (13) 编辑
摘要:随着spring注解的引入,越来越多的开发者开始使用注解,这篇文章将对注解的机制进行串联式的讲解,不求深入透彻,但求串起spring beans注解的珍珠,展示给大家。 1. spring beans常用的注解: public @interface Autowired:可以对成员变量、方法和构造函数 阅读全文
posted @ 2015-01-05 20:50 一天不进步,就是退步 阅读 (22213) 评论 (0) 编辑
摘要:bean的定义,包装是java bean的基础。再怎么强调它的重要性都不为过,因此深入 了解这块的代码对以后的代码研究可以起到事半功倍的功效。 1. Bean的定义BeanDefinition 1.1 BeanDefinition 作用 一个BeanDefinition描述了一个bean的实例,包括 阅读全文
posted @ 2014-12-30 17:14 一天不进步,就是退步 阅读 (17107) 评论 (0) 编辑
摘要:spring Ioc容器的实现,从根源上是beanfactory,但真正可以作为一个可以独立使用的ioc容器还是DefaultListableBeanFactory,因此可以这么说,DefaultListableBeanFactory 是整个spring ioc的始祖,研究透它的前生今世对我们理解s... 阅读全文
posted @ 2014-12-26 17:33 一天不进步,就是退步 阅读 (23551) 评论 (1) 编辑
摘要:做项目时碰到Controller不能使用aop进行拦截,从网上搜索得知:使用spring mvc 启动了两个context:applicationContext 和WebapplicationContext。 首先我们来了解applicationContext 和WebapplicationCont 阅读全文
posted @ 2014-11-26 11:38 一天不进步,就是退步 阅读 (42178) 评论 (2) 编辑
摘要:整个spring mvc的架构如下图所示:上篇文件讲解了DispatcherServlet通过request获取控制器Controller的过程,现在来讲解DispatcherServletDispatcherServlet的第二步:通过request从Controller获取ModelAndVie... 阅读全文
posted @ 2014-11-24 19:36 一天不进步,就是退步 阅读 (21317) 评论 (0) 编辑
摘要:整个spring mvc的架构如下图所示: 现在来讲解DispatcherServletDispatcherServlet的第一步:获取控制器。 HandlerMapping 1. 初始化HandlerMapping 2.获取HandlerExecutionChain。 HandlerExecuti 阅读全文
posted @ 2014-11-23 10:35 一天不进步,就是退步 阅读 (17079) 评论 (0) 编辑
摘要:整个spring mvc的架构如下图所示: 现在来讲解DispatcherServletDispatcherServlet的最后一步:视图渲染。视图渲染的过程是在获取到ModelAndView后的过程。 视图渲染的过程: DispatcherServlet.java doService() >doD 阅读全文
posted @ 2014-11-21 00:05 一天不进步,就是退步 阅读 (11745) 评论 (4) 编辑
摘要:要深入理解spring mvc的工作流程,就需要先了解spring mvc的架构: 从上图可以看到 前端控制器DispatcherServlet在其中起着主导作用,理解了DispatcherServlet 就完全可以说弄清楚了spring mvc。 为了加深对spring mvc的整个工作流程的理解 阅读全文
posted @ 2014-11-14 10:39 一天不进步,就是退步 阅读 (15341) 评论 (0) 编辑
摘要:前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。 Dis 阅读全文
posted @ 2014-11-11 17:14 一天不进步,就是退步 阅读 (25566) 评论 (1) 编辑
摘要:背景故事 影片《金刚》是2005年上映的一部冒险电影,它讲述1933年的美国,一名勇于冒险的企业家及电影制作者,率领摄制队伍到荒岛拍摄,其中包括女主角安及编剧杰克,他们遇到恐龙及当地土著的袭击,安发出的尖叫声换来金刚的回应。这只巨大无比的猩猩,连凶悍的恐龙也惧怕它几分,偏偏它却钟情于安。安其后将金刚 阅读全文
posted @ 2019-09-17 11:32 一天不进步,就是退步 阅读 (337) 评论 (0) 编辑
摘要:故事背景 有一天,老鼠小白发现了一个奇怪的问题,它的奶酪的生产日期被谁搞丢了,不知道奶酪是否过期,可怎么吃呀? 让我们来看看吧 按照小白的预期,程序该跑出奶酪上市了多少天,可是打印出的结果确实奶酪不会过期 这是怎么回事呢? 破案 查看代码提交记录,发现老鼠小蓝有修改记录,仅仅调整了两行程序的顺序,小 阅读全文
posted @ 2019-09-14 09:09 一天不进步,就是退步 阅读 (98) 评论 (0) 编辑
摘要:背景 小白最近有点烦恼,原因也很简单,不知道为何?小白的消费不知不觉被迫升级了,请看费用清单: 本来小白预期输出结果: life is Happy! 但是什么都没有输出,这是怎么回事呢?是不是以后的幸福小日子就没了? 于是小白向柯南请教: 破案 为了比较byte 数值(byte)0x90 和int 阅读全文
posted @ 2019-09-13 07:03 一天不进步,就是退步 阅读 (118) 评论 (0) 编辑
摘要:问题背景 能准确说出下面的java 执行完毕后会打印出什么? 相信对于第一行,大部分人不会犯错,打印 我们想使用/去分割类的包,期待打印的结果为 真实返回的结果是这个样子的: 为什么会这样呢 原因 原因 问题在于String.replaceAll 接受了一个正则表达式作为它的第一个参数,而并 非接受 阅读全文
posted @ 2019-09-12 12:06 一天不进步,就是退步 阅读 (278) 评论 (0) 编辑
摘要:下面的语句会编译报错或者打印什么? 很多人会说:会编译出错,中间那行是什么鬼? 其实,不会报错,会打印出: 如果改成这样的语句,是不是就不会觉得编译报错了? 像不像switch语句中的case 上面的语句,":" 是statement label 翻译成标号语句。 其语法如下: 与c和c++不同,j 阅读全文
posted @ 2019-09-11 12:12 一天不进步,就是退步 阅读 (32) 评论 (0) 编辑
摘要:首先声明,有晕车经历的司机请自备药物,String也可能让你怀疑人生! 第一道 开胃菜 请听题!第一道题: 提示: ==是比较两个对象引用是否正好引用到了相同的对象。 那么公布答案吧 旁白: 肯定不过瘾吧,那就再来。 第二道 汤 扫地僧看不下去了 旁边: 两个String类型的常量表达式,如果标明的 阅读全文
posted @ 2019-09-04 16:51 一天不进步,就是退步 阅读 (307) 评论 (4) 编辑
摘要:原文地址:https://www.iteye.com/blog/gearever-1546423 Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到。在开发app时,我们只是获取一个session,然后向 session中存取数据,然后再销毁session。那么如何产生se 阅读全文
posted @ 2019-09-03 14:30 一天不进步,就是退步 阅读 (6) 评论 (0) 编辑
摘要:原文地址:https://www.iteye.com/blog/gearever-1540028 源码面前,了无秘密 侯捷 在tomcat架构分析(valve机制)(http://gearever.iteye.com/blog/1536022)里已经对valve的机制做了分析。现在通过源码来加深下理 阅读全文
posted @ 2019-09-03 14:20 一天不进步,就是退步 阅读 (6) 评论 (0) 编辑
摘要:原文地址:https://www.iteye.com/blog/gearever-1536022 关于tomcat的内部逻辑单元的存储空间已经在相关容器类的blog里阐述了。在每个容器对象里面都有一个pipeline及valve模块。它们是容器类必须具有的模块。在容器对象生成时自动产生。Pipeli 阅读全文
posted @ 2019-09-03 14:17 一天不进步,就是退步 阅读 (9) 评论 (0) 编辑
摘要:原文地址:https://www.iteye.com/blog/gearever-1844203 ller线程中维护的这个Selector标为主Selector。 Poller是NIO实现的主要线程。首先作为events queue的消费者,从queue中取出PollerEvent对象,然后将此对象 阅读全文
posted @ 2019-09-03 14:15 一天不进步,就是退步 阅读 (8) 评论 (0) 编辑