java
文章平均质量分 57
汪
这个作者很懒,什么都没留下…
展开
-
死锁
文章目录一、死锁产生条件二、静态的顺序死锁三、动态的顺序死锁四、协作对象之间发生的死锁 一、死锁产生条件 互斥条件:一个线程只能被一个线程使用。 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持一致不变 不剥夺条件:线程已获得的资源,在未使用完之前,不强行剥夺。 循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。 典型的三种死锁类型:1.静态的顺序死锁;2.动态的顺序死锁;3.协作对象之间发生的死锁。 二、静态的顺序死锁 三、动态的顺序死锁 四、协作对象之间发生的死锁 ...原创 2021-03-10 15:42:04 · 153 阅读 · 0 评论 -
线程池
线程池的优势: 降低了系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; 提高了系统相应速度,当有任务到达时,无需等待新线程的建立便能立即执行; 方便线程并发数的管控,线程若无限创建,不仅会额外消耗大量系统资源,更是会占用过多资源而阻塞系统造成OOM等状况。从而降低系统的稳定性。线程池会有效的管控线程,统一分配,调优,提供资源使用率。 线程池提供了定时,定期以及可控线程数等功能的线程池。 ...原创 2021-03-09 16:17:58 · 276 阅读 · 1 评论 -
创建线程的三种方式
文章目录一、继承Thread类创建线程类二、通过Runnable接口创建线程类三、Callable和Future创建线程四、创建线程的三种方式的对比 一、继承Thread类创建线程类 定义Thread类的子类。并重写run()方法,该run方法的方法体代表了线程要完成的任务。因此把run方法叫做方法体。 创建Thread子类的实例,即创建了线程对象。 调用线程对象的start()方法来启动该线程。 public class ThreadDemo extends Thread { int i =原创 2021-03-04 19:56:52 · 680 阅读 · 0 评论 -
对象拷贝
Java NIO是一种新式的IO标准,与之间的普通IO工作方式不同。标准的IO基于字节流和字符流进行操作,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道区读取到缓冲区中,或者缓冲区写入到通道区也类似。 JAVA NIO由以下几个核心部分组成: Buffer Channel Selector 传统的IO操作面向数据流,意味着每次从流中读一个或多个字节直接完成,数据没有被缓存在任何地方。 NIO操作面向缓冲区,数据从Channel读取到Buffer缓冲区,随后在Buffe原创 2021-03-02 14:56:07 · 2974 阅读 · 0 评论 -
File类,IO流
File类 创建于删除; //如果文件存在返回false;否则返回true boolean createNewFile(); //创建一个File对象所对应的目录,成功返回true,失败返回false //必须是路径而不能为文件 //只会创建最后一级目录,如果上级不存在则会抛出异常。 boolean mkdir(); //创建一个File对象所对应的目录,成功返回true,失败返回false //必须是路径而不能为文件 //创建多级目录,创建路径中所有不存在的目录 boolean mkdirs(); /原创 2021-03-01 16:32:28 · 112 阅读 · 0 评论 -
Annotation注解作用
@FunctionalInterface 用途:用户告知编译器,检查这个接口,保证该接口是函数式接口,即只能包含一个抽象方法,否则就会编译出错。 @FunctionalInterface public interface fiDemo { String demo(); } //错误方式 @FunctionalInterface public interface fiDemo { String demo(); String demo1(); } ...原创 2021-03-01 10:44:19 · 471 阅读 · 1 评论 -
使用反射来获取泛型信息
public class TestDemo { private static Map<String, Object> map; public static void main(String[] args) { Class<TestDemo> testClass = TestDemo.class; try { Test test = new Test(); test.setName("我就原创 2021-02-26 14:36:06 · 121 阅读 · 0 评论 -
JAVA 反射机制
java反射机制是在运行状态中,对于任何类都能够得知这个类中的属性和方法。 对于任意一个对象,都能够调用它的任意一个方法和属性。 JAVA反射机制的功能: 1.在运行时判断任意属性类; 2.在运行时构造任意一个类方法; 3.在运行时判断任意一个类所具有的方法及属性; 4.在运行时调动任意一个类方法 5.生成动态代理。 JAVA反射查看类信息: 1.使用Class类的forName(String className)静态方法。 该方法需要传入字符串参数,该字符串参数的值是某个类的全限定名、 2.调用某个类的c原创 2021-02-25 10:01:24 · 109 阅读 · 0 评论