java基础
caishi13202
一名标准的程序员,主要从事JAVAWEB相关的开发工作,平时喜欢打篮球,徒步。
展开
-
一篇文章彻底弄明白java中的二进制运算
在java中的二进制运算符有:<<(左移保留符号位), >>(右移保留符号位), >>>(右移,符号位也一起移动), ~(按位取反), ^(异或,相同为0,不同为1), &(逻辑与) ,|(逻辑或),下面我们就来一个一个解释一下。 在说二进制运算之前,我们先来了解一下原码,反码和补码的概念: 原码:第一位是符号位,0表示正数,1表示负数。其余3...原创 2018-09-30 20:14:47 · 3945 阅读 · 1 评论 -
Java 泛型 ? super T 中 super 怎么 理解与 ? extends T 有何不同?
首先说一下java泛型吧,泛型是Java SE 1.5的新特性,用来在编译时做类型检查的,并且会根据泛型类型自动进行类型转换,也就是说,泛型只在编译期起作用,主要是用来保证类型安全的,编译后的class文件中是不会包含泛型的,这个大家可以将class文件反编译过来看看。 <? extends T>和<? super T>表示java泛型中的上界和下界的概念,就是说<...原创 2018-12-04 20:42:24 · 467 阅读 · 0 评论 -
HashMap源码分析(基于JDK1.8)
看到网上对HashMap源码分析的文章很多,大部分概念都是对的,但是没有让人理解哈希表的本质,今天画了一些时间认真的看了一遍HashMap的源码,所以想写下这篇文章总结一下。 先来一张HashMap的底层数据结构图: 这张图大家是很熟悉的,HashMap底层就是一个Node<K, V> [] table,源码如下: //用来存key-value对象 transient No...原创 2018-12-06 16:38:31 · 170 阅读 · 0 评论 -
JAVA类实例化时,子类和父类中的构造方法,静态代码块,代码块和普通方法的调用顺序
通过这篇文章总结一下JAVA类实例化时,子类和父类中的构造方法,静态代码块,代码块和普通方法的调用顺序,首先编写两个测试类: 父类: public class Father { { System.out.println("父类代码块"); } static { System.out.println("父类静态代码块"); } ...原创 2019-02-18 17:13:36 · 1024 阅读 · 0 评论