刘秋宇
刘秋宇
全部文章
JavaSE
# Java Virtual Machine(5)
# LeetCode题解(Java版)(1)
# 专业程序员(12)
# 软件设计之道(5)
Basic Knowledge(18)
MySQL(8)
软考高级(1)
归档
标签
去牛客网
登录
/
注册
刘秋宇
没有理论指导的实践是盲目的实践,不与实践相结合的理论是空洞的理论。
全部文章
/ JavaSE
(共18篇)
【JavaSE】浅谈抽象类与接口
从程序设计的角度看, 抽象类可以提高代码的可重用性降低耦合度,作用于程序内部; 接口可以隐藏程序实现的细节,侧重于暴露功能,是程序内部和外部交互的桥梁。 从语法的角度看, JDK1.8前后,抽象类与接口中的方法默认访问权限: 抽象类: JDK 1.8以前,抽象类的方法默认访问权限为prote...
2022-06-15
0
228
【JavaSE】String, StringBuffer,StringBuilder的区别(源码级详解)
Java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。 现在总结一下,看看他们的不同与相同。 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知...
2022-06-15
0
260
【JavaSE】谈谈HashCode的作用
Java的集合有两类 一类是List,还有一类是Set。前者有序重复,后者无序不重复。 当我们在set中插入的时候怎么判断是否已经存在该元素呢? 可以通过equals方法。但是如果元素太多,用这样的方法就会比较慢。 于是有人发明了哈希算法来提高集合中查找元素的效率,这种方式将集合分成若干个存...
2022-06-15
0
245
【JavaSE】浅谈String、StringBuffer、StringBuilder的区别
String为什么不可变? 虽然String、StringBuffer和StringBuilder都是final类, 它们生成的对象都是不可变的,而且它们内部也都是靠char数组实现的,但是不同之处在于, String类中定义的char数组是final的,而StringBuffer和String...
2022-06-15
0
184
【JavaSE】从设计的角度谈一谈,String为什么要设计成不可变?
String不可变的原因包括设计考虑,效率优化问题以及安全性这三大方面 。 设计考虑 只有当字符串是不可变的,字符串池才有可能实现。 字符串池的实现可以在运行时节约很多heap空间,因为不同的字符串变量都指向池中的同一个字符串。 但如果字符串是可变的,那么String interning将不能实...
2022-06-15
0
231
【JavaSE】浅谈ArrayList和LinkedList的区别
ArrayList和LinkedList的区别 (1)两者都继承了List,Collection接口,但Linkedlist还继承了Queue接口. (2)两者都是线程不安全的. (3)扩容机制: Arraylist是动态扩容机制,初始容量为10,扩容机制为1.5倍。初始最大容量为Integer...
2022-06-15
0
262
【JavaSE】详解HashMap与HashTable区别
Java在数据结构中的映射定义了一个接口java.util.Map。 Map包含三个实现类HashMap、Hashtable、TreeMap。 Map是用来存储键对值<K,V>(索引为对象key K,值为对象value V)的数据结构。 HashMap (1)由数组+链表组成的,基于哈希...
2022-06-15
0
238
【JavaSE】聊一聊Java的四种引用——强软弱虚
Java的四种引用:强软弱虚。 Java中的数据被类型分为了两类,它们分别是基本类型和引用类型。 一般我们new出来的对象都属于引用类型的范畴。 我们知道Java是有垃圾回收机制的一种语言, 根据垃圾回收时的策略,Java将对于堆对象的引用又进行了细分, 引用被分为了强引用,软引用,弱引用和虚引用。...
2022-06-15
0
291
【JavaSE】谈谈Java创建对象的几种方式
Java创建对象有几种方式? 使用New关键字、使用Class类的newInstance方法、使用Constructor类的newInstance方法、使用Clone方法、使用反序列化。 使用new关键字: 使用 new 关键字创建对象,实际上是做了两个工作, 一是在内存中开辟空间,二是初...
2022-06-15
0
293
【JavaSE】浅谈Java异常处理(try-catch)
JVM默认处理异常的方式: 如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理,处理方式有如下两个步骤: ①把异常的名称,错误原因及异常出现的位置等信息输出在了控制台 ②程序停止执行 try-catch-finally (1)try 块负责监控可能出现异常的代码 (2)catch...
2022-06-15
0
255
首页
上一页
1
2
下一页
末页