- 博客(6)
- 收藏
- 关注
转载 第二章 身份验证
1、身份验证,即在应用中谁能证明他就是本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。在shiro中,用户需要提供principals(身份)和credentials(证明)给shiro,从而应用能够验证用户身份:principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,
2014-02-28 15:49:48 886
原创 volatile变量的运算在并发下一样是不安全的
下面是一段volatile变量自增元算测试:/** * @title VolatileTest.java * @description volatile变量自增运算测试 * @date 2014-02-28 11:48 * @author lichunan * @version 1.0 */public class VolatileTest { public static vo
2014-02-28 12:34:49 1071
转载 第一章 Shiro简介
1.1 简介Apache Shiro是java的一个安全框架。目前使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。Shiro可以非常容易的开发出足够好的
2014-02-25 17:36:02 500
原创 Java堆溢出
Java堆用于存储对象实例,我们只要不断地创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,就会在对象数量到达最大堆的容量限制后产生内存溢出异常。 以下代码中限制Java堆的大小为20M,不可扩展(将堆的最小值-Xms参数与最大值-Xmx参数设置为一样即可避免堆自动扩展),通过参数-XX:-HeapDumpOnOutOfMemoryError可以让虚
2014-02-19 18:14:02 641
转载 Oracle存储过程
一、存储过程1、定义所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。2、存储过程的创建Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。(一)无参存
2014-02-10 11:27:05 701
转载 LRU算法
LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU算法就是将最近最少使用的页面予以淘汰。可以用一个特殊的栈来保存当前正在使用的各个页面的页面号。当一个新的进程访问某页面时,便将该页面号压入栈顶,其它的
2014-02-08 15:53:57 571
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人