![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
文章平均质量分 72
devp_yang
当你觉得太累的时候,说明...你正走在上坡路,坚持走过去,就会有进步,每一步,都会到达一个新高度。目光所及,每一处,都有新风景。轻松,是留给走下坡路的人,不要在本该奋斗的年纪,选择了安逸,你爬得高,走得远,不是为了让世界看到,而是为了,看到更广阔的世界。
展开
-
Java 四大元注解
@Target@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Target { /** * 注解可作用的位置 */ ElementType[] value();}public enum ElementType { /** 接口、类、枚举 */ TYPE, /** 字段、枚举的常量 *原创 2020-08-12 17:18:48 · 190 阅读 · 0 评论 -
集合02 List接口
1、List集合的特点有序、可重复2、List接口的方法没有注释的方法是继承Collection接口的List<String> list = new ArrayList<>();list.add("1");list.add("2");int size();boolean isEmpty();boolean contains(Object o);Iterator<E> iterator();Object[] toArray();<原创 2020-08-04 14:23:29 · 125 阅读 · 0 评论 -
集合01 根接口Collection<E>
根接口的方法Collection<String> collection = new ArrayList<>();/** * 返回集合中元素的数量 */int size = collection.size();/** * 判断集合是否为空 */boolean isEmpty = collection.isEmpty();/** * 判断集合是否包含指定元素 */boolean isContain = collection.contains("jack");/原创 2020-08-04 13:23:02 · 180 阅读 · 0 评论 -
多线程08 初识线程池
1、为什么要有线程池线程经常创建和销毁,会消耗特别大的资源,影响性能2、好处提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理3、线程池相关API(简单写几个)jdk5起,提供了线程池的api:ExecutorService 和 ExecutorsExecutorService :真正的线程池接口,常见子类 ThreadPoolExecutorExecutors:工具类,线程池的工厂类,用于创建并返回不同类型的线程池4、代码初原创 2020-07-21 21:32:20 · 127 阅读 · 0 评论 -
多线程07 线程通信
1、线程通信相关APIwait():表示线程一直等待,直到其它线程通知,与sleep不同,会释放锁wait(long timeout):指定等待的毫秒数notify():唤醒一个处于等待状态的线程notifyAll():唤醒同一个对象上所有调用wait()方法的线程,优先级别高的线程优先调度注意:以上均是Object 类的方法,都只能在同步方法和同步代码块中使用,否则抛出异常lllegalMonitoStateException2、生产者消费者模型:管程法/** * 生产者消费者模型--原创 2020-07-21 21:11:56 · 102 阅读 · 0 评论 -
多线程06 锁相关
1、死锁多个线程各自占有一些共享资源,并且互相等待其它线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,互相僵持的情形2、模拟死锁场景public class TestDeadLock { public static void main(String[] args) { Makeup t1 = new Makeup(0, "张三"); Makeup t2 = new Makeup(1, "李四"); new Thread(t1)原创 2020-07-21 19:48:04 · 150 阅读 · 0 评论 -
多线程05 线程同步
线程间通信线程间通信的方式:wait()让线程等待notify()唤醒某个等待中的线程notifyAll()唤醒所有等待的线程说明:通过查阅API得知这几个函数并不在Thread类中,而存在Object类中问题:为什么这几个方法,要定义在Object类中呢?线程有很多,控制线程的一定是跟多个线程都有关系的对象,那就是锁对象。因此,线程的通信,就交给锁来控制。线程通信应该由锁来完成...原创 2019-06-07 14:05:50 · 209 阅读 · 0 评论 -
多线程04 线程相关API
常用的实现多线程的2种方式 :Thread 和 Runnable。之所以说是常用的,是因为还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。Thread和Runnable简介Runnable 是一个接口,该接口中只包含了一个run()方法。它的定义如下:public inte...原创 2019-06-02 21:08:08 · 135 阅读 · 0 评论 -
Lambda 表达式由来
1、分析 lambda 由来函数式接口:一个接口中有且仅有一个抽象方法@FunctionalInterfacepublic interface Runnable { public abstract void run();}常用实现类实现public class TestLambda { public static void main(String[] args) { // 方式一: 使用常用实现类 Lambda01 lambda01 =原创 2020-07-20 17:44:39 · 325 阅读 · 0 评论 -
多线程03 线程中的静态代理
1. 基本概念进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。线程状态图:说明:新建状态(New):线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。就...原创 2019-07-13 21:49:56 · 115 阅读 · 0 评论 -
多线程01 相关概念
基本概念多线程是Java中不可避免的一个重要主体。接下来的内容是对“JDK中新增JUC包”之前的Java多线程内容的讲解,包括:Object类中的wait(),notify()等接口;Thread类中的接口;synchronized关键字。注:JUC包是指,Java.util.concurrent包,它是由Java大师Doug Lea完成并在JDK1.5版本添加到Java中的。线程状态图...原创 2019-06-02 16:51:25 · 124 阅读 · 0 评论 -
多线程02 线程创建
1、方式一:继承 Thread 类,重写run()方法,调用start()开启线程public class Thread01 extends Thread{ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName() + "正在执行" + i); } }原创 2020-07-19 23:29:17 · 156 阅读 · 0 评论