java學習筆記(碎片化)
關於java同步鎖的自己的理解:
jvm虛擬機器有個執行緒私有的記憶體叫“程式計數器”,是java處理多執行緒時如何記憶上一個執行緒執行的位置的標杆,我們都知道,java多執行緒是類似cpu處理程序那樣,執行緒輪流切換,在一個時刻,一個處理器只處理一個執行緒中指令,程式計數器就起到這種切換的效果。而synchronized同步鎖我認為就是改變當前執行緒的程式計數器記錄的位元組碼指令的地址(變成鎖的地址?),然後執行緒會把這段程式碼(同步程式碼塊)執行完全後再去根據另一個執行緒的程式計數器完成執行緒切換。總結就是,鎖統一了執行緒的一段程式碼的計數器地址,而讓這段程式碼能完全執行完畢。
相關推薦
java學習筆記(碎片化)
關於java同步鎖的自己的理解:jvm虛擬機器有個執行緒私有的記憶體叫“程式計數器”,是java處理多執行緒時如何記憶上一個執行緒執行的位置的標杆,我們都知道,java多執行緒是類似cpu處理程序那樣,執行緒輪流切換,在一個時刻,一個處理器只處理一個執行緒中指令,程式計數器就
Java學習筆記(十五):import關鍵字
http 技術分享 import logs java學習筆記 .cn 關鍵字 blog ava Java學習筆記(十五):import關鍵字
Java學習筆記(十五):this關鍵字
bsp java image nbsp his this mage 學習筆記 筆記 Java學習筆記(十五):this關鍵字
Java學習筆記(十六):static關鍵字
ima 關鍵字 static關鍵字 es2017 java學習筆記 sta com 筆記 nbsp Java學習筆記(十六):static關鍵字
Java學習筆記(十七):super關鍵字
mage cnblogs 分享 關鍵字 super關鍵字 log .cn nbsp java Java學習筆記(十七):super關鍵字
Java學習筆記(二十三):final關鍵字
類繼承 ron 滿足 單詞 靜態 bsp 條件 str 進行 final關鍵字有三種使用場景: final修飾類 final修飾方法 final修飾變量 final修飾的類,不能再有子類繼承。 只要滿足以下條件就可以把一個類設計為final類: 不是專門為繼承而設
final關鍵字 ——Thinking in Java學習筆記(十一)
final的使用情況一般分為三種:資料、方法、類 final資料 final修飾的資料表示值不可變,引用不能改變。其中,對資料的修飾又分為: 1、final成員變數:由final修飾的類成員變數,如果是基礎資料型別就表示不能改變它的值,但如果是已經初始化了的引用
java學習筆記(十四)冒泡與選擇排序
冒泡與選擇排序 一.氣泡排序BubbleSort 氣泡排序是一種比較經典的排序演算法,在很多時候都能夠用到,氣泡排序的原理是相鄰的兩個元素進行比較,小的放前面,大的放後面 我們可以看一下排序的過程 ps:圖片比較小大家點開看大圖 java原始
Java學習筆記(註釋、物件初始化過程、單例模式)
面向物件 9.幫助文件的製作 9.1註釋 - 原則: 1、註釋形式統一 在整個應用程式中,使用具有一致的標點和結構的樣式來構造註釋。如果在其它專案中發現它們的註釋規範與這份文件不同,按照這份規範寫程式碼,不要試圖在既成的規範系
JAVA學習筆記(1)——a++與++a的區別
col int 演示 opera 解析 代碼 數據 ++i div 需求:此博客用於解釋i++與++i的區別。 過程: 1、名稱解釋 ++:自增,即在原有數據基礎上+1,再賦給原有數據。 2、程序演示 (1)代碼: 1 class OperateDemo 2 { 3
JAVA學習筆記(三)
byte repl efi ber 時間 clas 區分大小寫 增強for size @SuppressWarnings("resource")是用來壓制資源泄露警告的。比如使用io類,最後沒有關閉。Set集合特點:1)無序,不隨機2)元素唯一3)沒下標註意:Collect
java學習筆記(二)圖形用戶接口
star strong per getwidth cep runnable graphics s2d gb2 這個學期主要放在ACM比賽上去了,比賽結束了。不知不覺就15周了,這周就要java考試了,復習一下java吧。java的學習的目的還是讓我們學以致用,讓我們可以
Java學習筆記(第一次課)
stdio.h println 標準 ant 方法參數 ann 控制 大小寫 protect 1.簡單的Java語言模板 package inclass1_1; import java.io.*;//導入包(相當於c語言的#include<stdio.h>)
Java學習筆記(二)-------String,StringBuffer,StringBuilder區別以及映射到的同步,異步相關知識
ringbuf 等待 java學習筆記 java學習 單線程 回復 改變 hashtable ble 1. String是不可變類,改變String變量中的值,相當於開辟了新的空間存放新的string變量 2. StringBuffer 可變的類,可以通過append方法改
Java學習筆記(for-each循環與數組的拷貝)
i++ nbsp 學習筆記 data code xxxxx color 管理者 java for-each循環 //第一次循環,k=data[0]; //第二次循環,k=data[1]; //... for(int k:data) //data是數組 { xxx
Java學習筆記(trim()與substring())
tro 字符串 n) substr java bsp log 執行 spa 了解到這兩個函數是因為在做OJ的題目時遇到了這樣的情況: 標註輸入為:4 abc 兩種數據用空格分隔開,但找不到只讀一個字符的方法(吃掉中間的空格) trim(): 去掉字符串首尾的空格 St
java學習筆記(四):import語法
employee sign cnblogs java 調用 變量賦值 temp 職位 求職 Import 語法是給編譯器尋找特定類的適當位置的一種方法。 創建一個Employee 類,包括四個實體變量姓名(name),年齡(age),職位(designation)和薪水(s
java學習筆記(六):變量類型
animal 單獨使用 div 位置 fin strong pub 局部變量 變量聲明 java一共三種變量: 局部變量(本地變量):方法調用時創建,方法結束時銷毀 實例變量(全局變量):類創建時創建,類銷毀時銷毀 類變量(靜態變量):程序啟動是創建,程序銷毀時銷毀
java學習筆記(八):繼承
this關鍵字 log implement java學習 方式 show 使用 類型 多繼承 繼承 子類擁有父類非private的屬性,方法。 子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。 子類可以用自己的方式實現父類的方法。 Java的繼承
java學習筆記(九):Java 流(Stream)、文件(File)和IO
用戶輸入 public 文件內容 輸出流 out 單個 java 我們 ready Java 的控制臺輸入由 System.in 完成。 為了獲得一個綁定到控制臺的字符流,你可以把 System.in 包裝在一個 BufferedReader 對象中來創建一個字符流。需要i