TypechoJoeTheme

Clover 的博客

统计
登录
用户名
密码
/
注册
用户名
邮箱

CloverYou

日出于东却落于西,相识人海却散于席。
2022-01-02

29、Java包装类

29、Java包装类
Java中为8种基本数据类型又对应准备了8种包装类。8种包装类属于引用数据类型,父类是Object。如果有这么一种需求:调用doSome方法的时候要传一个数字,但是数字属于基本数据类型,而doSome方法参数的类型是Object。可见doSome方法无法接受基本数据类型的数字。public static void doSome(Object obj){ System.out.println(obj); }虽然doSome方法不能直接传int类型,但是可以传一个对应的包装类型public static void main(String[] args){ Integer myInt = new Integer(100); doSome(myInt); }8种基本数据类型对应的包转类:| 基本数据类型 | 包装类型 | | :----------: | :-----------------: | | byte | java.lang.Byte | | short | java.lang.Short...
CloverYou
2022-01-02

Java 基础

18 阅读
0 评论
2022年01月02日
18 阅读
0 评论
2022-01-02

28、Java StringBuffer进行字符串拼接

28、Java StringBuffer进行字符串拼接
在实际开发中,如果需要进行字符串的频繁拼接,会有什么问题?因为Java中的字符串是不可变的。每一次拼接都会产生新的 字符串。这样会占用大量的方法区内存,造成内存空间的浪费。String str = "Hello" + "World";以上代码就创建了三个String对象在方法区当中。Hello、World、HelloWorld使用StringBufferStringBuffer stringBuffer = new StringBuffer();字符串拼接,调用append方法stringBuffer.append("Hello"); stringBuffer.append("World");在String底层使用的是final修饰的byte[]数组存储字符串,而在StringBuffer底层,也是使用byte[],区别是它并没有使用final修饰。byte[]默认长度是16,在append方法中,如果追加的时候byte[]满了,会自动扩容底层代码public synchronized StringB...
CloverYou
2022-01-02

Java 基础

16 阅读
0 评论
2022年01月02日
16 阅读
0 评论
2022-01-02

27、Java String字符串的存储原理

27、Java String字符串的存储原理
String 表示字符串类型,属于引用数据类型,不属于基本数据类型。在Java中随便使用双引号括起来的都是String对象。例如:"abc","Hello Wold!",这是两个String对象。Java中规定,双引号括起来的字符串是不可变的,也就是说"abc"出生到最终死亡都是"abc",不能变成例如"abcd"在JDK中双引号括起来的字符串,例如"abc"都是直接存储在方法区的字符串常量池当中的。public class StringTest { public static void main(String[] args) { String str = "abc"; } }以上代码内存图方式表示 如果有字符串拼接,那么在内存图中该怎么表示?例如:String str2 = "abc" + "def";"abc"在字符串常量池中存在,那么拿到该字符串在常量池中的...
CloverYou
2022-01-02

Java 基础

11 阅读
0 评论
2022年01月02日
11 阅读
0 评论
2022-01-02

26、Java数组

26、Java数组
数组概述java 语言中的数组,是一种引用数据类型,不属于基本数据类型。数组的父类是Object。数组实际上是一个容器,可以同时容纳多个元素。数组是一个数据的集合。数组当中可以存储基本数据类型的数据,也可以存储引用数据类型的数据。数组因为是引用类型,所以数组对象是在堆内存当中。数组在内存中是怎样的一个表示?数组当中如果存储的是“Java对象”的话,实际上存储的是对象的“引用”数组一旦创建,在Java中规定,长度不可变。数组的分类一维数组二维数组三维数组多维数组所有的数组对象,都有length属性,用来获取数组中元素的个数。Java中的数组要求数组中元素的类型统一。数组在内存方面存储的时候,数组中的元素内存地址是连续的(存储的每一个元素都是有规则的挨着排序的)。内存地址连续这是数组存储元素的特点。数组实际上是一种简单的数据结构。数组中,每一个元素都是有下标的,下标从0开始,以1递增。最后一个元素的下标是:length - 1 下标非常重要,因为我们对数组中元素进行“存取”的时候,都需要通过下标来进行。数组中首元素的内存地址作为整个数组对象的内存地址。数组这种数据结构的优点和缺点是什...
CloverYou
2022-01-02

Java 基础

14 阅读
0 评论
2022年01月02日
14 阅读
0 评论
2022-01-02

25、Java 内部类

25、Java 内部类
匿名内部类:什么是内部类?内部类:在类的内部又定义了一个新的类。被称为内部类。内部类的分类:静态内部类:类似于静态变量class test { static class Inner{} }实例内部类:类似于实例变量class test { class Inner{} }局部内部类:类似于局部变量class test { public void doSome(){ class Inner{} } }使用匿名内部类编写的代码,可读性差,能不用就不用,例如:使用匿名内部类class Test { public static void main(String[] args){ MyMath m = new MyMath(); // 打印 200 + 300 = 500 m.mySum(new Compute(){ public int sum(int a, int b){ return a + b; } }, 200, 300); } } interface Compute { ...
CloverYou
2022-01-02

Java 基础

16 阅读
0 评论
2022年01月02日
16 阅读
0 评论
CloverYou
日出于东却落于西,相识人海却散于席。
88 文章数
11 评论量
IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 缓存一致性 - 点击领取
    2022-01-06
  2. 宝宝
    2022-01-02

标签云