笔记
文章平均质量分 73
是香橙啊
这个作者很懒,什么都没留下…
展开
-
线程 线程安全
线程共享的区域:堆区 方法区 运行时的常量池区PC和栈都是线程私有的线程安全(Thread seaf)什么是线程不安全?多个线程同一时刻对同一个全局变量(同一份资源)做写操作(读操作不会涉及线程安全)时,如果跟我们预期的结果一样,我们就称之为线程安全,反之,线程不安全。例如定义一个全局变量 写两个线程进行++ --按道理说是0 但运行后发现结果并不是 这就是线程不安全问题线程不安全现象的原因1站在开发者角度来说多个线程之间操作同一块数据(共享数据)由此引发的多个线程中原创 2022-04-24 09:23:44 · 390 阅读 · 0 评论 -
线程2 多线程
多线程就一定好吗?创建线程也是需要时间的Thread.sleep() TimeUnt.*.sleep() 休眠 线程主动让出CPU 就绪——阻塞Thread.yield 线程从运行到就绪 让出CPUe线程是OS调度的单位 也是os分配CPC资源的单位也是我们抢夺CPU的工具线程的控制之通知线程停止:A叫B干活 一些突发情况发生了 需要让B停止工作方法一 直接kill stop()法二:和B协商 A给B发出一个信号 让B停止 interrupt()设了一个停止标志 实.原创 2022-04-21 23:32:02 · 106 阅读 · 0 评论 -
线程,主线程 子线程
线程有1独立的栈线程中常见的属性:1 id JVM进程内部分配给唯一的id只能get 不能set thread,getID 就像身份证号 出生就被分配 无法修改2 name 线程的名字 可以设置public class Test { static class MyThread extends Thread{ public MyThread(){ setName("玛卡巴卡");//super(“我是玛卡巴卡”) 构造方法 }原创 2022-04-20 20:43:45 · 370 阅读 · 0 评论 -
进程 ,线程(Thread) OS
什么是程序?程序=指令+进程进程:程序一次执行的过程 一个程序可以多次执行(多个进程)甚至可以“同时”执行(宏观下)从OS来讲:进程就是OS进行资源分配的基本单位 也是最小实体同一个进程中的资源是共享的 不同进程之间的资源是隔离的进程的区分:新建(进程正在创建中),就绪(等待CPU),运行(进程的指令在CPU运行着)阻塞(进程由于等待外部条件 暂时无法执行)结束(进程的所有指令执行结束蛋PCB暂时保留 OS还需要做一些其他工作)...原创 2022-04-18 18:17:53 · 900 阅读 · 0 评论 -
优先级队列(堆)
优先级队列和普通队列的区别:普通队列的元素就是先入先出的出队操作优先级队列:表面是队列 底层是基于堆实现的 按照元素的优先级动态出队;如果是基于最大堆的优先级队列 那么堆的值越大他的优先级越高 JDK中的优先级队列默认是最小堆的实现元素间大小比较:当我们比较两个自定义类型是否相等=>覆写Object类提供的equals方法我们的操作系统的进程调度来说,(任务管理器)底层就维护了一个优先级队列普通队列:入队:O(1)尾插 出队:O(n)优先级队列(堆...原创 2022-03-30 19:52:13 · 956 阅读 · 0 评论 -
七大排序?看这篇就够了
作者有话说目录作者有话说插入排序选择排序交换排序归并排序各个排序的复杂度比较作者有话说:首先呢,给友友们先上一张图简单说一下数据结构中的七大排序都有哪些图中的标绿的算法都是相比较来说稳定的(不知道的友友可以去搜“排序的稳定性”)插入排序插排:每次从无序区间中选择最小值放在无序区间的最前端 又分为直接插入和希尔排序在极端条件下 内循环为O(n) 插入排序是用作高阶排序算法的优化手段之一直接插入(insertionSort):基本思想:顺序地把原创 2022-03-23 12:02:14 · 410 阅读 · 0 评论 -
【无标题】
在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String(“hello”);2 String str2 = new String(“hello”);34 System.out.println(str1str2);5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一样?和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就会导致自己在以后编写代码时出现一些低级的错误。原创 2021-12-09 16:17:52 · 91 阅读 · 0 评论