Java基础
文章平均质量分 90
不识ᶫᵒᵛ君٩
何以解忧,唯有学习
展开
-
2020-10-18
多线程线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间。进程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少有一个线程。线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程。线程调度线程调度是指Java虚拟机按照特定机制为多个线程分配CPU的使用权。分时调度:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。抢占式调度:优先让优先级原创 2020-10-18 15:45:26 · 156 阅读 · 1 评论 -
内存泄漏和内存溢出
内存泄漏和内存溢出内存泄漏 memory leak是指程序在申请内存后,无法释放已申请的内存空间 会发生内存泄漏,内存泄漏积累会导致内存溢出。分类:1、常发性内存泄露。发生内存泄露的代码被多次执行,每执行一次都会导致一快内存泄露。2、偶发性内存泄露。发生内存泄露的代码只有在特定的环境下使用时才会发生内存泄露。3、一次性内存泄露。发生泄露的代码 只会被执行一次 , 或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏 。4、隐式内存泄漏。 程序在运行过程中不停的分配内存,但是直到结束的原创 2020-10-18 15:43:23 · 193 阅读 · 0 评论 -
2020-10-18
产生条件-互斥(资源独占): 一个资源每次只能被一个进程使用;- 请求与保持(部分分配,占有申请):一个进程在申请新的资源的同时保持对原有资源的占有(只有这样才是动态申请,动态分配);- 不可剥夺(不可强占):资源申请者不能强行地从资源占有者手中夺取资源,资源只能由占有者自愿释放;- 循环等待:若干进程之间形成一种头尾相连的循环等待资源关系。避免死锁避免多次锁定。尽量避免同一个线程对多个 Lock 进行锁定。例如上面的死锁程序,主线程要对 A、B 两个对象的 Lock 进行锁定,副线程也要对原创 2020-10-18 15:38:53 · 126 阅读 · 0 评论 -
JAVA IO/NIO
JAVA IO,NIO,AIO(NIO2)详解概念:同步与异步: 同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现任务间次序关系。阻塞与非阻塞: 在进行阻塞(block)操作时,当前线程会处于阻塞状态,无法从事其他任务,只有当条件就绪才能继续,比如ServerSocket新连接建立完毕,或者数据读取、写入操作完成;而非阻塞则是不管IO操作是否结束,直接返回,相应操作在后台继原创 2020-09-20 15:11:16 · 223 阅读 · 0 评论 -
java—JVM
JVM垃圾回收内存1.7之前:1.8在JDK1.8版本废弃了永久代,替代的是元空间(MetaSpace),元空间与永久代上类似,都是方法区的实现,他们最大区别是:元空间并不在JVM中,而是使用本地内存。VM垃圾收集算法:分区收集算法分区算法将整个堆空间划分为连续的不同小区间, 每个小区间独立使用, 独立回收. 这样做的好处是可以控制一次回收多少个小区间 , 根据目标停顿时间, 每次合理地回收若干个小区间(而不是整个堆), 从而减少一次 GC 所产生的停顿。分代收集算法分代收集法是目前大部原创 2020-09-06 15:32:02 · 95 阅读 · 0 评论 -
接口的新特性
接口的新特性Java SE7以前:接口只能有常量和抽象方法,只能通过实现接口来对相关方法进行操作。interface 接口名{ 全局常量; 抽象方法;}Java8:可以在接口中编写方法实现。支持以下定义:常量抽象方法默认方法静态方法public interface A { String a="a"; /**正常定义一个抽象方法*/ public void method(); /**使用default 来申明一个默认实现方法*/原创 2020-08-16 16:16:59 · 329 阅读 · 0 评论 -
异常处理
IDEA自定义注释模板:1.修改类头的文档注释/**@Author: zsh@Description:@Date Created in ${YEAR}-${MONTH}-${DAY} ${TIME}@Modified By:*/异常处理:文章目录异常处理:1.什么是异常:2.处理异常:2.1捕获异常2.2抛出异常:(throws关键字)人为抛出异常:(throw关键字,少个s)3.异常分类:捕获异常注意点:RuntimeExcepion与Exception的区别自定义异常类 了解异常处理原创 2020-07-16 22:37:02 · 156 阅读 · 0 评论 -
接口和抽象类对比
接口和抽象类文章目录接口和抽象类1.抽象类1.1概念1.2抽象方法1.3注意1.4常见问题1.5抽象类与普通类的区别2.接口2.1概念2.2面向接口编程思想2.3全局常量和抽象方法的简写2.4接口的实现implements2.5接口的多继承2.6注意2.7接口和抽象类的区别1.抽象类1.1概念抽象类必须使用abstract class声明一个抽象类中可以没有抽象方法。抽象方法必须在抽象类或接口中声明格式abstract class 类名{ // 抽象类 }1.2抽象方法..原创 2020-07-15 21:42:57 · 223 阅读 · 2 评论