java基础
文章平均质量分 67
java基础面试题
_TokaiTeio
大二学生,计算机之路学无止境,与君共勉
展开
-
Java中的==与equals的区别
首先,==是运算符,equals()是方法。 ==是一个二元运算符,用于比较两个对象的引用是否相同。当使用==进行比较时,Java会检查两个对象的内存地址是否相同。如果两个对象的内存地址相同,则认为它们是相同的。 equals()是一个方法,用于比较两个对象的值是否相同。当使用equals 进行比较时,Java会比较两个对象的属性或内容是否相同。如果两个对象的属性或内容相同,则认为它们是相同的。原创 2024-04-20 20:24:58 · 517 阅读 · 0 评论 -
Java中String为什么不可变,这样有什么好处
在Java中,字符串(String)是不可变的,这意味着一旦创建了一个字符串对象,它的内容就不能再被修改。这个设计决策是由Java的创始人詹姆斯·高斯林(James Gosling)做出的,主要是出于内存管理和性能考虑。原创 2024-04-22 21:30:17 · 570 阅读 · 0 评论 -
JVM(Java虚拟机)功能特点、垃圾回收机制
垃圾是指在运行程序中没有任何引用指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。原创 2024-04-23 19:33:15 · 1650 阅读 · 0 评论 -
Java–String, StringBuffer, StringBuilder的区别
在 Java 中,String类型的对象是不可变的,这意味着一旦创建了一个String对象,它的值就不能再被修改。这是因为String对象的value数组是final类型的,这意味着它的值不能被改变。因此,每次对String对象进行操作时,都会创建一个新的对象,而不是修改原始对象。当一个线程需要访问或修改一个String对象时,它会首先获取该对象的锁。其他线程在等待锁的过程中会处于阻塞状态。当锁被释放后,其他线程可以继续执行。由于String对象的值是不可变的,因此在多个线程中共享一个String。原创 2024-04-21 12:06:09 · 381 阅读 · 1 评论