![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
Java基础知识
玄月沐影
there is plan, and there is work.
展开
-
HashMap的底层数组的容量为何一定要为2的整数次幂
我们先看下在初始化赋值HashMap长度的时候调用的方法 static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; n |= n >>> 16;原创 2021-04-06 09:30:59 · 445 阅读 · 0 评论 -
String StringBuffer 和 StringBuilder 的区别以及String为啥不可变
在jdk源码中 private final char value[]; final用来修饰一个类;此类不能被其他类所继承。如String类、System类、StringBuffer类 final用来修饰方法;此方法不可以被重写。如Object类中的getClass(); final用来修饰变量;此时的”变量“就称位一个常量 修饰属性可以考虑赋值的位置:显式初始化、代码块中初始化、构造器中初始化 final修饰局部变量:尤其是使用final修饰形参时,表明此形参是一...原创 2020-12-08 22:49:28 · 134 阅读 · 0 评论 -
字符型常量和字符串常量的区别
形式上:字符串常量是单引号引起的一个字符;字符串常量是单引号引起的一个字符;字符串常量是双引号引起的若干字符 含义:字符常量相当于一个整型值(ASCII 值),可以参与表达式运算;字符串常量代表一个地址值(该字符串在内存中存放位置) 占内存大小 字符串只占2个字节;字符串常量占若干字节(注:char在Java中占2个字节) Java要确定每种基本类型所占存储空间的大小。他们的大小并不像其他大多数语言那样随机器硬件架构的变化而变化。这种所占存储空间大小的不变性是Java程序比其他大多数语言编写的程序更具原创 2020-12-08 20:44:54 · 2595 阅读 · 1 评论