doeat's blog

live for live


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

冒泡算法对String字符串的数据进行排序

发表于 2018-08-01 更新于 2019-07-18 分类于 Java

public class test { public static void main(String\[\] args) { String s = "58627"; //split转换s为arr数组 String\[\] arr = s.sp ...

阅读全文 »

线程安全性有序性

发表于 2018-08-01 更新于 2019-07-18 分类于 高并发

Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性 Java里面可以通过volatile、synchronized、Lock保证有序性 happens-before原则 程序次序规则:一个线程内,按照代码顺序,书写在前面 ...

阅读全文 »

线程可见性

发表于 2018-07-31 更新于 2019-07-18 分类于 高并发

导致共享变量在线程间不可见的原因 线程交叉执行 重排序结合线程交叉执行 共享变量更新后的值没有在工作内存和主内存直接即时更新 可见性synchronizedJMM(java内存模型)关于synchronized的两条规定: 线程解锁前,必须把共享变量的最新值刷新到主内存 线程加锁时,将清空工作内存 ...

阅读全文 »

线程安全原子性对比

发表于 2018-07-31 更新于 2019-07-18 分类于 高并发

synchronized:不可中断锁,适合竞争不激烈,可读性好 Lock:可中断锁。多样化同步,竞争激烈时能维持常态 Atomic:竞争激烈时能维持常态,比Lock性能好;只能同步一个值

阅读全文 »

synchronized

发表于 2018-07-31 更新于 2019-07-18 分类于 高并发

修饰代码块:大括号括起来的代码,作用于调用的对象 修饰方法:整个方法,作用于调用对象 修饰静态方法:整个静态方法,作用于这个类所有对象 修饰类:括号括起来的部分,作用于这个类的所有对象 如果子类继承的父类有synchronized修饰的方法那调用父类的这个方法,不是synchronized修饰的方法 ...

阅读全文 »
1…222324…47
Charlie

Charlie

232 日志
38 分类
8 标签
© 2019 Charlie
本站总访问量次   |   本站访客数人