03 2017 档案

摘要:调用栈里的引用类型数据是GC的根集合(root set)的重要组成部分;找出栈上的引用是GC的根枚举(root enumeration)中不可或缺的一环。 JVM选择用什么方式会影响到GC的实现: 如果JVM选择不记录任何这种类型的数据,那么它就无法区分内存里某个位置上的数据到底应该解读为引用类型还 阅读全文
posted @ 2017-03-31 18:28 刘尊礼 阅读(199) 评论(0) 推荐(0)
摘要:1.对象的创建 虚拟机遇到一条new指令,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过,如果没有,那必须先执行相应的类加载过程。 在类加载检查通过后,将为新生对象分配内存。为对象分配空间的任务等同于把一块确定大小的内存从jav 阅读全文
posted @ 2017-03-31 15:09 刘尊礼 阅读(553) 评论(0) 推荐(0)
摘要:运行时内存区域 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 每条线程都需 阅读全文
posted @ 2017-03-31 11:19 刘尊礼 阅读(435) 评论(0) 推荐(0)
摘要:场景如下: 用户账户有余额,当发生交易时,需要实时更新余额。这里如果发生并发问题,那么会造成用户余额和实际交易的不一致,这对公司和客户来说都是很危险的。 那么如何避免: 网上查了下,有以下两种方法: 1、使用悲观锁 当需要变更余额时,通过代码在事务中对当前需要更新的记录设置for update行锁, 阅读全文
posted @ 2017-03-07 11:51 刘尊礼 阅读(4531) 评论(0) 推荐(0)
摘要:Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 从上图中可以看出 Spring 框架中的核心组件只有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。没有它们就不可能有 AOP、 阅读全文
posted @ 2017-03-03 17:32 刘尊礼 阅读(119) 评论(0) 推荐(0)
摘要:BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 ApplicationContext接口,它由BeanFactory接口派生而 阅读全文
posted @ 2017-03-03 16:08 刘尊礼 阅读(90) 评论(0) 推荐(0)