原创 spring事務傳播級別

spring事務傳播級別 required經常錯的,需要原子性的,如果上下文沒有事務就不理會了,只顧着自己,是最簡單的的事務,如字面意思。如果上下文有事務就共享一個事務,可以採用Required。默認的。 supported不經常錯

原创 happens-before規則

happens-before規則 程序順序原則,即在一個線程內必須保證語義串行性,也就是說按照代碼順序執行。 鎖規則 解鎖(unlock)操作必然發生在後續的同一個鎖的加鎖(lock)之前,也就是說,如果對於一個鎖解鎖後,再加

原创 JAVA BIO

新生代的垃圾回收過程 需要參考的準備數據: 《JAVA程序設計》-朱慶生、古評主編 需要參考的知識點: 字節與字符的概念 操作系統文件系統原理 JAVA內存以及磁盤讀寫 Java File類 筆記: 操作系統的對磁盤的最小操作單位

原创 強引用,弱引用,軟引用,虛引用

強引用,弱引用,軟引用,虛引用 需要參考的準備數據: 《深入理解JAVA虛擬機》 需要參考的知識點: GC Roots 引用計數器 引用的定義 對象的引用 finalize執行時機 知識的記錄方式: - 查看博客,把沒有遇見過的

原创 java知識目錄

java知識目錄 - ~~java內存模型~~ - ~~java對象的類加載到對象內存分配以及階段的初始化過~~ - ~~強引用,弱引用,軟引用,虛引用~~ - ~~新生代的垃圾回收過程~~ - ~~新生代對象晉升老年代失敗的過程~~

原创 volatile的指令重排細節

volatile禁止重排優化 volatile關鍵字另一個作用就是禁止指令重排優化,從而避免多線程環境下程序出現亂序執行的現象,關於指令重排優化前面已詳細分析過,這裏主要簡單說明一下volatile是如何實現禁止指令重排優化的。先了解

原创 java內存模型

以本例爲開篇一遍研究如何學習,一遍把他學好 需要參考的準備數據: 《Java程序性能優化》 《深入理解JAVA虛擬機》 《Java併發編程的藝術》 需要參考的知識點: 操作系統-CPU緩存技術 jdk5之前版本相比的改動:增強了vo

原创 內存屏障(Memory Barrier )

內存屏障(Memory Barrier ) 上面講到了,通過內存屏障可以禁止特定類型處理器的重排序,從而讓程序按我們預想的流程去執行。內存屏障,又稱內存柵欄,是一個CPU指令,基本上它是一條這樣的指令: 保證特定操作的執行順序。 影

原创 JS對象比較函數,引發angular的ng-option異常

比如我們會這樣 $scope.typies = [{ id: 1, name: "設備櫃" }, { id: 2, name: "綜合櫃" }]; <select ng-options=" f.name for f in typies"

原创 Fabric的官方DEMO Building Your First Network的啓動日誌分析

當你按照官方的指示部署好preinstall的環境,下載了fabric-samples的代碼和bin目錄下的二進制程序後,你就會執行./byfn.sh -m generate   # 生成Fabric區塊鏈網絡的部署配置文件./byfn.

原创 比特幣交易的技術實現過程(礦機的協作過程)

在理解比特幣如何防止分叉之前,我們要先了解,比特幣交易的過程: 1. 由於去中心化,導致買賣雙方的誠信保證沒有了第三方做擔保了。因此信任方通常是由買家或者賣家來擔保,就比如我們去吃快餐,先吃後買單的話買家是信任擔保,如果先買單後吃的話賣

原创 UDP與TCP穿洞技術學習筆記

TCP 服務端的端口 複用爲 客戶端的端口  ( 服務端發送無歧義, 服務端接收無歧義, 客戶端發送無歧義, 客戶端接收無歧義) 服務端的端口 複用爲 服務端的端口   正常現象 客戶端的端口 複用爲 服務端的端口   (客戶端發送無歧

原创 區塊鏈技術原理-簡明的描述

其實大家對於區塊鏈不需要太過於恐懼,或者覺得高端。目前區塊鏈核心技術就兩塊: 底層區塊鏈,核心技術就是網絡協議設計,共識算法設計,區塊存儲設計。 再上面就是可編程虛擬機層(或者叫智能合約層),就是在區塊鏈上嵌入一層可編程中間件,便於程

原创 深入理解Fabric環境搭建的詳細過程

博主之前的文章都是教大家怎麼快速的搭建一個Fabric的環境,但是其中大量的工作都隱藏到了官方的腳本中,並不方便大家深入理解其中的過程,所以博主這裏就將其中的過程一步步分解,方便大家!前面的準備工作我就不用多說了,也就是各種軟件和開發環境

原创 How many fix bug method do you have?

尋找錯誤信息 尋找錯誤日誌 和 異常信息,然後運用你的直覺和經驗、智慧,推斷錯誤原因,直搗黃龍。 分析錯誤 利用工具獲取更多錯誤信息,綜合分析,比如遇到了OOM錯誤的時候。 調試代碼 開啓IDE的debug模式,斷電,單步調試