![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一🐟
老白菜c
这个作者很懒,什么都没留下…
展开
-
每日一鱼之线程安全
今天是 synchronized线程安全 使用方法: synchronized(监视器){ 需要同步的代码 } 监视器:任意实现类的对象 必须要是同一个对象 在实现runnable的接口中,可以用this 作为对象 在继承类的,慎用this,可以用当前类作为监视器 因为实现runnable接口中本身就是共享的,就不用static 而继承的要用static让其同步。 代码如下: package Thread; //201945210025 夏均健 /** * 创建多线程的方式二:实现runnable接口原创 2021-04-07 21:46:39 · 75 阅读 · 1 评论 -
每日一鱼:每日一鱼之多线程方法2
今天学的是runnable接口实现多线程,这也是在实际开发中,用的最多的实现方式,原因原因: 1.实现方式没有类的单继承性的局限性 2,实现的方式更适合处理多个线程有共享数据的情况 联系:Thread类本身也实现了runnable接口 相同点:两种方式都需要重写run(),将线程执行的逻辑声明在run()中 然后直接贴代码~ package com.company.Thread; /** * 例子L:创建三个窗口卖票 总票数100张 使用实现runnable * 存在线程的安全问题,待解决 *原创 2021-03-31 21:09:57 · 48 阅读 · 0 评论 -
每日一鱼:每日一鱼之多线程方法
*测试Threa中的常用方法 1.start() 启动当前线程 调用当前线程的run() 2.run() :通常需要重写方法的此方法 将创建西安城要执行的操作声明在此方法中 3.currentThread() :静态方法 返回执行当前代码的线程 4.getName():获取当前线程的名字 5.setName():设置当前线程的名字 6.yield(): 释放当前CPU的执行权 7.join():在线程a中调用线程b的join(),此时线程a就进入阻塞状态,等到b完全执行完后,再执行a 8.stop():原创 2021-03-30 22:50:00 · 237 阅读 · 0 评论 -
每日一鱼:每日一鱼之多线程
并行:多个CPU同时执行多个任务 比如:多个人同时做不同的事 并发:一个CPU同时执行多个任务 比如 :多个人做同一个件事 优点: 1.提高应用程序的响应,对图形化界面更有意义,可增加用户体验 2.提高计算机系统CPU的利用率 3,改善程序结构,将既长又复杂的进程分为多个进程,独立运行,利用理解和修改。 实现多线程目前,学到了继承Thread类,实现,下面代码就能完美展现,较为简单。 package com.company.Thread; /** * 多线程的创建,方式一:继承于Thread类 *原创 2021-03-29 22:18:35 · 62 阅读 · 0 评论 -
每日一鱼:每日一鱼之二分算法
今天看的算法,开局就是二分算法,看起来还是很简单的,这里就直接贴代码。 public static int rank(int key,int []a){ //数组必须是有序的 int lo = 0; int hi = a.length - 1; while (lo <= hi){ int mid = lo + (hi -lo) / 2; if (key < a[mid]){原创 2021-03-22 22:50:04 · 39 阅读 · 0 评论 -
每日一鱼:每日一鱼之列表
每日一????:列表中的迭代与重写equals 迭代最好最高效的就是迭代器! 实现代码如下: package com.company.List; import java.util.List; public class arrayList { public static void main(String[] args) { List<Integer> list = List.of(12,14,56); Number[] array = list.toAr原创 2021-03-18 20:24:29 · 73 阅读 · 0 评论 -
每日一鱼:每日一鱼之泛型
每日一????:泛型就是定义一种模板,例如ArrayList,然后在代码中为用到的类创建对应的ArrayList<类型> ArrayList<String> strList = new ArrayList<String>(); public class ArrayList<T> { private T[] array; private int size; public void add(T e) {...} public vo原创 2021-03-17 21:43:48 · 46 阅读 · 0 评论 -
每日一鱼:每日一鱼之异常处理与反射
今日一???? 这两天学的是异常处理和反射,感觉都是很深的东西,现在这个水平只能了解点皮毛,就简单写一下吧。 异常处理:一个程序必须要健壮,不能一遇到错误就崩了,这就是异常处理的重要性!我们只能处理Exception,而不能处理error。 方法有 try catch 和throws。 不推荐捕获了异常但不进行任何处理。 e.printStackTrace();是打印错误的方法! 以及各种日志,这里没有细看。 反射: 对任意的一个Object实例,只要我们获取了它的Class,就可以获取它的一切信息。 我们原创 2021-03-16 20:56:43 · 38 阅读 · 0 评论 -
每日一鱼:每日一鱼之恶补Java
今日一???? StringBuilder and StringJoiner 以及 Enum StringBuilder: String是可变对象,可以预分配缓冲区,用来高效拼接字符串; 支持链式操作; package com.company; public class stringBuilder { public static void main(String[] args) { var sb = new StringBuilder(1024); sb.appen原创 2021-03-11 21:14:29 · 46 阅读 · 0 评论