2019年5月22日技术杂学

    xiaoxiao2022-07-03  105

    1、linux查询硬件命令:

         df 命令可以列出不同分区的大小,-h可以以k,M,G单位展示

         free 可以察看系统的使用情况,闲置和RAM总体使用情况 -m参数配合一起使用

    2、tcp、Udp

    3、volatile 关键字

    线程可见性就是一个变量在被一个线程更改后,另一个线程应该拿到的是更改后的值。

    变量加上volatile关键字后,变量对所有线程都是可见的,当一个线程修改了这个变量的值后,编辑器就不会将这个变量复制到缓存中,就直接在内存中操作,这样从内存中取出的变量就是最新的,也就对其他线程可见了。

    加上volatile可以禁用指令重排序,会有内存屏障,指令重排序就不能把后边的指令重排序到前面位置,这样就保障代码只能串行执行,不能同步执行,这样就保证了线程的有序性。

    volatile却不能保证原子性。

    4、java并发编程的三个概念

    1、原子性 :所有操作要么全成功,要么全部成功

    2、可见性  :一个线程更改了公共值,另一个变量获取的是最新的值

    3、有序性   :程序的执行顺序按照代码顺序执行。

    最新回复(0)