摘要: PointCut PointCut是依靠NameMatchMethodPointCut实现,根据方法名字进行匹配;成员变量有:mappedNames,匹配方法名的集合。 Before Advice 是一个简单的通知类型 只有在进入方法之前被调用,不需要MethodInvocation对象 前置通知可 阅读全文
posted @ 2018-12-03 19:40 轻抚丶两袖风尘 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size< 阅读全文
posted @ 2018-12-03 13:53 轻抚丶两袖风尘 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 基本思想 归并排序的思路就是分而治之,将一个待排数组分成若干个小数组,再将这些小数组排序,再合并排好序的数组,如下图: (a) 把长度为4的数组分解成两个长度为2的子数组; (b) 把长度为2的数组分解成两个成都为1的子数组; (c) 把长度为1的子数组 合并、排序; (d) 把长度为2的子数组合并 阅读全文
posted @ 2018-12-03 13:40 轻抚丶两袖风尘 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 概要 AOP:Aspect oriented Programming 的缩写,意为:面向切面编程,通过预编译和运行期动态代理实现程序功能的统一维护的技术。主要包含有 Schema-based Aop,Spring Aop Api,AspectJ等。 主要功能:日志记录,性能统计,安全控制,事务处理, 阅读全文
posted @ 2018-11-10 15:04 轻抚丶两袖风尘 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 建立jdbc-config.properties 配置jdbcDriver-config.xml 在Main中调用输出一下,看能不能得到properties的值,如下是输出结果。 说明能够从资源文件中拿到指定的数据。 未完待续...... 阅读全文
posted @ 2018-11-07 17:45 轻抚丶两袖风尘 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: Bean管理的注解实现 ClassPath扫描与组件管理 类的自动检测与注册Bean <context:annotation-config/> @Component(通用注解)、@Repository(Dao层/持久层的注解)、@Service(服务层的注解)、@Controller(MVC控制层的 阅读全文
posted @ 2018-11-07 16:40 轻抚丶两袖风尘 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 概要 Bean中的装配,重点是:Bean配置项、Bean作用域、Bean生命周期、Bean的自动装配、Resources&ResourceLoader。 常用的配置项是:Id(IOC容器中的唯一标识)、Class(具体要实例化的类)、Scope(作用范围)、Constructor arguments 阅读全文
posted @ 2018-11-06 17:25 轻抚丶两袖风尘 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 概要 Spring诞生于解决企业应用开发的复杂性,通过不断的发展,运用越来越广,目前主要的功能有IOC(控制反转)、Bean、AOP(面向切面编程)、springFramework框架等。 spring的特点:①轻量级:在大小和开销两方面而言spring都是轻量的;②开发应用简单、方便、快捷;③为复 阅读全文
posted @ 2018-11-06 14:13 轻抚丶两袖风尘 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 概要 HotSpot虚拟机提供了很多垃圾收集器,每个垃圾收集器都有自己的特点,在JVM的垃圾收集器来说,没有最好的垃圾收集器,只有最适合的垃圾收集器,在不同的情况使用不同的垃圾收集器,效率不一样。 在新生代:Serial垃圾收集器,ParNew垃圾收集器,Parallel Scavenge垃圾收集器 阅读全文
posted @ 2018-11-05 09:20 轻抚丶两袖风尘 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 概要分析 java的自动内存管理包括:对象内存的回收和对象内存的分配。 在java虚拟机中的五块内存空间中.程序计数器,java虚拟机栈,本地方法栈的内存分配和回收都是具有确定性的,一般在编译时就能确定需要分配的内存大小,并且这三个空间都是线程私有的,他们在线程创建的时创建,线程销毁时而回收。在ja 阅读全文
posted @ 2018-10-31 11:59 轻抚丶两袖风尘 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 确定回收区域 在JVM的内存模型分为:程序计数器,JAVA虚拟机栈,本地方法栈,堆,方法区。 程序计数器,java虚拟机栈和本地方法栈都是每个线程专有的三个区域,但是这三个区域是确定的,会随着线程的创建而创建,会随着线程的消亡而消亡。java虚拟机栈和本地方法栈,他们会随着方法的开始而入栈,方法的结 阅读全文
posted @ 2018-10-30 17:44 轻抚丶两袖风尘 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 对象创建的过程 当虚拟机遇到一个包含new的指令时,会进行一系列对象创建的操作。 一个对象所需要的内存大小是这个对象所属类被定义完成就能确定的,并且一个类所生产的所有对象的内存大小一样的,JVM在一个类被加载进方法区的时候就知道该类所需要的大小空间。 对象内存模式 对象头 对象头中记录了对象在运行的 阅读全文
posted @ 2018-10-30 11:11 轻抚丶两袖风尘 阅读(114) 评论(0) 推荐(0) 编辑
摘要: shell的建立和执行 shell文档的建立直接使用vim就可以了,不过运行有多种方式。假设我们建的shell程序叫 test。 alias为字段增加别名,unalias取消别名。alias ll='ls -l'; shell特殊字符 *(星号):匹配任意字符的0次或者多次。f*--> f、fa、f 阅读全文
posted @ 2018-10-15 14:41 轻抚丶两袖风尘 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 概要 linux版本 linux有两种版本:发行版本和核心版本。核心版本主要是linux内核,官方版是由linus维护。 linux核心版本表示:major.minor.patchlevel。例如 2.2.11表示核心版本2.2的第11次修改。我们约定,minor为奇数时表示,该版本刚加入新的内容, 阅读全文
posted @ 2018-10-13 11:45 轻抚丶两袖风尘 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 概念 指针是什么?指针就是地址,众所周知,内存中的每个存储单元都有自己的地址,根据存储地址可以准确的找到该内存单元,所有通常把这个内存地址称为指针。所有指针就是实际地址。在c语言中,使用一个变量来存储指针,那么这个就是指针变量。 一个指针的值就是某个内存单元的地址(或者指针)。指针是指地址是一个常量 阅读全文
posted @ 2018-10-12 21:35 轻抚丶两袖风尘 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 一:字符数据的非格式化输入 数组的赋值方法 关于在有局部变量的地方使用全部变量的方法:在变量名前加::。 变量的存储类型 阅读全文
posted @ 2018-10-12 13:50 轻抚丶两袖风尘 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 线程安全 如果一个对象构造完成后,调用者无需要其他任何操作,就可以在多线程环境下随意使用,不会发生错误,那么这个对象就是线程安全的。 线程安全的类型 前提:如果对象不会操作共享变量,那么线程一定是安全的,所有在线程安全类型的前提就是,对象内部一定存在对共享内存的操作。 如果线程t1的操作过程中暂停, 阅读全文
posted @ 2018-09-24 10:32 轻抚丶两袖风尘 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 线程池的优势 线程池的实现原理 线程池由:工作线程队列和,阻塞队列构成。 工作队列:指一组已经处在运行中的队列,他们不断的在阻塞队列中领取任务。 阻塞队列:是用来存储来不及处理的任务。 创建线程池方法详解 corePoolSize:基本线程数量;表示线程池中运行的线程的数量值在这个上下波动。 max 阅读全文
posted @ 2018-09-23 10:58 轻抚丶两袖风尘 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Executors框架介绍 Executors框架其内部采用了线程池机制,他在java.util.cocurrent包下,通过该框架来控制线程的启动、执行、关闭,可以简化并发编程的操作。因此,通过Executors来启动线程比使用Thread的start方法更好,而且更容易管理,效率更好,还有关键的 阅读全文
posted @ 2018-09-22 12:28 轻抚丶两袖风尘 阅读(1151) 评论(0) 推荐(0) 编辑
摘要: 闭锁 CountDownLatch 多个线程,其中一个线程要求要前几个线程准备完所需的资源后才运行。 代码实现 同步屏障CyclicBarrier 若有多条线程,他们到达屏障时将会被阻塞,只有当所有线程都到达屏障时才能打开屏障,所有线程同时执行,若有这样的需求可以使用同步屏障。此外,当屏障打开的同时 阅读全文
posted @ 2018-09-21 11:04 轻抚丶两袖风尘 阅读(283) 评论(0) 推荐(0) 编辑