![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
peabits
Who cases...
展开
-
Java 继承中异常的处理
父类的方法需要抛出异常,子类继承(重写)了父类的方法,如果子类的方法是否要同样抛出异常?是否抛出同样的异常?能否抛出父类没有的异常?还是一定要抛出父类所抛出异常范围内的异常?子类中重写的方法一定不能抛出新的必检异常,即不能抛出比父类中的方法更加宽泛的必检异常。例如:父类的一个方法申明了一个检查异常 IOException ,在重写这个方法是就不能抛出 Exception ,只能抛出 IOExc...原创 2019-02-26 19:08:17 · 1921 阅读 · 0 评论 -
Java 中类加载的时机
Java 中类加载的时机类加载过程分为加载、链接、初始化三个阶段,从而实现对某个类进行初始化。在加载阶段,Java 虚拟机通过查找字节流(*.class 文件),并且根据字节流创建 java.lang.Class 对象。在这个过程中,JVM 将类的字节码文件中的二进制数据读入内存,存放在方法区内。然后在堆中创建 java.lang.Class 对象,用来封装类在方法区的数据结构。类加载阶段...原创 2019-09-29 20:48:45 · 192 阅读 · 0 评论 -
Java 类的加载方式
类的加载方式类的加载方式隐式加载显式加载隐式加载有几种情况:首次通过 new 创建一个类的实例首次调用类的静态成员首次加载一个类,会先加载它的父类JVM 启动时,会自动加载定义了 main 方法的类显式加载有两种方式:通过 ClassLoader.loadClass通过 Class.forName区别隐式加载是在首次使用时才加载类,显式加载是先提前加载类再使用...原创 2019-09-30 09:25:30 · 220 阅读 · 0 评论 -
Java 中的各种锁
Java 中的各种锁Java 中设计了很多种锁,大致如下:公平锁 / 非公平锁可重入锁 / 不可重入锁独享锁 / 共享锁互斥锁 / 读写锁乐观锁 / 悲观锁分段锁偏向锁 / 轻量级锁 / 重量级锁自旋锁注意: 这些分类有的指锁的状态,有的指锁的特性,有的指锁的设计…下面对每个锁的名词进行相应的解释:公平锁 / 非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公...原创 2019-09-30 17:10:17 · 173 阅读 · 0 评论 -
Java 泛型中的通配符
Java 泛型中的通配符 T、E、K、V、?Java 泛型(generics)是 JDK 5 中引入的一个新特性。泛型提供了编译时类型安全检测机制,允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型可以用在类,方法,接口上。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的 “任意化”。“任意化” 带来...原创 2019-09-30 18:21:06 · 221 阅读 · 0 评论 -
Java 中的四大内部类
Java 中的四大内部类内部类简单说就是定义在另一个类中的类,内部类具有一下特点:内部类方法可以访问该类定义所在作用域中的数据,包括私有数据。内部类可以对同一包下的其它类隐藏定义回调函数而又不想编写太多代码时使用匿名内部类比较便捷Java 内部类可以分为四种:普通内部类局部内部类匿名内部类静态内部类普通内部类普通类相比内部类具有访问拥有特权,它可以访问外围类私有成员,...原创 2019-09-30 18:36:02 · 203 阅读 · 0 评论 -
Java 中的 jar 包和 war 包
Java 中的 jar 包和 war 包jar 包简单地说,JAR(Java Archive)是一种包文件格式。JAR 文件具有 .jar 扩展名,可以包含库、资源和元数据文件。本质上,它是一个压缩文件,包含压缩版本的.class文件和编译后的Java库和应用程序的资源。例如,下面是一个简单的 JAR 文件结构:META-INF/MANIFEST.MFcom/baeldung...原创 2019-09-30 18:50:42 · 170 阅读 · 0 评论 -
Java 线程生命周期
Java 线程生命周期当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建 (New)、就绪 (Runnable)、运行 (Running)、阻塞 (Blocked) 和死亡 (Dead) 5 种状态。当线程启动以后,它不可能一直占用 CPU 独自运行,所以 CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换...原创 2019-09-30 20:00:37 · 203 阅读 · 0 评论 -
终止线程的 4 种方式
终止线程的 4 种方式正常运行结束程序运行结束,线程自动结束。使用退出标志退出线程一般 run 方法执行完,线程就会正常结束。然而,常常有些线程是服务线程。它们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。可以使用一个变量来控制循环,最直接的方法就是设一个 boolean 类型的标志,并通过设置这个标志为 true或 false 来控制 while 循环是否退出。...原创 2019-09-30 20:16:46 · 398 阅读 · 0 评论 -
线程基本方法
线程基本方法线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。线程等待 wait调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用 wait 方法后,会释放对象的锁。因此,wait 方法一般用在同步方法或同步代码块中。线程睡眠 sleepsleep 导致当前线程休眠,与 wait 方法...原创 2019-09-30 20:36:21 · 174 阅读 · 0 评论 -
Java 线程池
Java 线程池线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务。如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。线程池的主要特点为:线程复用控制最大并发数管理线程线程复用每一个 Thread 的类都有一个 start 方法。 当调用 start 启动线程时 Java 虚拟机会调用该类...原创 2019-09-30 20:54:38 · 194 阅读 · 0 评论 -
Java 语言特点
Java 语言特点面向对象 三大特征封装 Encapsulation继承 Inheritance多态 Polymorphism面向对象 五大原则单一职责 Single-Resposibility Principle开放封闭 Open-Closed principle里氏替换 Liskov-Substituion Principle依赖倒置 Dependecy-In...原创 2019-04-08 20:04:34 · 313 阅读 · 0 评论 -
Java 代码常见优化方案
Java 代码常见优化方案首先,良好的编码规范非常重要。在 java 程序中,访问速度、资源紧张等问题的大部分原因,都是代码不规范造成的。单例的使用场景单例模式对于减少资源占用、提高访问速度等方面有很多好处,但并不是所有场景都适用于单例。简单来说,单例主要适用于以下三个方面:多线程场景,通过线程同步来控制资源的并发访问。多线程场景,控制数据共享,让多个不相关的进程或线程之间实现...原创 2019-04-07 21:28:10 · 2101 阅读 · 0 评论 -
Java 的八种基本数据类型
java的基本数据类型有八种四种整数类型 (byte、short、int、long) :byte:8 位,用于表示最小数据单位,如文件中数据,-128~127short:16 位,很少用,-32768 ~ 32767int:32 位,最常用,-231-1~231-1long:64 位,较常用,-263-1~263-1注意事项:直接写出的常数叫直接量(或字面量),整数字面量默认都为 i...原创 2019-02-24 22:29:24 · 183 阅读 · 0 评论 -
java 中的 printf 函数
printf 支持以下格式:%c //单个字符 %d //十进制整数 %f //十进制浮点数%o //八进制数%s //字符串%u //无符号十进制数 %x //十六进制数 %% //输出百分号%printf 的格式控制的完整格式:"% - 0 m.n l(h) 格式字符"对组成格式说明的各项加以说明:%: 表示格式说明的起始符号,不可缺少。-:有 ...原创 2019-02-24 21:24:25 · 854 阅读 · 0 评论 -
J2EE十三个规范小结
J2EE十三个规范小结J2ee是我们步入java学习的一个開始。Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构的,中立的,可移植的,性能非常优异的,多线程的,动态的,免费开源的语言。在详细学习java之前。我们先来学习j2EE。1. 什么是J2EE?背景我们常常听说这种一句话:“一流企业做标准、二流企业做品牌、三流企业做产品。”什么 意思呢?三流企业...原创 2019-01-27 17:44:18 · 213 阅读 · 1 评论 -
Java 中基本数据类型的大小
Java中char,short,int,long占用的字节数和位数字节:byte:用来计量存储容量的一种计量单位;位:bit一个字节等于8位 1byte = 8bit整型:byte:1个字节 8位 -128~127short :2个字节 16位int :4个字节 32位long:8个字节 64位浮点型:float:4个字节 32 位double :8个字节 64位注...原创 2019-01-26 13:33:16 · 470 阅读 · 0 评论 -
Java常见异常
Java异常 Execption算术异常类: ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:Secturit...原创 2019-01-25 10:53:32 · 259 阅读 · 0 评论 -
Java语言程序设计之总结
选择结构Java 的选择结构是在可选择的执行路径中做出选择。选择语句要用到采用布尔表达式的条件语句。布尔表达式是计算结果为 Boolean 值,即true 者 false的表达式。boolean 数据类型boolean 数据类型声明一个具有值 true 或者 false 的变量。Java 提供六种关系操作符 (也称为比较操作符)用于两个值的比较。大于:>不小于(大于或等于...原创 2019-01-24 10:49:08 · 343 阅读 · 0 评论 -
Java语言基础
Java语言基础流程结构分类顺序结构选择结构循环结构顺序结构顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结...原创 2019-01-22 14:49:38 · 269 阅读 · 0 评论 -
Java 开发手册
Java 开发手册编程规范命名风格代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式,即使纯拼音命名方式也要避免采用。类名使用大驼峰拼写法(UpperCamelCase)风格。方法名、参数名、成员变量、局部变量都统一使用小驼峰拼写法(lowerCamelCase)风格。常量命名全部大写,单词间...原创 2019-03-17 20:15:27 · 344 阅读 · 0 评论 -
Java 生成随机数
Java 生成随机数Java 中有两种生成随机数的方式:利用 Math 类中 random() 方法利用 Random 类。Matn.random()随机生成 0≤x&lt;10 \leq x &lt; 10≤x<1 的小数。...原创 2019-03-17 22:07:57 · 527 阅读 · 0 评论 -
Java 对象的创建过程
Java 对象的创建过程类的初始化与实例化一个 Java 对象的创建过程往往包括类的初始化 和 实例化 两个阶段。Java 规范规定一个对象在可以被使用之前必须要被正确地初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。在实例化一个对象时,JVM 首先会检查相关类型是否已经加载并初始化,如果没有,则 JVM 立即进行加载并调用类构造器完成类的初始化。Java 对象的...原创 2019-03-21 23:49:55 · 572 阅读 · 0 评论 -
Java 中的阻塞队列
Java 中的阻塞队列ArrayBlockingQueue:由数组结构组成的有界阻塞队列LinkedBlockingQueue:由链表结构组成的有界阻塞队列PriorityBlockingQueue:支持优先级排序的无界阻塞队列DelayQueue:使用优先级队列实现的无界阻塞队列SynchronousQueue:不存储元素的阻塞队列LinkedTransferQueue:由链表结构...原创 2019-09-30 21:11:07 · 176 阅读 · 0 评论