2017年6月

1. 疑问我们在项目中使用了spring mvc作为MVC框架,shiro作为权限控制框架,在使用过程中慢慢地产生了下面几个疑惑,本篇文章将会带着疑问慢慢地解析shiro源码,从而解开心里面的那点小纠纠。(1)在spring controller中,request有何不同呢?于是,在controller中打印了request的类对象,发现request对象是org.apache.shiro.web.servlet.ShiroHttpServletRequest ,很明显,此时的 request 已经被shiro包装过了。(2)众所周知,spring mvc整合shiro后,可以通过两种方...

阅读全部

Redis是一个速度非常快的非关系型数据库,它可以存储键与5种不同类型的值之间的映射,可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。Redis有5种不同数据结构类型之间的映射,分别为 STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列) 和 ZSET(有序集合)。 结构类型 结构存储的值 结构的读写能力 STRING 可以是字符串、整数或者浮点数 对整个字符串或者字符串的其中一部分执行操作;对整数和浮点数执行自增(increment)或者自减(decrement) LI...

阅读全部

如有如下GBK内码:-76, -13, -48, -51, -58, -5, -77, -75。在大部分情况下,我们无法将GBK内码直接显示,而需要转换成汉字。具体的转换过程如下:byte[] b = {-76, -13, -48, -51, -58, -5, -77, -75}; String s = new String(b,"GBK"); System.out.println(s);打印转换后的结果就是:大型汽车 

阅读全部

在Java中,有时候我们需要在有无符号数之间转换。byte 有符号转换无符号:byte b1 = -36; System.out.println(b1&0xff);byte 无符号转换有符号:// 方法一 byte b2 = (byte)276; System.out.println(b2); // 方法二 BigInteger b= new BigInteger("276"); byte b3= b.byteValue(); System.out.println(b3);说明:如果只需要对英文文本的每个字节进行数据处理,则无需考虑有符号数和无符号数的转换问题;但...

阅读全部