2018-09-13

距离下决心写博客已经两周了,结果就两篇博客,还没有写过跟技术有关的。
唉,难受。
言归正传,昨天其实有看了下java的源码,就是Integer这个类里面的方法,但是没有看完。知识点如下:

  1. 里面使用了位运算来替代乘法运算,印象中,位运算对于计算机而言是很快的,但是具体比乘除运算快多少就不知道了。自己实测的结果是乘法运算和位运算的速度差不多,估计是编译器的对于乘法运算的优化。
  2. 异常总结:
  • error,系统错误,这种错误已经严重到无法被捕获,并且一旦发生,系统将停止运行,比如说OutOfMemoryError,一般而言这种错误是代码撰写的时候无需考虑的问题,但是会发生这种严重错误,也有可能是因为程序设计的问题导致的,像内存溢出这种系统错误,就可能是代码设计不好导致了内存泄漏问题,随着时间推移,内存泄漏的越来越多就会导致内存溢出的错误。
  • 未检查异常 unchecked exception,或者叫做runtime exception,包含有NullPointerException, IndexOutOfBoundsException等, 这类异常系统不强制你去捕获处理。不强制去捕获处理这类异常,是因为,程序当中不应该出现这类错误,这类错误是可以通过程序的逻辑去避免的,换句话说,当这种异常发生的时候,就是代码逻辑不够严谨或考虑不够全面导致的,这个时候应该考虑的不是去捕获异常,而应该是去检查修改代码,使得代码的逻辑更加严谨从而避免再次发生此类异常。
  • 检查型异常, checked exception,这类异常有IO Exception, SQL exception,这种异常必须在程序中进行捕获,否则编译器会报错,无法进行编译。这类异常有可能是网络出错等非系统错误导致的,因此要求必须对这类可预见却无法完全回避的错误进行捕获处理,以避免因为外界的不可控因素导致系统服务不可用。

这里有一篇关于异常的博客,写的很好,收藏下:
Java异常处理和设计

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,208评论 0 13
  • (1)异常: 是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常...
    初见_0308阅读 235评论 0 0
  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,414评论 1 31
  • 什么都想做,什么都没做成;我们整天被繁复琐碎的事情束手束脚,突然失去了目标……来体验一下极简主义的生活方式吧,还你...
    草坪人阅读 191评论 0 0
  • 看看!是否会让您想起什么?没错!八十年代初曾风行的会讲话的花瓶女郎,那时候,纯朴的人见了很神奇,明明知道是...
    新宇书画乐园阅读 969评论 10 12