原创 給圖片添加水印,並支持瀏覽器下載輸出

業務需求:給圖片新增水印,並支持瀏覽器下載導出成zip包。 1、第一反應,通過畫筆給圖片新增加水印,圖片新增水印成功,但是通過IO流導出到瀏覽器下載的時候中文變成方格,檢查了一遍文字格式都是UTF-8的也不知道問題再哪裏。 所以這種方法,

原创 leedcode 3:無重複字符的最長子串

給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。 示例 1: 輸入: "abcabcbb" 輸出: 3  解釋: 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。   思路1:使用雙層for循環判斷每次字串是否含

原创 Java中Collection和Collections的區別?

Java中Collection和Collections的區別? 1、java.util.Collection 是一個集合接口(集合類的一個頂級接口)。它提供了對集合對象進行基本操作的通用接口方法。Collection接口在Java 類庫中

原创 根據密碼解密pdf文件,轉換成沒密碼的pdf ,然後獲取pdf的目錄數據

業務背景:需要將加密的pdf解密,然後獲取到pdf文件的目錄數據 import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfStamper; i

原创 業務:pdf轉圖片問題(解決非標準pdf轉圖片空白問題)

業務說明:由於業務相關要求,對接第三方PDF文件轉JPG之後上傳服務器,同時還進行ocr識別。 看了一下CSDN上面的一些帖子,大部分都無法處理非標準的PDF文件,比如用打印機掃描的PDF文件可能是歪着的,就會轉換圖片失敗。 前提

原创 leecode2: 兩數相加

給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,並且它們的每個節點只能存儲 一位 數字。如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 您可以假設除了數字 0 之外

原创 linux機器變慢排查方式以及CPU佔用過高排查優化

生產上遇見linux異常變慢如何排查? 基本上出現慢的問題,90%的可能都是cpu或者內存出現了問題。使用命令查看定位機器的性能細節。 1、查看整體機器性能 使用top命令。 1.1 cpu 1.2 mem 1.3 id=idl

原创 Java高併發編程筆記(一)同步器

本篇主要總結同步器的相關例子:包括synchronized、volatile、原子變量類(AtomicXxx)、CountDownLatch、ReentrantLock和ThreadLocal。還涉及到wait和notify/notify

原创 【java設計模式】之 代理(Proxy)模式(上)

先來看下代理模式的定義和目的           定義:給目標對象提供一個代理對象,並由代理對象控制對目標對象的引用         目的:1、通過引入代理對象的方式來簡介訪問目標對象,防止直接訪問目標對象給系統帶來不必要的複雜性    

原创 業務問題:用java將加密的pdf文件轉化爲圖片問題,支持png,jpg,pdf互轉

項目業務描述: 內部的一些pdf文件是加密的,要把pdf解密並進行轉圖片操作,並且像素不能受影響。 看了一些網頁上好像沒有太好的方法,一般都用spire這種第三方的庫,超過10頁還要收費。決定自己實現一個。 使用ImageMagi

原创 小白也能看懂的Cookie跟Session的區別

1、什麼是Cookie? 首先爲了能充分理解爲什麼引入Cookie和Cookie是什麼,先看了例子。不然官網上定義的概念不太容易看懂。 eg:我今天想找老王吃放,打電話給老王 Me:老王啊,上次白剽很爽,今天再一起吃個飯唄? 老王

原创 扒一扒ThreadLocal原理及應用

先總述,後分析 深挖過ThreadLocal之後,一句話概括:Synchronized用於線程間的數據共享,而ThreadLocal則用於線程間的數據隔離。所以ThreadLocal的應用場合,最適合的是按線程多實例(每個線程對應

原创 java基礎返璞歸真--談談對多態的理解

記得這個問題當初只是在校招的時候纔會問題,後來無意中聽到同事面試一個社招提到這個問題?引起了我的思考,談談想法 1、什麼是多態? 某一類事物的多種存在形態。 例如:動物中的貓、狗 貓這個對象對應的類型是貓類型, 貓 x = new

原创 LeetCode1160. 拼寫單詞

輸入:words = [“cat”,“bt”,“hat”,“tree”], chars = “atach” 輸出:6 解釋: 可以形成字符串 “cat” 和 “hat”,所以答案是 3 + 3 = 6。 思路: 因爲chars中放

原创 用Redis實現分佈式鎖以及redission使用

記上一篇用ZK實現分佈式所之後,現在在將redis實現分佈式版本補上。相比與ZK的方式簡單很多。 先看下,redis分佈式是怎麼演變的來的,redission如何使用的。 1、導入Redisson 和 StringRedisTem