2017年12月24日

JVM-类加载过程

摘要:一般来说,Java源代码(.java)经过编译器编译成字节码(.class)后,类加载器读取字节码文件,最终加载并转换成 java.lang.Class类的一个实例。 Java中的类加载器大致分为两种,一种是系统提供的,另外一种是Java开发者开发的。而系统提供的类加载器主要有三个: 引导类加载器( 阅读全文

posted @ 2017-12-24 19:05 骑着乌龟去看海 阅读(366) 评论(0) 推荐(0) 编辑

2017年12月10日

垃圾回收算法与 JVM 垃圾回收器综述(转)

摘要:垃圾回收算法与 JVM 垃圾回收器综述 我们常说的垃圾回收算法可以分为两部分:对象的查找算法与真正的回收方法。不同回收器的实现细节各有不同,但总的来说基本所有的回收器都会关注如下两个方面:找出所有的存活对象以及清理掉所有的其它对象——也就是那些被认为是废弃或无用的对象。Java 虚拟机规范中对垃圾收 阅读全文

posted @ 2017-12-10 17:45 骑着乌龟去看海 阅读(197) 评论(0) 推荐(0) 编辑

2017年12月3日

JVM-运行时数据区

摘要:JVM在运行Java代码时,会把内存分为几个模块即数据区来使用,数据区的内容如下图所示: 1. PC寄存器: JVM支持程序多线程执行。而操作系统的任务调度采用的是时间片轮询的抢占式调度方式,也就是说,某一个确定的时刻,一个处理器只能处理一条线程中的指令。因此,线程切换后如何恢复到原来正确的位置,便 阅读全文

posted @ 2017-12-03 16:48 骑着乌龟去看海 阅读(112) 评论(0) 推荐(1) 编辑

2017年11月28日

Java-单例模式

摘要:什么是单例模式? 单例对象的类必须保证只有一个实例存在; 单例模式要考虑的几个方面? 线程安全,延迟加载,序列化与反序列化安全 几种实现方式: 第一种:简单的懒汉或恶汉模式 第二种:方法上添加synchronized关键字,可以实现线程安全,但由于锁加在了方法上,性能较低; 第三种:双重检测机制 双 阅读全文

posted @ 2017-11-28 20:57 骑着乌龟去看海 阅读(65) 评论(0) 推荐(0) 编辑

2017年11月27日

Spring声明式事务

摘要:1. 首先spring声明式事务的实现是通过AOP来实现的。spring声明式事务有多种方式来声明,其中最常用的是使用Spring的tx命名空间和@transactional注解来实现。 2. 在spring XML配置文件中,使用tx命名空间来配置spring事务,当然,aop一般也是要声明的,因 阅读全文

posted @ 2017-11-27 20:55 骑着乌龟去看海 阅读(58) 评论(0) 推荐(0) 编辑

2017年11月26日

进程和线程

摘要:进程 大部分操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就 阅读全文

posted @ 2017-11-26 11:18 骑着乌龟去看海 阅读(68) 评论(0) 推荐(0) 编辑

2017年11月21日

分治算法

摘要:分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排 阅读全文

posted @ 2017-11-21 20:21 骑着乌龟去看海 阅读(113) 评论(0) 推荐(0) 编辑

2017年11月19日

MySQL-IN和Exists区别

摘要:1.in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。 exists()后面的子查询被称做相关子查询,它和in查询不同,in()后面的子查询 是返回结果集的;而exist 阅读全文

posted @ 2017-11-19 10:39 骑着乌龟去看海 阅读(59) 评论(0) 推荐(0) 编辑

2017年11月12日

Java-悲观锁和乐观锁

摘要:Java中的乐观锁与悲观锁; 1. Java中典型的synchronized就是一种悲观锁,也就是独占锁,不过JDK1.6之后对synchronized已经做了许多优化,也不能说是完全的悲观锁了; 2. 乐观锁是一种思想,即认为读多写少,遇到并发写的可能性比较低,所以采取在写的时候先读出版本号,然后 阅读全文

posted @ 2017-11-12 14:41 骑着乌龟去看海 阅读(202) 评论(0) 推荐(0) 编辑

Spring如何解析Dubbo标签

摘要:1. 要了解Dubbo是如何解析标签的,首先要清楚一点就是Spring如何处理自定义标签的,因为Dubbo的标签可以算是Spring自定义标签的一种情况; 2. Spring通过两个接口来解析自定义的标签:NamespaceHandler和BeanDefinitionParser接口;Namespa 阅读全文

posted @ 2017-11-12 10:26 骑着乌龟去看海 阅读(1627) 评论(0) 推荐(0) 编辑

导航