原创 深入理解Java內存模型

Java 內存模型是什麼,爲什麼要有 Java 內存模型,Java 內存模型解決了什麼問題   計算機內存模型: 現代計算機,CPU在計算時,並不總是從內存讀取數據,數據讀取順序優先級是:寄存器一高速緩存(多級緩存)一內存   使用CP

原创 Java多線程-一行一行源碼分析清楚 AbstractQueuedSynchronizer

原文鏈接:https://javadoop.com/post/AbstractQueuedSynchronizer 在分析 Java 併發包 java.util.concurrent 源碼的時候,少不了需要了解 AbstractQueue

原创 JavaSE多線程-ThreadLocal原理(源碼分析)

關於Thread類: Thread類中維護了ThreadLocal.ThreadLocalMap屬性,這就是每個線程的存儲空間。相當於Map,key爲當前線程,value爲entry。 Public class Thread imple

原创 深入學習Java虛擬機:類加載機制與類加載器

Java虛擬機-類加載機制與類加載器 Java中類加載、連接和初始化的過程都是在程序運行期間完成的,這些策略雖然會令類加載時增加些性能開銷,但是會提高java的靈活性。Java動態擴展的特性就是依賴運行期動態加載和動態連接的特點實現的。

原创 深入學習Java虛擬機:內存模型

在Java中,分配內存和回收內存都由JVM自動完成。   內容:首先從操作系統層面簡單介紹物理內存的分配和Java運行的內存分配之間的關係,明白在Java中使用的內存與物理內存區別。Java如何使用從物理內存申請下來的內存,以及如何來劃分

原创 PDF技術(一)-Java實現Office系列文件轉PDF文件

最近,公司要求做個文件轉pdf的調研報告,於是在網上找了一些實現方法,現在將這些方法做個對比,並記錄下來,以後或許有用呢,哈哈。 首先說一下需求,產品要求不能使用第三方軟件實現,因爲這種實現方式效率不高,所以需要使用“純Java代碼”實現

原创 PDF技術(二)-Java實現Txt轉PDF文件

TxT轉PDF可以直接使用IText就可以了,IText在pdf領域可以說暫時是最好的方案了。通過直接讀取txt文件,然後生成pdf,再添加文本就可以了。 1)使用IText實現轉換 原理: 使用IText創建pdf,添加文本。 優點:

原创 PDF技術(三)-Java實現圖片轉PDF文件

圖片轉pdf文件同樣採用itext,將圖片加入即可 1)使用IText轉換 原理: 使用IText創建pdf,添加圖片。 優點: 速度快。 具體實現 public class Image2PDF { /*** @param pi

原创 PDF技術(四)-Java實現Html/URL轉PDF文件

由於Itext對html的轉化中,對css不是很支持,在對html進行轉化時,會發生樣式走樣的問題,這個問題任需要解決。 1)使用IText轉換 原理: 使用IText將HTML文件轉化爲PDF文件 缺點: 對CSS樣式支持不是很好。 失

原创 Spring持久化支持(一)-Spring事務管理

事務管理的目的是保證數據操作的事務性(原子性、一致性、隔離性、持久性ACID),脫離了事務性,DAO照樣可以順利地進行數據操作。 事務是一系列的動作, 它們被當做一個單獨的工作單元. 這些動作要麼全部完成, 要麼全部不起作用   Spr

原创 Redis筆記(二)-主從複製與哨兵機制

單機缺點及解決方案 單機問題:機器故障數據丟失、容量瓶頸。QPS瓶頸 需要集羣的原因: 併發量OPS的需求。要超過10w/s。 數據量“大數據”,機器只能存256G,但是需要存500G 3.集羣可以備份數據   Redis不能支撐高併發的

原创 Redis筆記(一)-Redis持久化

Redis持久化 1、故障發生的時候會怎麼樣 2、如何應對故障的發生 redis的持久化,RDB,AOF,區別、工作機制,各自的特點是什麼,適合什麼場景。如何抉擇 redis的企業級的持久化方案是什麼,是用來跟哪些企業級的場景結合起來使用

原创 計算機網絡(一)-互聯網協議

互聯網協議   互聯網是如何實現的? 全世界幾十億臺電腦,連接在一起,兩兩通信。上海的某一塊網卡送出信號,洛杉磯的另一塊網卡居然就收到了,兩者實際上根本不知道對方的物理位置,你不覺得這是很神奇的事情嗎? 互聯網的核心是一系列協議,總稱爲"

原创 OAuth2.0協議及五種授權模式

  OAuth:一個關於授權(authorization)的開放網絡標準,目前版本是2.0版。   爲何要使用OAuth協議呢?OAuth協議的應用場景。 第三方服務方提供服務,某些服務需要用戶的同意才能夠做到,好比客廳要裝修,需要得到主

原创 螞蟻開放平臺開發第三方授權登陸(二):第三方授權登錄獲取用戶信息(PC端)

在《螞蟻金服開放平臺開發前期準備》準備後,已經獲取應用AppID以及應用私鑰、支付寶公鑰、回調地址。可以進行網站應用的開發。   一、需求 用戶點擊登錄後,選擇第三方登錄中的“支付寶”,跳轉到登錄頁面使用支付寶掃碼進行授權登錄。用戶同意登