-
异常的设计原则有哪些?
不要将异常处理用于正常的控制流对可以恢复的情况使用受检异常,对编程错误使用运行时异常避免不必要的使用受检异常优先使用标准的异常每个方法抛出的异常都要有文档保持异常的原子性不要在 catch 中忽略掉捕获到的.... 盾给网
- 0
- 0
- 404
-
字节流和字符流区别与适用场景
Java 中的字节流处理的最基本单位为 1 个字节,通常用来处理二进制数据。字节流类 InputStream 和 OutputStream 类均为抽象类,代表了基本的输入字节流和输出字节流。 Java 中的字符流处理的最基本的单元是 Unic.... 盾给网
- 0
- 0
- 389
-
什么是assert?
assert:断言 一种常用的调试方式,很多开发语言中都支持这种机制 通常在开发和测试时开启 可以用来保证程序最基本、关键的正确性 为了提高性能,发布版的程序通常关闭断言 断言是一个包含布尔表达.... 盾给网
- 0
- 0
- 394
-
Class类的getDeclaredFields()与getFields()方法的区别?
getDeclaredFields(): 获取所有本类自己声明的属性, 不能获取父类和实现的接口中的属性 getFields(): 只能获取所有 public 声明的属性, 包括获取父类和实现的接口中的属性 测试代码: package con.... 盾给网
- 0
- 0
- 407
-
面向对象设计原则有哪些?
单一职责原则 SRP 开闭原则 OCP 里氏替代原则 LSP 依赖注入原则 DIP 接口分离原则 ISP 迪米特原则 LOD 组合/聚合复用原则 CARP 其他原则可以看作是开闭原则的实现手段或方法,开闭原则是理想.... 盾给网
- 0
- 0
- 373
-
HashMap和Hashtable 有什么区别?
JDK 1.8 中 HashMap 和 Hashtable 主要区别如下: 线程安全性不同。HashMap线程不安全;Hashtable 中的方法是Synchronize的。 key、value是否允许null。HashMap的key和value都是可以是null,key只允许一个n.... 盾给网
- 0
- 0
- 383
-
如何优雅地停止一个线程?
线程终止有两种情况:线程的任务执行完成线程在执行任务过程中发生异常这两者属于线程自行终止,如何让线程 A 把线程 B 终止呢?Java 中 Thread 类有一个 stop() 方法,可以终止线程,不过这个方法会让线程直接终止.... 盾给网
- 0
- 0
- 402
-
if-else-if-else与switch的区别
if-else-if-else: 适合分支较少 判断条件类型不单一 支持取 boolean 类型的所有运算 满足条件即停止对后续分支语句的执行 switch: 适合分支较多 判断条件类型单一,JDK 1.7 之前仅支持 .... 盾给网
- 0
- 0
- 469
-
如何决定使用HashMap还是TreeMap?
HashMap基于散列桶(数组和链表)实现;TreeMap基于红黑树实现。 HashMap不支持排序;TreeMap默认是按照Key值升序排序的,可指定排序的比较器,主要用于存入元素时对元素进行自动排序。 HashMap大多数情况下.... 盾给网
- 0
- 0
- 432
-
为什么要用并发编程?
"摩尔定律" 失效,硬件的单元计算能力提升受限;硬件上提高了 CPU 的核数和个数。并发编程可以提升 CPU 的计算能力的利用率。提升程序的性能,如:响应时间、吞吐量、计算机资源使用率等。并发程序可以更.... 盾给网
- 0
- 0
- 399




