笔记
l呃呃
这个作者很懒,什么都没留下…
展开
-
Linux总结
Linux文件操作命令1、文件查看命令文本查看cat查看文件内容合并文件往文件中写入数据, Ctrl+d 是结束输入more当一个文件的内容超过一个屏幕能显示的行数,使用 more 可以分屏显示文件内容。使用方式: more filenameless文本内容查看器,查看文件内容,但是文件内容不会显示到界面上head显示文件前 n 行的内容tail显示文件后 n 行的内容数据统计wc统计文件中单词个数(-w)、字符个数(-c)、行数(-l)文件编辑命令VIM原创 2020-10-21 12:00:05 · 168 阅读 · 0 评论 -
初始Linux目录结构
Linux 就是一组软件,而软件分为操作系统软件和应用软件,当然 Linux 属于操作系统软件。Linux和Windows的区别终端的基本操作Linux结构目录结构:路径开机与重启Linux文件类型Linux 就是一组软件,而软件分为操作系统软件和应用软件,当然 Linux 属于操作系统软件。1、Linux 主要使用命令行操作系统,Windows 图形化界面2、Linux 主要应用于服务器,Windows 是个人操作系统3、Linux 属于开源项目,而 Windows 不开源4、Linux 是多用户系原创 2020-10-07 21:26:17 · 284 阅读 · 0 评论 -
线程间通信
线程间通信线程通信是什么wait()/notify()/notifyAll()await/signal/signalAll线程通信是什么线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。例如,线程B可以等待线程A的一个信号,这个信号会通知线程B数据已经准备好了wait()/notify()/notifyAll()必须在synchronized同步代码块中使用一个线程一旦调用了任意对象的wait()方法,就会变为非运行状态,直到另一个线程调用了同一个对象的n原创 2020-07-31 10:59:29 · 180 阅读 · 0 评论 -
死锁
这里写目录标题什么是死锁二级目录三级目录什么是死锁二级目录三级目录死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。死锁的必要条件1)互斥条件:某个资源某一时刻只能由一个线程占用2)不可抢占条件:资源申请者不能从资源占有者手中抢夺资源3)占有且申请:线程至少已经占有一个资源,但又去申请新的资源,新资源被占用,该线程会阻塞4)循环等待:原创 2020-07-28 21:55:54 · 89 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap类的继承关系核心方法put()、get()解读类的继承关系 public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable {AbstractMap:一个抽象类,与HashMap一样,会有一些公有方法定义在AbstractMap里,对Map的基本操作;ConcurrentMa原创 2020-07-28 21:51:08 · 110 阅读 · 0 评论 -
ReentrantLock
ReentrantLockReentrantLock底层实现获取锁与释放锁公平锁与非公平锁可重入锁与不可重入锁ReentrantLock与synchronized的比较ReentrantLock提供了无条件的,可轮询的,定时的以及可中断的锁获取操作加锁和解锁都是显式的使用格式:```javaLock lock = new ReentrantLock();try{lock.lock();//加锁操作}finally{lock.unlock();}``使用后必须释放锁底层实现当我们n原创 2020-07-28 21:39:20 · 77 阅读 · 0 评论 -
Volatile
VolatileVolatile 内存屏障在多线程中volatile关键字解决类似于cpu缓存一致性问题线程1 线程2线程1的工作内存 线程2的工作内存(x的副本) (x的副本)主内存(共享变量x)、x++unsafe.cpp源码中,volatile修饰的变量存在一个"lock."的前缀"lock."相当于是一个内存屏障例:int x = 10;int y = 10;volatile int原创 2020-07-28 21:24:53 · 78 阅读 · 0 评论 -
多线程的讲解
并发与并行:并发:多个线程操作同一个资源,不是同时执行,而是交替执行,单核CPU交替执行时间间隔特别短并发编程:指多个任务在一个时间段重复执行的结构并发编程的三个特性:1.原子性原子操作:不可分割的操作,中间不会被其他线程打断,不需要同步操作多个原子操作合起来就需要使用到同步原子性指的是一次操作或者多个操作,要么全部执行,要么全部都不执行例如:int a = 10 ; //原子操作a++; // 不是原子操作int b = a; //不是原子操作a = a+1; // 不是操作原创 2020-07-28 21:04:32 · 83 阅读 · 0 评论