摘要:
Redis详解(四)——删除策略
Redis中的数据特征
Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令来获取其状态,当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
数据删除... 阅读原文
2020-02-03 20:27:05 阅读(3597) 评论(0)
摘要:
1. 背景介绍
基于Http的无状态问题,我们在浏览网页并登陆某一个网点进行一次会话操作时,浏览器并不能知道是哪个客户端访问请求,传统的解决方法是在地址栏中添加url参数向下一个页面传送用户信息,但是这样多个参数传递比较麻烦,而且通过get方式传递url请求参数并不安全,容易被抓包造成信息安全问题。而对应... 阅读原文
2020-02-03 19:00:19 阅读(2590) 评论(0)
摘要:
上篇我们分析了ArrayList的底层实现,知道了ArrayList底层是基于数组实现的,因此具有查找修改快而插入删除慢的特点。本篇介绍的LinkedList是List接口的另一种实现,它的底层是基于双向链表实现的,因此它具有插入删除快而查找修改慢的特点,此外,通过对双向链表的操作还可以实现队列和栈的功能。L... 阅读原文
2020-02-03 16:47:02 阅读(2411) 评论(0)
摘要:
文件上传
(1)下载添加2个jar包
commons-fileupload.jar
commons-io.jar
SpringMVC的文件上传依赖于Apache的FileUpload组件,需要下载添加2个jar包,下载地址:
http://commons.apache.org/proper/commo... 阅读原文
2020-02-03 12:45:02 阅读(2640) 评论(0)
摘要:
Redis详解(三)——事务
Redis事务的概念:
Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。
总结说:redis事务就是一次性、顺序性、排... 阅读原文
2020-02-03 11:55:04 阅读(2738) 评论(0)
摘要:
结构:
Spring和Hibernate整合借助于HibernateTemplate
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springfram... 阅读原文
2020-02-03 10:27:03 阅读(2454) 评论(0)
摘要:
java流程控制要点
一、java7增强后的switch
switch语句后面的控制表达式的数据类型只能是byte、short、char、int四种整数类型,不能是boolean类型,java7以后允许枚举类型和java.lang.String类型。
二、循环结构控制
java提供了c... 阅读原文
2020-02-02 22:07:01 阅读(2605) 评论(0)
摘要:
拦截器主要用于拦截用户请求,并做相应的处理,十分常用。
拦截器的常见用法:
判断用户是否登录。比如购物网站用户将商品添加到购物车时,用拦截器判断用户是否登录,如未登录,则不能将商品添加到购物车(转到登录页面)。
进行权限验证。验证已登录的用户是否有相应的操作权限。
记录请求信息的日志。
... 阅读原文
2020-02-02 20:56:01 阅读(3642) 评论(0)
摘要:
本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的缺陷,就是在初始化时必须指定数组大小,并且在后... 阅读原文
2020-02-02 19:37:01 阅读(2688) 评论(0)
摘要:
本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,是这本书的读书笔记。
jstack命令可以打印Java进程的各个线程堆栈跟踪信息,可以用来查看Java中各个线程的执行情况,可以用来定位和解决死循环和死锁导致的CPU飙高的问题。
所有的JDK工具都可以在Oracle官网的 J... 阅读原文
2020-02-02 19:11:02 阅读(3567) 评论(0)