01 2015 档案
摘要:3.2.1 什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用 CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如图3-5所示:图3-5 循环...
阅读全文
摘要:3.1.1 依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系、接口与接口之间的继承关系; 实现:表示类对接口的实现; 依赖:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一...
阅读全文
摘要:2.3.1 XML配置的结构一般配置文件结构如下: 1、标签主要用来进行Bean定义;2、alias用于定义Bean别名的;3、 import用于导入其他配置文件的B...
阅读全文
摘要:2.2.1 IoC容器的概念 IoC容器就是具有依赖注入功能的容器,IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IoC容器进行组装。在Spring中BeanFactory是IoC容器的实际代表者。 Spring IoC容
阅读全文
摘要:2.1.1 IoC是什么Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对 象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(...
阅读全文
摘要:1.1.1 Spring是什么Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的应用是由一组相 互协作的对象组成。所以开发一个...
阅读全文
摘要:HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码,可以看到如下代码: public class HashSet extends...
阅读全文
摘要:java中HashMap详解 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函
阅读全文
摘要:参考:http://blog.csdn.net/jiangwei0910410003/article/details/22739953 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法,今天就来介绍
阅读全文
摘要:Java 集合类图 参考:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526822.html上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractColle...
阅读全文
摘要:IOC(Inverse of Control) 可翻译为“控制反转”,但大多数人都习惯将它称为“依赖注入”。在Spring中,通过IOC可以将实现类、参数信息等配置在其对应的配置文件中,那么当 需要更改实现类或参数信息时,只需要修改配置文件即可,这种方法在上例的基础上更进一步的降低了类与类之间的耦合...
阅读全文
摘要:动态代理类原理(示例代码参见java反射机制剖析(三))a) 理解上面的动态代理示例流程a) 理解上面的动态代理示例流程b) 代理接口实现类源代码剖析咱们一起来剖析一下代理实现类($Proxy0)的源代码和整个动态代理的流程。$Proxy0生成的代码如下: import java.lang.r...
阅读全文
摘要:通过Java反射机制剖析(一)和Java反射机制剖析(二)的学习,已经对反射有了一定的了解,这一篇通过动态代理的例子来进一步学习反射机制。1.代理模式代理模式就是为其他对象提供一种代理来控制对这个对象的访问。其实代理模式是在访问的对象时引入一定程度的间接性,这种间接性可以附加多种用途。它 的特征是代...
阅读全文
摘要:从《java反射机制剖析(一)》的API我们看到了许多接口和类,我们能够通过这些接口做些什么呢?从上篇API中我们能看到它能够完成下面的这些功能:1)获得类A.运用getClass() (每个class都有此函数)i. String str = "abc";ii. Class c1 = str.ge...
阅读全文
摘要:1.什么是Java反射机制Java的反射机制是在程序运行时,能够完全知道任何一个类,及其它的属性和方法,并且能够任意调用一个对象的属性和方法。这种运行时的动态获取就是Java的反射机制。其实这也是Java是动态语言的一个象征。用一句话来概括反射就是加载一个运行时才知道的类以及它的完整内部结构。2.为...
阅读全文
摘要:首先,我们在开始前提出一个问题: 1.在运行时,对于一个java类,能否知道属性和方法;能否去调用它的任意方法? 答案是肯定的。 本节所有目录如下: 获取类的Class对象 获取类的Fields 获取类的Method 获取类的Constructor 新建类的实例 Class<T>的函数newInst
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(
阅读全文
摘要:在Linux系统下,重启Tomcat使用命令操作的!首先,进入Tomcat下的bin目录cd /usr/local/tomcat/bin使用Tomcat关闭命令./shutdown.sh查看Tomcat是否以关闭ps -ef|grep java如果显示以下相似信息,说明Tomcat还没有关闭root...
阅读全文
摘要:在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式。在这个年代, 参数化查询 [1] 已经成了普遍用法,我们已经离 SQL 注入很远了。但是,历史同样悠久的 XSS 和 CSRF 却没有远离我们。由于之前已经对 XSS 很熟悉了,所以我对用...
阅读全文
摘要:Spring使用Cache 从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调...
阅读全文
摘要:页面缓存目录1 SimplePageCachingFilter1.1 calculateKey1.2 可配置的初始化参数1.2.1 cacheName1.2.2 blockingTimeoutMillis2 SimpleCachingHeadersPageCachingFilter3 SimpleP...
阅读全文
摘要:可阻塞的Cache—BlockingCache 在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的...
阅读全文
摘要:Ehcache对并发的支持 在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取...
阅读全文
摘要:Ehcache中监听器有两种,监听CacheManager的CacheManagerEventListener和监听Cache的CacheEventListener。在Ehcache中,Listener是通过对应的监听器工厂来生产和发生作用的。下面我们将来介绍一下这两种类型的监听器。1 CacheM...
阅读全文
摘要:缓存的查询目录1. 使Cache可查询1.1 基于Xml配置1.2 基于代码的配置2 指定可搜索的属性2.1 可查询属性类型2.2 属性的提取2.2.1 定义自己的AttributeExtractor2.2.2 JavaBeanAttributeExtractor2.2.3 ReflectionAt...
阅读全文
摘要:设置缓存的大小目录1 CacheManager级别2 Cache级别3 大小衡量4 配置大小示例 缓存大小的限制可以设置在CacheManager上,也可以设置在单个的Cache上。我们可以设置缓存使用内存的大小,也可以设置缓存使用磁盘的大小,但是使用堆内存的大小是必须设置的,其它可设可不设,默认不...
阅读全文
摘要:Ehcache中储存缓存的方式目录1 堆内存(MemoryStore)1.1 指定可用内存1.2 驱除策略1.3 元素过期2 非堆内存(BigMemory)3 磁盘(DiskStore)3.1 指定可用容量3.2 元素过期 在Ehcache中对于缓存的存储主要有三种方式:分别是堆内存、非堆内存和磁盘...
阅读全文
摘要:ehcache.xml简介 ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指...
阅读全文
摘要:转自:http://haohaoxuexi.iteye.com/blog/2112170Ehcache简介目录1 CacheManager1.1 构造方法构建1.2 静态方法构建2 Cache2.1 Cache的创建 Ehcache是用来管理缓存的一个工具,其缓存的数据可以是存放在内存里面的,也可以...
阅读全文
摘要:一、简述MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法,它由MD4、MD3和MD2算法改进而来。不论是哪一种MD算法,它们都需 要获得一个随机长度的信息并产生一个123位的信息摘要。如果将这个128位的二进制摘要信息换算成十六进制,可以得到一个32位的字符串,故我们见到的 大部分...
阅读全文
摘要:set语句的学习:使用select定义用户变量的实践将如下语句改成select的形式:set @VAR=(select sum(amount) from penalties);我的修改:select @VAR:=(select sum(amount) from penalties);我这样改,虽然是...
阅读全文
摘要:mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。
阅读全文
摘要:Spring提供的三种定时任务机制及其比较 定时任务的需求在众多应用系统中广泛存在,在Spring中,我们可以使用三种不同的定时机制,下面一一描述并加以比较1. 基于Quartz的定时机制下面详细解释这个类图中涉及的关键类及其使用场景1.1. SchedulerFactoryBean这是Spring...
阅读全文
摘要:先看一个例子一.demo1(MethodInvokingJobDetailFactoryBean)1.要执行业务类public class BusinessReport { public void perform(){ System.out.println("sdfdsafasd...
阅读全文
摘要:一、初始化1,直接调用import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;/**...
阅读全文
摘要:继承:http://www.cnblogs.com/crazylqy/p/4220743.htmlspring设置容器启动时运行线程类(可循环执行)修改以下两文件,1.spring设置容器启动时运行线程类 ...
阅读全文
摘要:多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了。spring封装了java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性,具体来说如何使用spring来处理并发事务:1.了解 TaskExecutor接口Spring的 TaskE...
阅读全文