plentymore

告诫♂之心

ClassLoader资源加载机制

Java的类加载器(ClassLoader)不仅可以加载类,还可以加载资源(文本文件,图片,视频等各种文件资源)。 三个重要的类加载器在Java中,一般有三个类加载器, Bootstrap Class Loader,ExtClassLoader 和 AppClassLoader。 Bootstr..


HTTP消息格式

这篇博客的主要目的是对HTTP的消息格式(主要是请求端和响应端的格式)进行总结。 Request请求端的消息格式如下: Request line, such as GET /logo.gif HTTP/1.1 Headers 比如Host : www.google.com(从HTTP/1.1..


使用VPS下载bt资源

迅雷无法下载一些bt资源,而且迅雷没有Linux版,用别的bt下载软件来下载的话因为没有公网ip所以速度比较尴尬,刚好手上有几台vps,有公网ip,而且每个月剩下900多G流量用过不完,刚好可以用来下载这些资源。 安装dockerdocker的安装可以参考我的另一篇博客 编写docker-coc..


Java Map接口常用实现类

Map用来存储key-value(键值对),它是Java集合框架的一部分。 接口public interface Map<K,V> { // Query Operations // Map中的键值对数量 int size(); // Map是否为空,即没有..


Java Dueue接口常用实现类

Deque表示双向队列,可以从队首或者队尾插入元素。 接口public interface Deque<E> extends Queue<E> { // 添加元素到队列头部,如果添加失败,则抛出异常 void addFirst(E e); // 添加..


Java Queue接口常用实现类

Queue表示队列,在Java中,一般是FIFO(先进先出)的队列,但也有不是先进先出的队列,比如优先级队列 接口public interface Queue<E> extends Collection<E> { // 添加一个元素到队列,在先进先出队列中..


Java Set接口常用实现类

Set拓展了Collection接口,表示不包含重复元素的集合。 接口Set的方法基本上全是从Collection继承的,没有增加新的方法,不过因为Set不包含重复元素,所以它的add方法有自己的含义(当集合中已经有相同的元素时,则添加失败)。public interface Collectio..


Java List接口常用实现类

List可以包含重复元素的有序集合,它可以使用下标访问集合里面的元素,List也被称为顺序表 接口public interface List<E> extends Collection<E> { // 往集合里面添加一个元素,添加到集合的最后面 bo..


Java集合框架

Java集合框架(Java Collections Framework)是用来操纵和表示集合的统一框架,该框架包含三个要素:接口,实现,算法 接口 Java集合框架里面的接口是分级的,具体如上图,Collection是最顶层的接口,它定义了最基本的集合操作,Collection有4个子接口,分别..


Java线程池原理

Java线程池主要是为了复用宝贵的线程资源,其相关接口和具体实现在java.util.concurrent包下。 主要接口ExecutorExecutor是Java线程池的顶层接口,它只有一个execute方法void execute(Runnable command); Executor的作用..


IDEA查看Java的sun包下的源码

由于JDK的src.zip里面没有sun包的源码,所以要在IDEA里面查看sun包下的源码的时候只能看到通过反编译得到的代码,反编译得到的代码没有注释,而且很多局部变量名都变成了var1,var2这样子,看起来不太舒适。如果只是想随便看一看,可以直接在github或者OpenJDK上查看,但是这..


Spring @EnableAsync 注解原理

@EnableAsync注解是用来开启Spring的异步功能的,一般在方法上加上@Async注解,就可以让这个方法变成一个异步方法(其实就是用线程池的其中一个线程来运行这个方法),前提是要使用@EnableAsync注解开启Spring的异步功能。Spring的异步功能使用起来非常简单,但是这个..


Spring IoC原理

Spring的核心是它的IoC(控制反转)容器和AOP(面向切面编程),Spring与其它类库的整合(比如Spring事务,Spring Data JDBC等)大部分都是在建立在这两个功能的基础上的。在使用Spring的IoC容器的时候,在类上面加几个注解就可以了,用起来非常的简单,具体的原理我..


spring-boot自动配置原理

效率对比Spring Boot的出现是为了简化Spring集成的项目(还有一些常用的第三方类库)的配置,在原本的Spring集成的项目中(比如spring-web,spring-data-jdbc等),无论是基于注解的配置还是基于xml的配置,你都需要进行很多的配置才能正常使用。比如spring..


SpringMVC原理浅析

SpringMVC的原理是把DispatcherServlet作为中央Servlet来处理请求(一般情况下所有请求都会被匹配到DispatcherServlet,因为它的servletMapping一般都是设置为/,而且不会配置其它的有servletMapping的Servlet,jsp Ser..


SpringMVC DispatcherServlet的创建流程

在spring-mvc里面,一般所有的请求都会被匹配到DispatcherServlet,然后由它调用相应的Interceptor,Hnadler处理请求(Filter是在Servlet之前执行的),因此DispatcherServlet可以说是spring-mvc里面很核心的一个东西,下面我们..