NIO简述概述java nio的核心有以下几部分组成: channels buffers selectors Buffer一个 Buffer 本质上是内存中的一块,我们可以将数据写入这块内存,之后从这块内存获取数据 关键的Buffer实现: ByteBuffer CharBuffer DoubleBuffer FloatBuffer IntBuffer LongBuffer ShortBuffer M 2018-03-27 IO #JavaIO
shiro总结概述Apache Shiro是一个安全验证框架,具有认证、授权、加密、会话管理、与Web集成、缓存等功能。 基本功能点如图所示: Authentication:身份认证/登录,验证用户是不是拥有相应的身份 Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有 2018-02-01 security #shiro
Spring-Data-Jpa基础用法概述JPAJPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopLink,JDO等O 2018-01-15 spring #spring-data
java泛型详解简介语法糖语法糖指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、内部类等。虚拟机并不支持这些语法,它们在编译阶段就被还原回了简单的基础语法结构,这个过程成为解语法糖。 泛型的好处 提高安全性: 将运行期的错误转换到编译期. 如果我们在对一个对象所赋的值不符合其泛型的规定, 就会编译报错 避免 2017-12-28 javaSE #javaSE
mysql连接查询与分组查询连表查询在项目中用的很频繁,今天在这里总结一下 假设两张表user: id name dept_iddept: id dept_name 交叉连接(cross join)交叉连接是一个笛卡尔积的结果,表1中每条数据都会跟表2中的数据联系起来。假t1有两条数据,t2有三条数据,那么 select * from t1,t2就会出现6条数据 内连 2017-12-13 mysql #mysql
mybatis使用(配置入门)概览原生jdbc缺陷原生jdbc十分繁琐,而且占位符不利于维护,缺点很明显 数据库使用时创建连接,不使用就释放,频繁的开启和关闭,十分浪费资源(使用数据库连接池管理连接) sql语句写在java代码中,不利于维护(将sql独立出来在xml文件中) preparedStatement设置参数,十分繁琐且不利于维护(将参数以及占位符也配置在xml中) 从resultSet中取得的数据需要遍历获得,很 2017-12-08 orm #mybatis
mysql基础数据类型创建mysql数据表的时候,通常会指定类型和长度,那么到底代表什么意思呢,每种类型最大长度又是多少,经过我的查阅资料和实验,把结果记录一下 tinyint、smallint等整型对于tinyint、smallint、mediumint、int、bigint等指定长度是没有意义的,后面那个length只是影响显示字符的个数,比如int(10),如果不足十位会补足0(zerofill),如果超 2017-12-07 mysql #mysql
springAOP的基本使用AOP概念AOP 要实现的是在我们原来写的代码的基础上,进行一定的包装,如在方法执行前、方法返回后、方法抛出异常后等地方进行一定的拦截处理或者叫增强处理.AOP是通过生成代理类来增强方法。 spring aop 它基于动态代理来实现。默认地,如果使用接口的,用 JDK 提供的动态代理实现,如果没有接口,使用 CGLIB 实现 Spring AOP 依赖 IOC 容器来管理 Spring AOP 只 2017-11-30 spring #springframework