原创 手寫(chao)操作系統-編譯器的flag

本來學java併發,但是一直無法從彙編層面來理解synchronized、wait在底層是怎麼實現的,比如wait是cpu、寄存器、內存中3者交互數據,一直死循環實現的嗎?理論上也只有只能才能實現。就算有所說的通知機制,你不一直去

原创 convert-sorted-list-to-binary-search-tree

1、鏈接:convert-sorted-list-to-binary-search-tree 來源:牛客網 Given a singly linked list where elements are sorted in ascen

原创 convert-sorted-array-to-binary-search-tree

1、來源:convert-sorted-array-to-binary-search-tree 牛客網 Given an array where elements are sorted in ascending order, co

原创 construct-binary-tree-from-inorder-and-postorder-traversal

1、來源:construct-binary-tree-from-inorder-and-postorder-traversal 牛客網 Given inorder and postorder traversal of a tree

原创 climbing-stairs

1、來源:climbing-stairs 來源:牛客網 You are climbing a stair case. It takes n steps to reach to the top. Each time you can

原创 construct-binary-tree-from-preorder-and-inorder-traversal

1、來源:construct-binary-tree-from-preorder-and-inorder-traversal Given preorder and inorder traversal of a tree, con

原创 balanced-binary-tree

1、鏈接:balanced-binary-tree來源:牛客網 Given a binary tree, determine if it is height-balanced. For this problem, a heigh

原创 binary-tree-zigzag-level-order-traversal

1、來源:binary-tree-zigzag-level-order-traversal牛客網 Given a binary tree, return the zigzag level order traversal of it

原创 Java實現可GC的JVM(每個模塊有運行樣例)

Java實現簡易JVM github地址 主要模塊和樣例: 1. 讀取並解析class文件,如String、Thread等類(支持jdk8及以下) 部分類可能在demo運行時用到: zvm\bytecode\java\

原创 openjdk調試環境搭建和程序運行

參考: https://blog.csdn.net/faadfafasd/article/details/50539615 https://blog.csdn.net/tjiyu/article/details/53725247

原创 JAVA併發編程實戰-2Java內存模型:看Java如何解決可見性和有序性問題

學習上篇文章知道,可見性是由緩存導致的,有序性是由編譯優化導致的。禁用緩存和編譯優化,也就解決了這兩個問題。然而設置緩存和編譯優化的目的是爲了提供性能,直接禁用緩存和編譯優化顯然是不可行的; 故而需要按需緩存和編譯優化。J

原创 windows安裝使用JITWatch

原來在idea用了JITWatch插件,但是效果不好,換成直接使用。需要先安裝hsdis、然後從github拉JITWatch的代碼,然後編譯使用; 安裝hsdis-amd64.dll,hsdis-amd64.dll下載地

原创 JMH使用-查看JAVA的彙編語言

1.使用jmh http://openjdk.java.net/projects/code-tools/jmh/ 2.安裝maven,yum install maven 3.執行如下命令,會生成benchmark(基準測試)的te

原创 JAVA併發編程實戰-1可見性、原子性、有序性:併發編程BUG的源頭

關鍵詞:性能 是什麼: CPU運行速度、CPU從內存讀寫數據、IO設備從磁盤讀寫數據到內存,3者存在巨大的速度差異。CPU執行一天,相當於CPU從內存讀寫數據一年;讀寫內存一天,相當於IO設備讀寫十年。 性能往往是由最短的

原创 JAVA併發編程實戰-0學習攻略

JAVA併發 方法論:描繪全景圖,在圖中深入到細節 關鍵詞 爲什麼:性能; 是什麼:分工、同步、互斥 細節 1) 分工:一件事分爲多個任務,分給多個人同時做; 2) 同步:也叫協作。多個任務間可能有依賴(如A依賴B),