Lingpj's blog

不忘初心,方得始终


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Java中的异常

发表于 2017-12-05 | 分类于 Java | 阅读次数

Java异常分类

所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:

  • Error
  • Exception

Error

Error表示应用程序本身无法克服和恢复的一种严重问题,程序只有死的份了。例如,内存溢出和线程死锁等系统问题。

Exception

Exception表示程序还能够克服和恢复的问题,其中又分为2类:

  • 系统异常:是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件死掉。例如,数组下标越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常(ClassCastException)。
    • 编译器不强制用try…catch处理或用throws声明,也称为unchecked异常。
  • 普通异常:是运行环境的变化或异常所导致的问题,是用户能够克服的问题,例如,网络断线,硬盘空间不够,发生这样的异常后,程序不应该死掉。
    • 编译器强制普通异常必须try…catch处理或用throws声明继续抛给上层调用方法处理,也称为checked异常。

常见错误与异常

Error:

  • OutOfMemoryError:内存溢出
  • StackOverflowError:栈溢出

RuntimeException:

  • ClassCastException:类型转换异常
  • IndexOutOfBoundsException:数组越界
  • NullPointerException:空指针
  • ArrayStoreException:数据存储异常,操作数组时类型不一致
  • BufferOverflowException:缓存区溢出

JDK8和JDK9双版本共存

发表于 2017-09-30 | 分类于 日常记录 | 阅读次数

java9.jpg

阅读全文 »

搭建日志分析系统ELK

发表于 2017-08-18 | 分类于 NoSQL | 阅读次数

elasticsearch.jpg

日志分析组件3件套:

  • E:Elasticsearch是一个搜索引擎,基于Lucene,天然分布式,很容易水平扩展,屏蔽了复杂的分布式概念,对外提供RESTfulAPI。
  • L:Logstash用于收集日志,写入Elasticsearch。
  • K:Kibana是一个展示层,基于NodeJS,可以图标形式展示数据,界面简洁。
    阅读全文 »

Java8学习笔记之新日期API

发表于 2017-05-08 | 分类于 Java | 阅读次数

Java8对日期API做了改进,提供了许多好用的方法和接口。
首先,最基本也最重要的3个对象:

  • LocalDate:日期对象
  • LocalTime:时间对象
  • LocalDateTime:日期时间对象,是LocalDate和LocalTime的合集

对象的创建

以上这3个对象,都各自有3种创建方式。

  1. 通过.now()得到当前日期时间对象。
  2. 通过.of()直接指定年月日,时分秒。
  3. LocalDate和LocalTime通过解析字符串创建,LocalDateTime可以通过前2个对象创建。
阅读全文 »

Java8学习笔记之Stream API

发表于 2017-04-26 | 分类于 Java | 阅读次数

Stream是Java8引入的一个重度使用lambda表达式的API。
Stream可以用流的方式处理数据集合,在Java8之前,我们处理这些集合,是需要迭代器的,比如iterator,这是外部迭代;而Stream是内部迭代,我们不用关心集合内部元素是如何迭代的,计算机会自动帮我们选择最适合的实现方式。

如何创建一个流

  1. 最常见的,有一个集合对象List<String> strs = Arrays.asList("Java 8 ", "Lambdas ", "In ", "Action");,直接调用strs.stream()就得到一个Stream<String>的流。
    如果想使用并行流增加性能,请使用strs.parallelStream(),或strs.stream().parallel()。
  2. 由值创建:Stream<String> stream = Stream.of("Java 8 ", "Lambdas ", "In ", "Action");
    阅读全文 »
1234…10
Joepis

Joepis

46 日志
6 分类
39 标签
RSS
GitHub 码云
友情链接
  • 阮一峰
© 2016 - 2021 Joepis
由 Hexo 强力驱动
主题 - NexT.Mist