原创 深入理解jvm虛擬機第二章總結

1運行時數據區 對於線程隔離的數據區其實就是線程私有的數據區。每個線程都擁有自己的這三個部分 1.程序計數器    可以理解爲cpu中的pc就是爲了記錄當前線程執行到哪條指令,也用於恢復現場,pc寄存器中記錄的是虛擬機棧的的指令地址,如

原创 maven下載使用和創建web項目的坑

打算開始學一下Spring全家桶,想到以後工作要用maven,就想着用maven搭建spring項目,然後就是接着一些坑。 開始安裝maven和在cmd輸入mvn -v 都沒問題,也修改了本地倉庫的地址,然後照着別人改成阿里的代理,就開始

原创 二叉樹uva-679(做滿二叉樹的題目的思路)

題目連接 題目大意思是給定一顆滿二叉樹,球經過一個節點往左數走之後就要往右樹走,先衝左樹開始走,下一顆經過這個節點的球往右樹走 這道題參考紫書。 如果按照順序模擬的話會超時。 但是這道題用二叉樹來做的,樹的題目有點類似遞歸,從樹節點到子樹

原创 樹狀數組可以解決的問題!

1  可以求一個序列的逆序對個數 2 可以解決  區間增加和單點查詢的操作  (算法能yy真的很強!,就是不會yy)     數狀數組  原本的操作是單點修改和前綴區間查詢      解決的方案就是 將前綴區間查詢得到的結果作爲單點查詢 

原创 數論 poj2689 二次篩選

debug到吐, 數論要注意1 不是素數, 這點卡了我有點久 二次篩選都沒問題,在選擇相鄰差最大和最小的時候出了問題,自閉了。 主要是用了線性篩法  篩出   區間【2,根號R】之間的素數, 然後用雙重循環去篩選,【l,r】之間的合數,標

原创 深入理解jvm虛擬機第三章總結

1如何判斷垃圾   判斷一個對象是否是垃圾就看這個對象是否還被引用,如果這個對象還被引用,就說明有用到的可能,沒被引用就說明之後不可能被使用,就是垃圾。判斷方法有兩種 1.引用計數法    就是一個對象被引用一次就++一次;但是會存在兩個

原创 樂觀鎖和悲觀鎖

悲觀鎖     總是假設最壞的情況,每次去拿數據的時候都認爲別人會修改,所以每次在拿 數據的時候都會上鎖,這樣別人想拿這個數據就會阻塞直到它拿到鎖(共享資 源每次只給一個線程使用,其它線程阻塞,用完後再把資源轉讓給其它線 程)。傳統的關係

原创 紅黑樹刪除

學習鏈接 可能出現的情形討論 刪除紅黑樹中一個結點,刪除的結點是其子結點狀態和顏色的組合。子結點的狀態有三種:無子結點、只有一個子結點、有兩個子結點。顏色有紅色和黑色兩種。所以共會有6種組合。 組合1:被刪結點無子結點,且被刪結點爲紅色

原创 java父類引用指向子類對象中的 函數重載返回值不同

寫出程序結果 class Super {     public int get() {        return 4;     } }   class Demo15 extends Super {     public long ge

原创 電腦從0開始給idea配置maven

maven 就是用於版本管理 類包的一個工具 ;在需要跟新一個框架的jar包 或者 想導入一個jar包的時候 使用到, 類似於git maven也有一個屬於自己的本地庫,用於存放下載下來的jar包 參考鏈接 在連接最後點擊確定後,需要聯網

原创 將idea編寫的java項目上傳至git倉庫中報錯

首先是會出現遠程倉庫和本地倉庫不匹配的問題 所以在idea中進行正常的push操作會報錯 push rejected  此時通過如下 命令上傳查看具體錯誤 git push https://github.com/github名字 / 倉

原创 紅黑樹的定義與查找插入

參考鏈接,這邊寫的刪除不易懂 紅黑樹定義 紅黑樹也是二叉查找樹,二叉查找樹這一數據結構並不難,而紅黑樹之所以難是難在它是自平衡的二叉查找樹,在進行插入和刪除等可能會破壞樹的平衡的操作時,需要重新自處理達到平衡狀態 紅黑樹定義和性質 紅黑樹

原创 java面試題 坑

java三元運算符與類型強制轉換 integer 中的緩衝 Integer128==128?false java中爲什麼打印char數組輸出是值,而其他是地址值 java權限修飾符 java父類引用指向子類對象中的 函數重載返回值不同

原创 IDEA中Git的更新/提交/還原方法

轉載鏈接 記錄一下在IDEA上怎樣將寫的代碼提交到GitHub遠程庫:  下面這個圖是基本的提交代碼的順序: 1. 將代碼Add到stage暫存區 本地修改了代碼後,需先將代碼add到暫存區,最後才能真正提價到git倉庫。  首先,ID

原创 java中jdk1.8的hashmap爲啥要用尾插法,不用頭插入。

因爲在多線程中會出現死循環的情況,就是有兩個線程,在同時運行,線程A在給hashmap進行 resize操作 線程B在進行add操作添加b進來,如果是頭插法, 在resize中,原本的最後一個元素A會重新放入到這個table數組中,在線程