java
文章平均质量分 82
linzhuowei0775
这个作者很懒,什么都没留下…
展开
-
类加载器
类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一起确立其在Java虚拟机中的唯一性。也就是说,比较两个类是否相等,只有在这两个类是由同一个类加载加载的前提之下才有意义,否则,即使是这两个类是来源于同一个Class文件,只要它们分别由两个不同的加载器加载,那这两个类就必定不相等。1、双亲委派模型原创 2015-11-07 12:14:49 · 282 阅读 · 0 评论 -
缓存淘汰算法--LFU算法
1. LFU类1.1. LFU1.1.1. 原理LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。1.1.2. 实现LFU的每个数据块都有一个引用计数,所有数据块按照引用计数排序,具有相同引用计数的数据块则按照时间排序。具体实现如下:转载 2016-01-05 22:46:21 · 483 阅读 · 0 评论 -
缓存淘汰算法--LRU算法
1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓存命中(即缓存数据被访问),则将数据移到转载 2016-01-05 22:44:15 · 392 阅读 · 0 评论 -
Class类文件的结构
JAVA实现平台无关性的基础是虚拟机和字节码存储格式,使用Java编译器可以把Java代码编译为存储字节码的Class文件,使用JRuby等其他语言的编译器一样可以把程序代码编译成Class文件,虚拟机并不关心Class的来源是什么语言,只要它符合Class文件应有的结构就可以在Java虚拟机中运行。 Java语言中的各种变量、关键字和运算符号的语义最终都是由多条字节码命令组合而原创 2015-11-01 10:56:02 · 2405 阅读 · 0 评论 -
JNI编程
1、JNI简介 JNI是Java调用Native机制,是Java语言自己的特性全称为Java Native Interface,JNI是java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地原创 2015-11-21 11:55:21 · 542 阅读 · 0 评论 -
利用JNotify和EHCache实现静态文件缓存
介绍 JNotify:http://jnotify.sourceforge.net/,通过JNI技术,让Java代码可以实时的监控制定文件夹内文件的变动信息,支持Linux/Windows/MacOS;EHCache:http://ehcache.org/,一个广泛使用的Java缓存模块,可以做使用内存和文件完成缓存工作。 在Java Web项目中,为了提高WEB应用的响应速度,可以把转载 2015-10-14 22:54:02 · 723 阅读 · 0 评论 -
java缓存技术
最近在做java缓存,了解了一下.以下仅是对map对方式讨论。没有对点阵图阵讨论。作缓存要做以下2点: 1:清理及更新缓存时机的处理: . 虚拟机内存不足,清理缓存 .. 缓存时间超时,或访问次数超出, 启动线程更新2:类和方法的反射 (线程嵌套调用) reflect.invoke的使用。代码如下:package atest.hiyaCach转载 2015-10-14 22:36:18 · 418 阅读 · 0 评论 -
JVM垃圾回收机制
原文地址:http://my.oschina.net/shootercn/blog/15393一、相关概念基本回收算法引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)此算法执转载 2015-11-08 17:29:47 · 320 阅读 · 0 评论 -
JVM运行时的内存区域
Jvm虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。在讨论JVM内存区域划分之前,先来看一下JVM的逻辑内存模型:1.程序计数器 程序计算器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条所需要执行的字节指原创 2015-11-08 09:56:07 · 492 阅读 · 0 评论 -
JVM类加载机制
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言里,类型的加载和连接过程都是在程序运行期间完成的,这样会在类加载时稍微增加一些性能开销,但却能为java应用程序提供高度的灵活性,Java中天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。1、类加载的时原创 2015-11-05 22:18:38 · 726 阅读 · 0 评论 -
jfinal整合Hibernate-validator校验框架
做服务器开发时,我们接收到前端传来的参数都需要进行校验,判断参数是否合法,现在基本都是采用最傻逼且最苦逼的方法,就是在每个函数里都进行参数校验,但是有很多相同的参数都要在不同函数里重复出现校验的代码,比如用户注册时需要校验手机号码、密码、年龄和验证码;用户登录时需要校验手机号码和密码,用户修改信息时需要校验年龄,于是乎,每个请求方法里都相同的校验判断语句,如图: 反复复制粘贴相同原创 2016-10-29 14:34:41 · 1576 阅读 · 2 评论