代码改变世界

随笔档案-2016年08月

java内省机制及PropertyUtils使用方法

2016-08-26 15:48 by 瞬间永恒成功, 2724 阅读, 收藏,
摘要: 背景 一般情况下,在Java中你可以通过get方法轻松获取beans中的属性值。但是,当你事先不知道beans的类型或者将要访问或修改的属性名时,该怎么办?Java语言中提供了一些像java.beans.Introspector这 样类,实现了在运行时检测Java类并确定属性get和set方法的名称 阅读全文

Java 中 ThreadLocal 内存泄露的实例分析

2016-08-26 15:47 by 瞬间永恒成功, 960 阅读, 收藏,
摘要: 前言 之前写了一篇深入分析 ThreadLocal 内存泄漏问题是从理论上分析ThreadLocal的内存泄漏问题,这一篇文章我们来分析一下实际的内存泄漏案例。分析问题的过程比结果更重要,理论结合实际才能彻底分析出内存泄漏的原因。 案例与分析 问题背景 在 Tomcat 中,下面的代码都在 weba 阅读全文

消息队列

2016-08-24 18:40 by 瞬间永恒成功, 1337 阅读, 收藏,
摘要: 1、为什么需要消息队列?当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消息队列,作为抽象层,弥合双方的差异。 举个例子:业务系统触发短信发送申请,但短信发送模块速度跟不上,需要将来不及处理的消息暂存一下,缓冲压力。 再举个例子:调远程系统下订单成本较高,且因为网络等因素,不稳 阅读全文

SpringMVC源码剖析(三)- DispatcherServlet的初始化流程

2016-08-22 23:05 by 瞬间永恒成功, 355 阅读, 收藏,
摘要: 在我们第一次学Servlet编程,学Java Web的时候,还没有那么多框架。我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转到我们定义好的jsp页面。Servlet类编写完之后在web.xml里注册这个Servlet类。 除 阅读全文

SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现

2016-08-22 23:05 by 瞬间永恒成功, 1456 阅读, 收藏,
摘要: SpringMVC完成初始化流程之后,就进入Servlet标准生命周期的第二个阶段,即“service”阶段。在“service”阶段中,每一次Http请求到来,容器都会启动一个请求线程,通过service()方法,委派到doGet()或者doPost()这些方法,完成Http请求的处理。 在初始化 阅读全文

SpringMVC源码剖析(二)- DispatcherServlet的前世今生

2016-08-22 23:04 by 瞬间永恒成功, 393 阅读, 收藏,
摘要: 上一篇文章《SpringMVC源码剖析(一)- 从抽象和接口说起》中,我介绍了一次典型的SpringMVC请求处理过程中,相继粉墨登场的各种核心类和接口。我刻意忽略了源码中的处理细节,只列出最简单的类甚至是接口类,目的就是让大家先从最高层次的抽象意义上来审视SpringMVC这个框架;我也刻意将Sp 阅读全文

SpringMVC源码剖析(一)- 从抽象和接口说起

2016-08-22 23:03 by 瞬间永恒成功, 1070 阅读, 收藏,
摘要: SpringMVC作为Struts2之后异军突起的一个表现层框架,正越来越流行,相信javaee的开发者们就算没使用过SpringMVC,也应该对其略有耳闻。我试图通过对SpringMVC的设计思想和源码实现的剖析,从抽象意义上的设计层面和实现意义上的代码层面两个方面,逐一揭开SpringMVC神秘 阅读全文

Spring单实例、多线程安全、事务解析

2016-08-22 22:59 by 瞬间永恒成功, 7863 阅读, 收藏,
摘要: 原文:http://blog.csdn.net/c289054531/article/details/9196053 引言: 在使用Spring时,很多人可能对Spring中为什么DAO和Service对象采用单实例方式很迷惑,这些读者是这么认为的: DAO对象必须包含一个数据库的连接Connect 阅读全文

mysql中int、bigint、smallint 和 tinyint的区别

2016-08-22 22:56 by 瞬间永恒成功, 584 阅读, 收藏,
摘要: 使用整数数据的精确数字数据类型。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 阅读全文

MyISAM和InnoDB的区别

2016-08-22 22:52 by 瞬间永恒成功, 22950 阅读, 收藏,
摘要: MySQL默认采用的是MyISAM。 MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。 InnoDB支持数 阅读全文

数据库隔离级别详解

2016-08-22 22:38 by 瞬间永恒成功, 882 阅读, 收藏,
摘要: 事务(transaction)是数据库管理系统的执行单位,可以是一个数据库操作(如Select操作)或者是一组操作序列。事务ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 原子性:保证事务中的所有操作全部 阅读全文

spring MVC配置详解

2016-08-22 11:38 by 瞬间永恒成功, 223 阅读, 收藏,
摘要: 现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spri 阅读全文