- 博客(9)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 学习JVM(垃圾收集和内存分配)
虽然Java的垃圾回收机制已经十分优秀,但是为了出现问题时,调试优化更容易,这里继续学习垃圾收集器和相关内存分配。由于程序计数器、虚拟机栈、本地方法栈生命周期岁线程变化,因此是类结构确定下来时就已知的。因此这几个区域的内存分派和回收都是确定的,不需要过多的考虑回收问题。一、如何判断对象死亡1、 引用计数算法当有一个地方引用该对象,计数器+1,当引用失效,计数器-1。任何时刻计数器
2017-04-30 13:05:17 312
原创 学习JVM(Java内存管理和OOM)
学习JVM首先要关注虚拟机运行时的内存分布和内存管理,这样在遇到OOM时才能调试相应的参数获得解决办法。一、内存区域:以上图为概要,一一介绍各个内存区域:1、 程序计数器:是一块较小的内存空间,它可以看作当前线程所执行额字节码的行号执行器。简单地说,计数器内记录值是字节码的位置,而记录值的变化则决定了程序执行的流程(变化地看一段字节码到另一端字节码就是程序的跳转)此内
2017-04-30 10:51:22 397
原创 Spring--事务小结
Spring为我们提供了非常方便的事务管理,在不需要了解不同持久层事务处理的情况下,使用配置或注解的方式实现了事务的统一管理。这也就体现了之前所说的Spring核心AOP功能的作用。而为了更好的使用Spring事务管理,需要了解以下知识:一、数据库事务相关基础知识1、 何为事务最简单的话就是,事务内的多个SQL语句,在事务提交时,要么都成功,要么都失败。必定是一个整体。事务的四个特性
2017-04-22 11:25:31 327
原创 Spring AOP小结
Spring作为一种web开发最常用的框架之一,其简化开发,松耦合都是我们选择它的原因,而作为Spring的核心---Spring AOP(Aspect Oriented Porgraming)面向切面编程更是重中之重。因此本文将对AOP以本人的理解重新阐述一遍,以便自己和读者理解。如有差错,万望指出。一、 AOP到底是什么?作用是什么?按照软件重构的思想,如果多个类
2017-04-16 13:57:34 269
原创 iconfont使用简易教程
因为自己的项目中需要使用图标,而本人不擅长前端。因此了解到阿里的iconfont矢量图标是一个不错的图标库。下文介绍最简易,通用的使用图标方式以便参考。1、 寻找适用的图标官方网址:http://www.iconfont.cn/ 找到需要的icon以为例,添加入库。1、 生成代码:点击右上角购物车图标点击下载代码,得到zip包,解压即可获得需要的文件。
2017-04-12 11:33:44 28273 3
原创 Java代理模式(cglib代理)
java提供的基于Proxy、InvocationHandler的动态代理由于只能创建接口的代理对象,在实际应用中不能很好的满足需要,针对这个问题,另外一个开源框架cglib提供了一种实现方式,可以针对类进行代理对象的创建。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLi
2017-04-07 16:22:41 318
原创 Java代理(JDK动态代理)
对于静态代理,如果接口发生改变,那么代理类和原始对象都要发生改变。而且每一个原始对象都需要一个代理类完成代理操作。因此类数目会相当多。因此使用jdk动态代理时,动态代理类始终只有一个invoke方法,当接口发生改变时,动态代理的接口不用随之改变。但是要求目标对象必须实现接口,因为它创建代理对象的时候是根据接口创建的。如果不实现接口,jdk无法给目标对象创建代理对象。动态代理现在只能代理接口
2017-04-07 14:48:55 229
原创 Java代理模式(静态代理)
代理模式是通过创建一个代理对象,使用这个代理对象代替实际对象。对于客户端而言,得到代理对象于操作而言没有任何影响。当客户端操作代理对象时,实际上操作会由实际对象完成。即客户端操作代理对象,代理对象操作实际对象,而代理对象在操作实际对象时,可以添加额外的操作实现懒加载,权限限定等一系列额外操作。代理分类:1、 虚代理:根据需要创建开销很大的对象,而该对象只有在真正需要的时候才会被真正创
2017-04-07 13:22:17 228
原创 Hibernate缓存机制详解
Hibernate中,缓存机制将对象保存在内存中而非每次都访问数据库无疑大大提高了程序的运行性能。因此此篇博文旨在总结Hibernate的缓存机制,希望在项目中或者面试提问中能够有所帮助。一、 缓存作用Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应
2017-04-05 17:08:42 585
有关于安卓ota升级差分
2018-04-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人