自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring AOP框架学习笔记(2):AOP拦截器调用的实现

下面我们介绍一下JdkDynamicAopProxy的invoke拦截。JDK动态代理的生成调用为:Proxy.newProxyInstance(classLoader, proxiedInterfaces, this);这里的this参数对应的是InvocationHandler对象,InvocationHandler是JDK定义的放射类的一个接口,这个接口定义了invoke方法,而这个

2015-08-20 17:15:52 784

原创 Spring AOP框架学习笔记(1):AOP代理对象的建立

Aop的几个概念:1.Advice(通知)定义在连接点做什么,为切面增强提供织入接口。在Spring AOP中,主要描述Spring AOP围绕方法调用而注入的切面行为。下图是Advice的类层次图。 2.Pointcut(切点)决定Advice通知应该作用于哪个连接点,也就是说通过Pointcut来定义需要增强方法的集合。 3.Advisor(通知器)用来完成对目标方法的切面

2015-08-20 16:33:57 780

原创 Java并发编程实战笔记(四):基础构建模块

委托是创建线程安全类的一个最有效的策略:只需让现有的线程安全类管理所有的状态即可。1.同步容器类JDK中的同步容器类包括Vector和Hashtable等类,这些类实现线程安全的方式是:将它们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程能访问容器的状态。当多个线程同时访问修改容器时,可能会产生一些意料之外的行为,如public static Object getLa

2015-08-19 00:04:38 456

原创 Java并发编程实战笔记(三):对象的组合

这里介绍一下组合模式。编写线程安全的类的一个重要的思路就是,将一些现有的线程安全组件组合为更大规模的组件或者程序。在设计线程安全类的过程中,需要包含以下三个基本要素:1.找出构成对象状态的所有变量。2.找出约束状态变量的不变性条件。3.建立对象状态的并发访问管理策略。收集同步需求要确保类的线程安全性,就需要确保它的不变性条件不会在并发访问的情况下被破坏。同样,在操作中还

2015-08-18 19:08:39 667

原创 Java并发编程实战笔记(二):对象的共享

可见性为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。缺乏同步的程序中可能产生错误结果的一种情况:失效数据。加锁的含义不仅仅局限于互斥行为,还包含内存可见性。为了确保所有线程都能看到共享变量的最新值,所有执行读操作或者写操作的线程都必须在同一个锁上同步。Java提供了一种稍弱的同步机制,即volatile变量,用来确保变量的更新操作通知到其他线程。当把变量声明为volatile类

2015-08-14 00:25:39 746

原创 Java并发编程实战笔记(一):线程安全性

线程也被称为轻量级进程。由于同一个进程中的所有线程都将共享进程的内存地址空间,因此这些线程都能访问相同的变量并在同一个堆上分配对象,这就需要实现一种比在进程间共享数据粒度更细的数据共享机制。当多个线程访问某个状态变量并且其中有一个线程执行写入操作时,必须采用同步机制来协同这些线程对变量的访问。Java中的主要同步机制是关键字synchronized,它提供了一种独占加锁方式,但“同步”这个术语还包

2015-08-13 00:22:20 545

原创 快速排序算法

快速排序是一种排序算法,对包含n个数的输入数组,最坏情况运行时间为Θ(n2)。虽然这个最坏情况运行时间比较差,但快速排序通常是用于排序的最佳实用选择,这是因为其平均性能相当好,期望的运行时间为Θ(nlgn),且其还能实现就地排序,不需要额外的存储空间。快速排序的思想是:将数组A[p..r]划分成两个(可能空)子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每个元素都小于

2015-08-11 21:02:49 383

原创 堆排序算法

堆排序算法是最经典的排序算法之一,堆排序引入了一种算法设计技术:利用堆数据结构来管理算法执行中的信息。堆数据结构不只是在堆排序中有用,还可以构成一个有效的优先队列。堆数据结构是一种数组对象,它可以被视为一颗完全二叉树。树中每个结点与数组中存放该结点值的那个元素对应。树的每一层都是填满的,最后一层可能除外,如下图。 树的根为A[i],给定某个结点的下标i,其父结点:PARENT(i)

2015-08-11 12:13:52 424

文件同步插件

文件同步插件,使用eclipse安装,欢迎下载

2015-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除