4 kimshell_

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 19w+

JDK动态代理原理

目录概念demo原理流程获取代理类的Class实例探究概念JDK动态代理与静态代理是相对的,静态代理是在编译期就确定了代理类和被代理类的关系,且生成代理类。而且静态代理要求被代理的接口必须有其实现,因为代理类实现接口方法实际上是调用接口实现类的方法实现的。而动态代理是在运行期利用JVM的反射机制生成代理类,这里是直接生成类的字节码,然后通过类加载器载入JAVA虚拟机执行。demo不做赘述,...

2019-11-06 17:20:08

Volatile实现原理

Volatile是轻量级的synchronized,在多处理器开发中保证了“共享变量”的可见性。Volatile如果得到合适的使用,可以比synchronized执行成本更低,因为它不会引起线程上下文的切换和调度。那么Volatile是如何保证可见性的呢?在汇编代码中,Volatile修饰的共享变量进行写操作时,会多一条**#Lock**前缀的指令。该指令在多核处理器下会影响两件事情:将当前...

2019-11-06 17:14:09

Oracle的递归查询

目录语法实例EXISTS和NOT EXISTS语法SELECT * from table_name start with 条件2 connect by 条件3 [where 条件1];条件1是对结果集的再筛选。条件2确定起始节点,可以确定多个起始节点,可以理解成查询出来的结果树的叶子节点或者根节点。条件3是连接条件,通过关键字prior指定上一条记录。实例我们称表中的数据存在父子关...

2019-08-15 19:21:19

Oracle 的 ROW_NUMBER() OVER()函数

目录语法数据实战语法ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)数据CREATE TABLE emp (empid NUMBER(9) ,deptid NUMBER(9) ,salary DECIMAL(10,2));INSERT INTO EMP VALUES (1, 10, 5500.00);INSERT INTO...

2019-08-15 19:20:10

linux搭建SVN服务器

@TOC(目录)说明此linux系统为阿里云服务器CentOS,所以操作完成后要记得开放SVN服务端口号安装# yum install -y apr-util# svnserve --version此时可能报错:svnserve: error while loading shared libraries: libaprutil-1.so.0: cannot open shared ...

2019-07-20 18:16:28

过滤器和借助过滤器实现登陆退出

目录概念单实例的登录自动登录退出概念单实例的如图所示,filter由Servlet容器加载web应用时创建并调用init(FilterConfig filterConfig),所以它是单实例的。注意普通Servlet的实例是在第一次访问时才由Servlet容器创建。而DoFilter((ServletRequest request, ServletResponse response, ...

2019-07-05 22:13:48

linux搭建SVN服务器

目录说明安装找不到libaprutil-1.so.0解决办法svn配置多个仓库说明此linux系统为阿里云服务器CentOS,所以操作完成后要记得开放SVN服务端口号安装# yum install -y apr-util# svnserve --version此时可能报错:svnserve: error while loading shared libraries: libapru...

2019-07-05 22:12:31

个人站点

kimshell

2019-07-05 22:07:56

Service层之泛型优化

在开发商城的过程中,发现在service层会重复的使用到增删改查这些功能。于是乎想到写一个BaseService来精简优化代码。首先我写了一个BaseService的接口,注意是泛型的,代码如下:public interface BaseService<T> { /** * 查询所有记录 * @param pageNum * @param l...

2019-04-01 22:09:29

二分搜索树

目录概念创建一个二分搜索树类添加元素查询先序遍历中序遍历后序遍历先序遍历的非递归实现概念二分搜索树是二叉树二分搜索树的每个节点的值->大于其左子树的每个节点的值,小于其右子树的每个节点的值。因此二分搜索树不包含重复节点。存储的元素具有可比较性。创建一个二分搜索树类public class BST<E extends Comparable<E>> { ...

2019-03-11 23:54:30

链表

介绍数据存储在节点中,与数组相比,是真正的动态,不需要考虑固定容量的问题;但是也因此使其不能随机访问。链表类创建一个链表类LinkList,在该类中创建一个私有类Node,该类中有两个公有属性e和指向下一个节点的next。public class LinkedList<E> { private Node head: private int size; ...

2019-03-04 23:17:03

循环队列

目录循环队列入队扩容出队循环队列如图,判断循环队列是否已满是根据队首front和队尾tail的关系。如果数组的最后一个位置已有元素,但是队首前面依然有空格也不表示队列已满。需要注意的是,我们需要空余出一个位置来,以图中为例,此时“tail+1= =front”,如果继续填入元素,那么tail==front,和判断队列是否为空——“front= =tail”就冲突了。因此当“tail+1= =...

2019-03-03 20:05:52

栈和队列

栈自定义栈的实现,我们复用前面写的动态数组类。先写一个栈的接口,接口内需要的方法分别是:进栈、出栈、栈顶元素、栈的长度、栈是否为空。public interface Stack<T> { void push(T e); T pop(); T peek(); int getSize(); boolean isEmpty();}然后写一实现...

2019-03-03 20:04:46

重写数组(2)——动态数组

目录增加数组大小减小数组大小增加数组大小前面当我们向数组中添加元素时,如果index==size,表示数组已满。if (size == data.length) { throw new IllegalArgumentException("Add is fail.Array is full");}现在可以考虑这样做,依然判断插入位置是否合法,但是当size等于数组长度时,自动为数...

2019-02-25 21:52:15

重写数组类

目录int类型数组修改为泛型int类型数组public class Main { public static void main(String[] args) { Array score=new Array(10); for(int i=0;i<8;i++){ score.addLast(i); } ...

2019-02-25 20:33:24

数据绑定和乱码过滤器

目录概念默认支持的数据类型支持简单的java数据类型pojo对象类型User类处理器登录页乱码过滤器集合类型index.jsp处理器json请求静态资源404json对象转json字符串前台向后台传递json字符串json字符串转json对象概念程序运行时,在处理器执行之前,处理器适配器把请求参数信息绑定到处理器的方法形参上。默认支持的数据类型HttpServletRequestHtt...

2019-02-25 20:32:07

springMVC注解开发

目录springmvc.xml配置文件参数类型和三种返回类型参数类型处理器示例1处理器示例2(返回类型)springmvc.xml配置文件<!--RequestMappingHandlerMapping:对使用了@RequestMapping的方法进行映射--><!--<bean class="org.springframework.web.servlet.mvc.m...

2019-02-25 20:31:03

通用mapper

目录对通用mapper的理解代码结构库表配置文件UserInfoMapper.javaUserInfoServiceImpl.java测试类对通用mapper的理解可以将通用mapper理解成一个工具,主要是学会使用它;注意是简化对单表的操作。代码结构库表配置文件在applicationContext会话工厂里配置通用mapper插件。<!--配置SqlSessionFa...

2019-02-25 20:29:33

Spring和Mybatis的整合

目录代码层次整合applicationContext.xmlUsersService.javaUsersServiceImpl测试类代码层次整合mybatis:dao层,操作数据库,需要单例的SqlSessionFactory工厂。spring:容器,管理对象。可以将SqlSessionFactory、事务、连接池以及mapper的动态代理交给spring来做。application...

2019-01-08 14:50:01

mapper动态代理和传递多参数

目录实现动态代理优点规范mybatis.xml加载映射文件接口:UsersMapper.classmapper文件:UsersMapper.xml测试类:MapperTest根据map查询接口mapper测试类传递多参数接口mapper测试类接口mapper测试类实现动态代理优点开发者只需声明mapper接口(也就是dao接口),无需声明接口的实现类,而由mybatis框架创建接口的代理对象...

2019-01-08 14:48:50

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。