不可变对象和类 由不可变类创建的对象就是不可变对象,要使一个类成为不可变的,它必须满足下面的需求: 所有数据域都是私有的 没有修改器方法 没有一个访问器的方法,它会返回一个指向可变数据域的引用 看下面的代码: public class Main { public static void main(String args[]) { Student student = new Student(11222333, "John"); java.util.Date dateCreatedDate…
1.粗粒度权限设计与细粒度权限设计 粗粒度(Coarse-graind) 表示类别级,即仅考虑对象的类别(the type of object),不考虑对象的某个特定实例.比如,用户管理中,创建.删除,对所有的用户都一视同仁,并不区分操作的具体对象实例. 粗粒度权限管理比较容易将权限管理的代码抽取出来在系统架构级别统一处理(shiro).对于web系统,通过filter过虑器实现url拦截,也可以使用springmvc的拦截器实现基于url的…
今天写SpringMvc时,遇到这样一个问题: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config at org.springframework.web.servlet.support.JstlUtils.exposeLocalizationContext(JstlUtils.java:101) at org.springframework.web.servlet.view.JstlView.exposeHelpe…
java中的扩展运算符为+=.-=./=.%=.*= 当使用扩展运算符时,变量在参与赋值运算时会把结果自动强制转换为当前变量的类型,比如: public class Test{ public static void main(String[] args) { short a = 1; //此时的a是short类型 a += 1; System.out.println(getType(a)); } public static String getType(Object obj) { return…