- 博客(10)
- 资源 (11)
- 收藏
- 关注
原创 Spring4学习:Spring的事务管理
一、数据库事务知识 1、数据库锁机制 按锁定的对象的不同,可分为表锁定和行锁定。表锁定对整张表进行锁定,而行锁定对表中的特定行进行锁定。从并发事务锁定的关系上看,可以分为共享锁定和独占锁定。共享锁定会防止独占锁定,但允许其他的共享锁定。而独占锁定既防止其他的独占锁定,也防止其他的共享锁定。更新数据时,数据库必须在进行更改的行上施加行独占锁定,insert、update、delete和selec
2017-03-31 13:54:58 519
原创 Spring4学习:基于@AspectJ和Schema的AOP
一、使用@AspectJ Spring在处理@AspectJ注解表达式时,需要将Spring的asm模块添加到类路径中。Spring采用AspectJ提供的@AspectJ注解类库及相应的解析类库,需要在pom.xml文件中添加aspectj.weaver和aspectj.tools类包的依赖。 1、@AspectJ使用实例: 首先是业务类的代码: public class NaiveWa
2017-03-23 18:37:46 1207
原创 Spring4学习:SpringAOP基础
AOP是有特定的应用场合的,它只适合那些具有横切逻辑的应用场合,如性能检测、访问控制、事务管理及日志记录 一、AOP概述 1、AOP术语 (1)连接点(Joinpoint):由两个信息确定:一是用方法表示的程序执行点;二是用相对位置表示的方位。如在Test.foo()方法执行前的连接点,执行点为Test.foo(),方位为该方法执行前的位置。Spring使用切点对执行点进行定位,而方位则在增
2017-03-21 21:06:59 1003
原创 Spring4学习:在Ioc容器中装配Bean
一、基于Schema的配置格式: 命名空间的定义分为两步:第一步指定命名空间的名称;第二步指定命名空间的Schema文档格式文件的位置,用空格或回车换行进行分隔。 在第一步中需要指定命名空间的缩略名和全名,比如:xmlns:aop="http://www.springframework.org/schema/aop",aop为命名空间的别名,一般使用简介易记的名称,文档后面的元素可通过
2017-03-20 21:15:23 1008
原创 Spring4学习:Spring容器高级主题
一、Spring容器技术内幕 如下图描述了Spring容器从加载配置文件到创建出一个完整Bean的作业流程及参与的角色: (1)ResourceLoader从存储介质中加载Spring配置信息,并使用Resource表示这个配置文件资源。 (2)BeanDefinitionReader读取Resource所指向的配置文件资源,然后解析配置文件。配置文件中的每个解析成一个BeanDef
2017-03-17 20:52:55 1640
原创 Spring4学习:IoC容器
一、概念 IoC(Inverse of Control)控制反转,及某一接口具体实现类的选择控制权从调用类中移除,转交给第三方决定,即由Spring容器借由Bean配置来进行控制。后来软件界的Martin Fowler提出了DI(Dependency Injection)依赖注入的概念用来代替IoC,即让调用类对某一接口实现类的依赖关系由第三方(容器或协作类)注入,以移除调用类对某一接口实现类的
2017-03-15 16:38:44 737 1
原创 Java并发编程实战:线程池的应用
一、任务与执行策略间的隐形耦合 1、线程饥饿死锁 当任务都是同类、独立的时候,线程池才会有最好的工作表现。如果将耗时的短期的任务混合在一起,除非线程池很大,否则会有“塞车”的风险;如果提交的任务要依赖其他的任务,除非池是无限的,否则有产生死锁的风险。如下代码所示,对于一个单线程化的Executor,一个任务将另一个任务提交到相同的Executor中,并等待新提交的任务的结果,第二个任务滞留在工
2017-03-07 17:30:59 425
原创 Java并发编程实战:取消和关闭
一、任务取消 1、设置cancelled标志 在程序中声明volatile类型的cancelled标志,当任务调用者设置cancelled为true时,任务在运行过程中通过不断检查是否被取消可以得知任务被取消的消息,从而不再执行任务。如下代码所示: class PrimeGenerator implements Runnable{ private final List primes = n
2017-03-06 15:57:50 622
原创 Java并发编程实战:任务执行
一、无限制创建线程的缺点: (1)线程生命周期的开销:线程的创建与关闭是需要时间的,带来处理请求的延迟,并且需要在JVM和操作系统直接进行相应的处理活动。如果请求时频繁且轻量的,那么为每个请求创建一个新线程的做法会消耗大量的计算资源。 (2)资源消耗量:活动线程会消耗系统资源,尤其是内存。如果可运行的线程数多于可用的处理器数,线程将会空闲。大量空闲线程占用更多内存,给垃圾回收器带来压力,而且大
2017-03-04 15:12:57 534
原创 Java并发编程实战:并发基础构建模块
一、同步容器类 同步容器类包括Vector和Hashtable以及一些功能相似的类,这些同步的封装器类是由Collections.synchronizedXxx等工厂方法创建的。这些类实现线程安全的方式是:将它们的状态封装起来(即设为私有,使得外部无法直接访问,只能通过公有方法来访问),并对每个公有方法都进行同步,使得每次只有一个线程能访问容器的状态。 同步容器类的问题: 同步容器类都是线程
2017-03-02 17:10:07 490
Java多线程编程核心技术_完整版 PDF电子书下载 带书签目录.pdf
2017-02-23
java并发编程的艺术高清pdf版
2017-02-23
疯狂android讲义第三版源代码Part1(1-6章)
2016-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人