• 列表是线性有序的数据结构,它内部的元素是可以重复的,并且一个列表最多能存储2^32-1个元素。列表包含如下的常用命令: lpush/rpush:从列表的左侧/右侧添加数据; lrange:指定索引范围,并返回这个范围内的数据; lindex:返回...
  • GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方...
  • 整个过程开始于客户端发出的一个HTTP请求,Web应用服务器接收到这个请求。如果匹配DispatcherServlet的请求映射路径,则Web容器将该请求转交给DispatcherServlet处理。 DispatcherServlet接收到这个...
  • Spring容器管理Bean,涉及对Bean的创建、初始化、调用、销毁等一系列的流程,这个流程就是Bean的生命周期。整个流程参考下图: 这个过程是由Spring容器自动管理的,其中有两个环节我们可以进行干预。 我们可以自定义初始化方法,并在该方...
  • 建议按照如下顺序进行优化: 优化SQL和索引; 增加缓存,如memcached、redis; 读写分离,可以采用主从复制,也可以采用主主复制; 使用MySQL自带的分区表,这对应用是透明的,无需改代码,但SQL语句是要针对分区表做优化的; 做垂直...
  • 一、哪些内存需要回收 在Java内存运行时区域的各个部分中,堆和方法区这两个区域则有着很显著的不确定性:一个接口的多个实现类需要的内存可能会不一样,一个方法所执行的不同条件分支所需要的内存也可能不一样,只有处于运行期间,我们才能知道程序究竟会创建...
  • IO多路复用是一种高效的IO处理方式,它允许单个进程或者线程同时处理多个IO操作,在网络编程中,IO多路复用使服务器可以管理多个网络连接,不用为每个请求创建一个对应的线程,从而节省了资源并提高了效率 select: 1、select是最基本的IO...
  • HashMap在JDK1.7之前是数组+链表的形式,在JDK1.7之后是数组+链表或红黑树的形式,当链表长度超过8时,自动转换成红黑树 HaspMap put的时候先拿到扰动后的hashcode,然后用(n-1)&hash计算下标位置,判...
  • String类型的不可变是指一旦创建了一个字符串类型的对象,它的字符串内容就是不可变的 是如何实现的:String在源码中采用字符数组char[]来存储字符串内容,它是被fianl修饰的,所以它是不可变的,JDK1.9之后为了节省效率改成fina...