![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javase
hzau_itdog
努力,奋斗!
展开
-
java 关于 Integer初始化
代码片段:public class Demoo { public static void main(String[] args) { Integer s1=10,s2=10,s3=150,s4=150; System.out.println(s1==s2); System.out.println(s3==s4); }}反编译后:由上图可以看到当我们给一...原创 2019-02-26 16:55:36 · 2376 阅读 · 0 评论 -
Proxy创建代理对象源码解析(jdk1.8)
jdk代理和cglib代理动态代理的重要实现,今天就学习一下交流一下jdk代理 @CallerSensitive public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, ...原创 2018-03-30 10:59:48 · 597 阅读 · 0 评论 -
java注解的使用
注解目前非常的流行,很多主流框架都支持注解,而且自己编写代码的时候也会尽量的去用注解,一时方便,而是代码更加简洁。 注解的语法比较简单,除了@符号的使用之外,它基本与Java固有语法一致。Java SE5内置了三种标准注解: @Override,表示当前的方法定义将覆盖超类中的方法。 @Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Dep...原创 2018-11-30 16:59:33 · 90 阅读 · 0 评论 -
jdk1.8新特性
一、Lambda表达式1、Lambda表达式标准格式三要素1、一些参数2、一个箭头3、一些代码、 public static void main(String[] args) { // 匿名内部类 new Thread(new Runnable() { @Override public void run() { System.out.prin...原创 2018-12-17 23:26:34 · 107 阅读 · 0 评论 -
jdk1.8集合框架源码解析(一)Iterable
集合在Java中是比较重要的,在日常的使用中经常使用到,了解其底层源码,有利于我们更好的使用它,集合框架图:Iterable接口有三个方法 Iterator<T> iterator(); default void forEach(Consumer<? super T> action) { Objects.requireN...原创 2019-01-02 11:57:59 · 550 阅读 · 0 评论 -
jdk1.8集合框架源码解析(二)Collection
Collection 是集合的顶层接口,相比于1.7有些许变化下面看下Collection接口的继承关系public interface Collection<E> extends Iterable<E>public interface Collection<E> extends Iterable<E> { //集合大小 ...原创 2019-01-03 15:47:02 · 327 阅读 · 0 评论 -
jdk1.8集合框架源码解析(三)List、Set、Queue源码解析
List 是有序集合的顶级接口,Set是无序集合的顶级接口,Queue是队列的顶级接口List源码解析public interface List<E> extends Collection<E> { // Query Operations int size(); boolean isEmpty(); boole...原创 2019-01-03 17:05:18 · 284 阅读 · 0 评论 -
jdk1.8集合框架源码解析(四)ArrayList源码解析
ArrayList是我们日常开发中最常用的集合类甚至没有之一,了解其底层源码非常重要,以下源码基于jdk1.8.0_144版本一、ArrayList的数据结构集合框架数据结构是其灵魂,理解数据结构才能更好理解ArrayList的实现思路。ArrayList的数据结构如下:ArrayList其底层是一个动态数组,存储的元素是所有对象即Object,下面看ArrayList是...原创 2019-01-04 12:05:00 · 443 阅读 · 3 评论 -
jdk1.8集合框架源码解析(五)LinkedList源码解析
一、LinkedList数据结构LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。他的数据结构如下:二、LinkedList的继承体系public class LinkedList<E> extends AbstractSequentialList<E> implements List&...原创 2019-01-07 16:12:04 · 363 阅读 · 0 评论 -
jdk1.8集合框架源码解析(六)HashMap源码解析
对散列表的说明HashMap是散列表,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,散列表能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是依据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值(key)映射到表中一个位置来访问记录(value),以加快查找的速度。这...原创 2019-01-08 19:15:54 · 337 阅读 · 0 评论 -
Arrays.asList注意事项
方法源码: public static <T> List<T> asList(T... a) { return new ArrayList<>(a); }asList接受的是一个泛型类型的参数,再构造了一个ArrayList。然而基本类型是不支持泛型化的,但是数组支持,所以采用基本类型的数组转化后是将数组放入了构造...原创 2019-01-18 10:42:17 · 208 阅读 · 0 评论 -
Java 8 Optional 类的使用
一、前言Optional 类是jdk1.8的新特性,使用其能更优雅的处理null值二、方法序号 方法 & 描述 1 static <T> Optional<T> empty() 返回空的 Optional 实例。 2 boolean equals(Object obj) 判断其他对象是否等于 Optional...原创 2019-01-29 17:13:59 · 173 阅读 · 0 评论 -
解决方案:Invalid character found in the request target. The valid characters are defined in RFC 7230
报错信息如下:从错误日志中看到Error parsing HTTP request header负责解析http请求的是org.apache.tomcat.util.http.parser.HttpParser,它对请求对URL中对字符做了限制,具体代码如下:IS_NOT_REQUEST_TARGET[]中定义了一堆not request target转换过来就是以下字符...原创 2019-09-03 15:02:36 · 4882 阅读 · 1 评论