日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java需要掌握的底层知识_Java程序员应该掌握的底层知识

發布時間:2024/9/27 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java需要掌握的底层知识_Java程序员应该掌握的底层知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緩存

緩存行:

緩存行越大,局部性空間效率越高,但讀取時間慢

緩存行越小,局部性空間效率越低,但讀取時間快

取一個折中值,目前多用:

64字節

public class CacheLinePadding { //執行時間在4s左右

public volatile static long[] arr=new long[2];

public static void main(String[] args) throws Exception{

Thread t1=new Thread(()->{

for (long i=0;i< 10_0000_0000L;i++){

arr[0]=i;

}

});

Thread t2=new Thread(()->{

for (long i=0;i< 10_0000_0000L;i++){

arr[1]=i;

}

});

t1.start();

t2.start();

final long start = System.nanoTime();

t1.join();

t2.join();

final long end = System.nanoTime();

System.out.println((end-start)/1000000);

}

}

public class T02_CacheLinePadding { //執行在2s左右

public volatile static long[] arr=new long[16];

public static void main(String[] args) throws Exception{

Thread t1=new Thread(()->{

for (long i=0;i< 10_0000_0000L;i++){

arr[0]=i;

}

});

Thread t2=new Thread(()->{

for (long i=0;i< 10_0000_0000L;i++){

arr[8]=i;

}

});

t1.start();

t2.start();

final long start = System.nanoTime();

t1.join();

t2.join();

final long end = System.nanoTime();

System.out.println((end-start)/1000000);

}

}

緩存行對齊:對于有些特別敏感的數字,會存在線程高競爭的訪問,為了保證不發生偽共享,可以使用緩存航對齊的編程方式

JDK7中,很多采用long padding提高效率

eg:

JDK8,加入了@Contended注解(實驗)需要加上:JVM -XX:-RestrictContended

public class T03_CacheLinePading {

@Contended

volatile long x;

@Contended

volatile long y;

public static void main(String[] args) throws Exception{ //0.6s

T03_CacheLinePading t3=new T03_CacheLinePading();

Thread t1=new Thread(()->{

for (long i=0;i< 1_0000_0000L;i++){

t3.x=i;

}

});

Thread t2=new Thread(()->{

for (long i=0;i< 1_0000_0000L;i++){

t3.y=i;

}

});

t1.start();

t2.start();

final long start = System.nanoTime();

t1.join();

t2.join();

final long end = System.nanoTime();

System.out.println((end-start)/1000000);

}

}

亂序執行

/**

* CPU的亂序執行

*/

public class DisorderTest {

private static int x=0,y=0;

private static int a=0,b=0;

//第44448次 (0,0)

public static void main(String[] args) throws InterruptedException {

int i = 0;

for (; ; ) {

i++;

x = 0;

y = 0;

a = 0;

b = 0;

Thread one = new Thread(new Runnable() {

public void run() {

//由于線程one先啟動,下面這句話讓它等一等線程two. 讀著可根據自己電腦的實際性能適當調整等待時間.

shortWait(100000);

a = 1;

x = b;

}

});

Thread other = new Thread(new Runnable() {

public void run() {

b = 1;

y = a;

}

});

one.start();

other.start();

one.join();

other.join();

String result = "第" + i + "次(" + x + "," + y + ")";

if (x == 0 && y == 0) {

System.err.println(result);

break;

} else {

//System.out.println(result);

}

}

}

public static void shortWait(long interval){

long start = System.nanoTime();

long end;

do{

end = System.nanoTime();

}while(start + interval >= end);

}

}

禁止亂序

CPU層面:Intel -> 原語(mfence lfence sfence) 或者鎖總線

JVM層級:8個hanppens-before原則 4個內存屏障 (LL LS SL SS)

as-if-serial : 不管硬件什么順序,單線程執行的結果不變,看上去像是serial

合并寫

Write Combining Buffer

一般是4個字節

由于ALU速度太快,所以在寫入L1的同時,寫入一個WC Buffer,滿了之后,再直接更新到L2

總結

以上是生活随笔為你收集整理的Java需要掌握的底层知识_Java程序员应该掌握的底层知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美亚洲日本一区 | 日韩图片一区 | 色婷婷在线观看视频 | 久久久久久久久久久久久女国产乱 | 国产freexxxx性播放麻豆 | 风流少妇一区二区三区91 | 操干视频| 中文字幕无线码一区 | 亚洲色图图片 | 在线欧美 | 欧美成一区二区三区 | 中文字幕电影av | av在线男人天堂 | 黄色肉肉视频 | 99热在线免费观看 | 香蕉视频在线观看免费 | 国产一区二区三区免费播放 | 国产一区二区三区在线观看免费 | 免费久久精品视频 | 在线看片一区二区 | 肉丝美脚视频一区二区 | 久久久久亚洲av片无码下载蜜桃 | 强开小受嫩苞第一次免费视频 | 在线播放的av | julia一区二区三区中文字幕 | 成人免费一级片 | 国产美女免费网站 | 激情婷婷六月天 | 国产乱码久久久久 | 日本在线观看www | 黄黄视频在线观看 | 少妇光屁股影院 | 成人免费看视频 | 国产高潮av | 黄色无遮挡网站 | 欧美激情一二三区 | 少妇天堂网 | 亚洲成年人影院 | 青青草国产精品视频 | 久久这里有精品视频 | 免费a大片 | 国产第9页| 国产一级爽片 | 亚洲国产欧美一区二区三区深喉 | 中国一级片黄色一级片黄 | 亚欧成人精品一区二区 | 亚洲一区二区三区av无码 | 一级片大全 | 福利电影在线播放 | 好色先生视频污 | 制服.丝袜.亚洲.中文.综合懂色 | www.精品 | 国产新婚疯狂做爰视频 | 精品免费在线 | 成人性生交大片免费看r链接 | 亚洲精品永久免费 | 国产又粗又长又爽 | 国产东北真实交换多p免视频 | 国产老熟妇精品观看 | 男朋友是消防员第一季 | va在线播放| 成人亚洲综合 | 亚洲午夜精品一区二区 | 久久短视频 | 在线草 | 在线免费精品视频 | 我想看毛片| 天天摸天天射 | www.五月天com | 在线精品一区 | 一级片手机在线观看 | 一区日韩| 一级欧美日韩 | 亚洲系列 | 免费黄色小网站 | 欧美大片91 | 最近中文字幕在线mv视频在线 | 成年人黄色大片 | 欧洲熟妇精品视频 | 成人小视频免费看 | 91av看片 | 日日夜夜一区二区 | 日本一本在线 | 欧美图片一区二区三区 | 国产美女视频网站 | 日本一区二区三区久久久久 | 亚洲免费在线 | 99热这里只有精品在线 | 日韩欧美二区三区 | 中文字幕在线免费看 | 久久伊人av | 亚洲最大黄色网址 | 日本黄色三级 | av一区二区三区四区 | 男生操女生动漫 | 日韩字幕在线观看 | 久久精热| 福利第一页 | 91亚洲国产成人久久精品网站 |