Java编程之错误

简介: Java核心思想 面向对象的编程思想 类和类的关系 类中成员的描述 对象创建Java工具类 包装类 数学相关 日期相关 字符串相关 集合相关的类 考试机 学生 老师异常/错误 程序运行过程中,可能会发生一些不被期望的效果, 肯定会阻止我们的程序按照指令去执行 这种不被预期出现的效果,肯定需要抛出来告诉我们 在Java中有一个定义好的规则Throwable(可以抛出的)Error错误 通常是一些物理性的,JVM虚拟机本身出现的问题,程序指令是处理不了的 Exception

Java核心思想

   面向对象的编程思想

   类和类的关系

   类中成员的描述   对象创建

Java工具类

   包装类   数学相关   日期相关   字符串相关

   集合相关的类

   考试机   学生   老师

异常/错误

   程序运行过程中,可能会发生一些不被期望的效果,

   肯定会阻止我们的程序按照指令去执行

   这种不被预期出现的效果,肯定需要抛出来告诉我们

   在Java中有一个定义好的规则Throwable(可以抛出的)

Error错误

   通常是一些物理性的,JVM虚拟机本身出现的问题,程序指令是处理不了的

   Exception异常

   通常是一种人为规定的不正常的现象,

   通常是给定的程序指令产生了一些不符合规范的事情

   Throwable类实现了一个序列化接口

   Error(错误)   Exception(异常)

   StackOverflowError  RuntimeException(运行时)   IOException。。。。。

   OutOfMemoryError

异常的分支体系

   运行时异常(非检查异常)

   Error和RuntimeException都算作运行时异常

   javac编译的时候,不会提示和发现的,

   在程序编写时不要求必须做处理,如果我们愿意可以添加处理手段(try throws)

   要求大家出现这样异常的时候 知道怎么产生及如何修改

   1.InputMisMatchException 输入不匹配

       int value = input.nextInt();//   abc

   2.NumberFormatException 数字格式化

       int value = Integer.parseInt("123.45");

   3.NegativeArraySizeException 数组长度负数

       int[] array = new int[-2];

   4.ArrayIndexOutOfBoundsException 数组索引越界

       int[] array = {1,2,3};

       array[5];

   5.NullPointerException 空指针异常

       int[][] array = new int[3][];

       array[0][0] =10;

       Person p = null;

       p.getName();

   6.ArithmeticException 数字异常

       10/0 整数不允许除以0 Infinity小数除以0会产生无穷

   7.ClassCastException 造型异常

       Person p = new Teacher();

       Student s = (Student)p;

   8.StringIndexOutOfBoundsException 字符串越界

       String str = "abc";

       str.charAt(5);

   9.IndexOutOfBoundsException 集合越界

       List家族

       ArrayList  list = new ArrayList();

       list.add(); list.add(); list.add();

       list.get(5);

   10.IllegalArgumentException 非法参数异常

       ArrayList  list = new ArrayList(-1);

编译时异常(检查异常)

   除了Error和RuntimeException以外其他的异常

   javac编译的时候  强制要求我们必须为这样的异常做处理(try或throws)

   因为这样的异常在程序运行过程中极有可能产生问题的

   异常产生后后续的所有执行就停止啦

   1.InterruptException

       try{

       Thread.sleep(5000);

           }catch(Exception e){

               }

       后续还会有很多的编译时异常

目录
相关文章
|
4天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。
|
4天前
|
数据采集 安全 Java
Java并发编程学习12-任务取消(上)
【5月更文挑战第6天】本篇介绍了取消策略、线程中断、中断策略 和 响应中断的内容
30 4
Java并发编程学习12-任务取消(上)
|
1天前
|
Java
深入理解Java并发编程:线程池的应用与优化
【5月更文挑战第18天】本文将深入探讨Java并发编程中的重要概念——线程池。我们将了解线程池的基本概念,应用场景,以及如何优化线程池的性能。通过实例分析,我们将看到线程池如何提高系统性能,减少资源消耗,并提高系统的响应速度。
11 5
|
1天前
|
消息中间件 安全 Java
理解Java中的多线程编程
【5月更文挑战第18天】本文介绍了Java中的多线程编程,包括线程和多线程的基本概念。Java通过继承Thread类或实现Runnable接口来创建线程,此外还支持使用线程池(如ExecutorService和Executors)进行更高效的管理。多线程编程需要注意线程安全、性能优化和线程间通信,以避免数据竞争、死锁等问题,并确保程序高效运行。
|
1天前
|
安全 Java 容器
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第18天】随着多核处理器的普及,并发编程变得越来越重要。Java提供了丰富的并发编程工具,如synchronized关键字、显式锁Lock、原子类、并发容器等。本文将深入探讨Java并发编程的核心概念,包括线程安全、死锁、资源竞争等,并分享一些性能优化的技巧。
|
1天前
|
安全 Java 开发者
Java中的多线程编程:理解与实践
【5月更文挑战第18天】在现代软件开发中,多线程编程是提高程序性能和响应速度的重要手段。Java作为一种广泛使用的编程语言,其内置的多线程支持使得开发者能够轻松地实现并行处理。本文将深入探讨Java多线程的基本概念、实现方式以及常见的并发问题,并通过实例代码演示如何高效地使用多线程技术。通过阅读本文,读者将对Java多线程编程有一个全面的认识,并能够在实际开发中灵活运用。
|
2天前
|
Java 编译器
Java并发编程中的锁优化策略
【5月更文挑战第18天】在Java并发编程中,锁是一种常用的同步机制,用于保护共享资源的访问。然而,不当的锁使用可能导致性能问题和死锁风险。本文将探讨Java中锁的优化策略,包括锁粗化、锁消除、锁分离和读写锁等技术,以提高并发程序的性能和可靠性。
|
2天前
|
Java 编译器
Java 并发编程中的锁优化策略
【5月更文挑战第17天】在 Java 并发编程中,锁是一种常见的同步机制,用于保护共享资源的访问。然而,不当使用锁可能导致性能问题和死锁风险。本文将探讨 Java 中的锁优化策略,包括锁粗化、锁消除、锁降级以及读写锁等技术,以提高并发程序的性能和可靠性。
|
2天前
|
Java 编译器
Java并发编程中的锁优化策略
【5月更文挑战第17天】在Java并发编程中,锁是一种常见的同步机制,用于保护共享资源。然而,使用不当的锁可能导致性能下降和死锁等问题。本文将探讨Java中锁的优化策略,包括锁粗化、锁消除、锁排序等方法,以提高程序的性能和可靠性。
|
3天前
|
存储 关系型数据库 MySQL
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf