![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
IT大白
初来乍到,请多关照。
展开
-
String str = new String("abc") 创建了几个对象?
1、以下代码创建了几个对象String str = new String("abc"); 创建了两个对象。 第一个对象是:"abc",存在于字符串池中;第二个对象:new String(),存在于堆(heap)中(堆专门用于存储对象)。2、以下代码创建了几个对象String str = "abc"; 创建了一个对象,这个对象是:"abc",存在于...原创 2019-03-14 14:25:27 · 2880 阅读 · 1 评论 -
Java中的堆(heap)和栈(stack)
在java中内存的占用主要分为四块:静态区、代码区、堆、栈。其中,堆和栈使用最多。1、静态区:内存在程序编译时就分配好的区域,主要存放一些静态变量(static的);2、代码区:存放程序方法的二进制代码,而且是多个对象共享一个代码空间区域;3、堆(heap):运行时数据区,主要存放new出来的一些对象和数组;4、栈(stack):主要保存一些基本的数据类型,和对象的引用变量;...原创 2019-03-12 14:41:34 · 340 阅读 · 0 评论 -
String、StringBuilder、StringBuffer的区别
一、介绍1、String:Java提供了String类来创建和操作字符串对象, String的值是不可变的,每次对String的操作都会生成新的String对象,导致程序效率低且浪费内存空间。//以下操作,是在常量池中创建了3个对象,分别是:"Hello"、" World"、"Hello World"String str = "Hello";st...原创 2019-03-27 11:18:26 · 185 阅读 · 0 评论 -
equals和==的区别
一、基础 Java当中所有的类,都继承于Object这个基类,Object中定义了一个equals方法,用来比较对象的内存地址,此时 == 的作用与 equals方法的作用是相同的。 但是,在一些类库(如:String、Integer、Date)中,equals方法被覆盖掉了,这些类库中的equals方法被用来比较对象的内容是否相同。 所以,对...原创 2019-03-27 14:48:52 · 325 阅读 · 0 评论