原创 爲什麼說你並不懂軟引用、弱引用、虛引用?

網上關於軟引用、弱引用的文章10篇有9篇是錯的。而錯誤的原因,就在於一個基本概念沒有弄清楚。 引用類型分爲如下幾種: 強引用:普通對象引用。 軟引用:如果內存不夠就自動清理。(前提是沒有強引用指向被引用對象) 弱引用:垃圾回收機制一運行,

原创 分佈式事務面面觀

〇、當我們談論事務的時候,我們在談論什麼 提起事務,大部分人想到的是ACID,事務隔離級別(read uncommitted、read committed、repeatable read、serializable),事務傳播策略(requ

原创 IBM推薦的Eclipse的閱讀清單(備忘)

IBM推薦的Eclipse的閱讀清單(備忘) 通過這份由 IBM 的 Eclipse 開發人員和愛好者爲開發人員編纂的閱讀清單瞭解 Eclipse。 簡介 此清單由各種資料來源編纂而成,是爲那些希望找到有關 Eclipse 的集中閱讀材

原创 定製 k8s 的 DNS 服務

Table of Contents Introduction Basics of k8s DNS kube-dns customization Setup our own name server Prepare the Dockerfil

原创 用multus模擬k8s pod的多塊網卡

Table of Contents Multiple Network Interfaces for a k8s pod Introduction Install multus binary on a VM Configure multus

原创 Java 9之後如何動態改變CLASSPATH

Problem JDK9 has changed the class loading hierarchy and the AppClassloader is no more a subclass of URLClassLoader. Th

原创 你真的懂軟引用、弱引用、虛引用嗎?

網上關於軟引用、弱引用的文章10篇有9篇是錯的。而錯誤的原因,就在於一個基本概念沒有弄清楚。 引用類型分爲如下幾種: 強引用:普通對象引用。 軟引用:如果內存不夠就自動清理。(前提是沒有強引用指向被引用對象) 弱引用:垃圾回收機制一運行,

原创 用invokedynamic實現Java多分派(1)——多分派簡介、用動態代理實現

《深入理解Java虛擬機》一書曾經提到過方法分派問題。即一種多態語言是如何決定調用哪個同名函數的。 Java函數的選擇分爲靜態選擇(編譯期,正式叫法是method overload resolution)和動態分派(運行期)兩步,靜態分派

原创 用invokedynamic實現Java多分派(3)——用invokedynamic實現

在本系列的最後一篇我們將用invokedynamic指令來實現Java多分派。 既然Java本身未提供生成invokedynamic指令的接口,我們便只好藉助於字節碼操縱工具了,這裏用的是ASM。ASM的MethodVisitor提供了v

原创 用invokedynamic實現Java多分派(2)——MethodHandles API

invokedynamic是一條虛擬機指令,但在Java語言層面上,並沒有提供生成該指令的接口(以前有過,但刪掉了)。因爲這條指令不是給Java應用程序開發人員用的,而是給在JVM上實現其它語言的人用的。JVM上實現了許多其它語言,如ja

原创 COM智能指針(Smart Pointer)的陷阱

        最近在寫一個MSXML4.0的包裝類,針對自己的項目實現一些實用功能。使用了COM的智能指針,發現使用智能指針有一些需注意的問題。       智能指針的最大陷阱就是所謂的它能夠自動銷燬。       我們知道,智能指針提

原创 在k8s中使用Oracle Storage Server模擬ASM設備

Table of Contents Introduction Steps to make the storage server pod and provision it as a PV (persistent volume) 1. Get

原创 [備份] 給英國讀研的小朋友做的C++作業

給英國讀研的小朋友做的C++作業。 Binary:一個二進制大數實現 Spase:一個雙向十字鏈表實現的稀疏矩陣 SAT:一個人工智能領域常見的SAT問題求解 Arena:迷宮(遞歸的)路徑問題 資源地址:http://d

原创 以行爲單位的文件處理程序

有些應用中,不一定必須要數據庫支持,紀錄可以保存在文本里,此時,如何對這些記錄進行增刪改查的操作呢?這裏以C++標準庫提供了一個類,來處理此類問題。該類以行爲單位進行操作,設一條紀錄存爲一行。只要拿到一行數據,再用string類進行其他處

原创 Draw2D 教程(三)

 3、使用LayoutManagers 和 Panes    Layoutmanagers,就像SWT中的Layout類,用來描述子組件在容器中的位置和大小。這一節將介紹LayoutManager  的子類,以及怎樣使用它們。    另外