会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Draymond
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
4
5
6
7
8
9
10
11
下一页
2020年2月27日
Ubuntu 18.04 安装mysql8.0
摘要: 1:安装 https://blog.csdn.net/qq_40871363/article/details/88822117 2:常用命令 sudo mysql -u root -p service mysql stop service mysql start service mysql rest
阅读全文
posted @ 2020-02-27 09:03 Draymond
阅读(112)
评论(0)
推荐(0)
2020年2月19日
多线程三要素
摘要: 多线程的三要素 原子性 所有的操作要么成功,要么失败,不能中间中止 可见性 对于共享变量,有一个线程修改了其值,其他线程也能看到,使用的也是最新的值 有序性 代码按照顺序执行(只要求最终一致性)(不影响单线程的最终一致性,但会影响多线程的一致性) { int i=0; boolean b=false
阅读全文
posted @ 2020-02-19 14:52 Draymond
阅读(633)
评论(0)
推荐(0)
happens-before
摘要: 单线程下,编写在前面的代码优先于后面的代码执行unlock发生在lock后volatile修饰的变量,写操作优先于读操作(多线程条件,既有read又有write,先write保存到cache-> main memory ;read再从main memory中读取)传递规则:A优先于B,B优先于C,则
阅读全文
posted @ 2020-02-19 09:53 Draymond
阅读(111)
评论(0)
推荐(0)
volatile
摘要: 作用 1:内存可见性 强制对缓存的修改立刻写入主存 如果是写操作,会导致其他cpu的缓存失效 2:代码执行顺序 保证重排的顺序不会把后面的指令放到屏障的前面,也不会把前面的放到后面 3:不保证原子性使用场景 1:状态量标记 volatile boolean run=true; while(run){
阅读全文
posted @ 2020-02-19 09:51 Draymond
阅读(199)
评论(0)
推荐(0)
2020年2月18日
wait set
摘要: /** * waitSet * 通过JVM虚拟机实现的,调用wait方法,会将此线程放入到wait set中,然后放弃锁(对某些资源的声明) * 1:所有的对象都会有一个wait set,用来存放调用了该对象wait方法之后进入block状态线程 * 2:线程被notify之后,并一定立即执行 *
阅读全文
posted @ 2020-02-18 13:33 Draymond
阅读(260)
评论(0)
推荐(0)
2020年2月17日
设计模式1,单例模式
摘要: 类的加载顺序 先执行父类的静态代码块和静态变量初始化,静态代码块和静态变量的执行顺序跟代码中出现的顺序有关。 执行子类的静态代码块和静态变量初始化。 执行父类的实例变量初始化 执行父类的构造函数 执行子类的实例变量初始化 执行子类的构造函数 单例模式:饿汉式 /** * 单例模式:饿汉式 * 类加载
阅读全文
posted @ 2020-02-17 20:53 Draymond
阅读(152)
评论(0)
推荐(0)
2020年2月16日
钩子程序
摘要: 1:作用 在线程结束前触发执行的逻辑代码 应用停止发送提醒(邮件,短信,钉钉消息等);关闭一些连接等 2:使用方法 // 钩子程序 Runtime.getRuntime().addShutdownHook(new Thread(() -> { System.out.println("钩子程序:应用结
阅读全文
posted @ 2020-02-16 16:37 Draymond
阅读(236)
评论(0)
推荐(0)
线程生命周期
摘要: 线程的生命周期 新建(New) new Thread(); 当程序使用new关键字创建一个线程的后,该线程就是“新建”状态;此时,它与其他的java对象一样,仅仅由java虚拟机 为其分配了内存,并初始化了其成员变量值。此时的线程对象没有表现出热恩和的线程的动态特征,程序也不会执行 就绪(Runna
阅读全文
posted @ 2020-02-16 11:48 Draymond
阅读(132)
评论(0)
推荐(0)
sleep与wait的区别
摘要: 1 使用对象区别 sleep的调用者是Thread,wait的调用者是所有实例对象 2 使用位置的区别 sleep在任何位置都能使用,而wait/notify/notifyAll需要在"synchronized"同步代码块中使用(wait需要一个监视器monitor) 3 是否释放资源 wait方法
阅读全文
posted @ 2020-02-16 11:36 Draymond
阅读(403)
评论(0)
推荐(0)
2020年1月7日
JVM内存结构
摘要: 1:JVM内存结构分类 1.1:线程共享区 堆 方法区 1.2:线程独占区 程序计数器 java虚拟机栈 本地方法栈 2:程序计数器 程序计数器是一块较小的内存空间。它可以看作是“当前线程所执行的字节码的行号指示器”。 线程独占。 如果是java方法,这个程序计数器记录的是“正在执行的虚拟机字节码指
阅读全文
posted @ 2020-01-07 09:19 Draymond
阅读(107)
评论(0)
推荐(0)
上一页
1
···
4
5
6
7
8
9
10
11
下一页
公告