原创 泛型概念與用例

什麼是泛型   泛型的本質是參數化類型,也就是說所操作的 數據類型 被指定爲一個參數 泛型有什麼優勢   泛型完成的功能,Object類型也能完成,但是使用泛型可以更加方便,如泛型不需要類型轉換、泛型在編譯期間就能發現類型異常等

原创 Spring中的IOC和AOP、事務傳播行爲、MVC

什麼是Spring:   Spring是一個開源的,輕量級的IOC和AOP容器框架,簡化了開發流程,方便了對其他框架的整合 控制反轉(Inversion Of Controll):   將相互依賴對象的創建和協調工作都交由IOC容

原创 JDK 7 / 8版本下,Map的學習

HashMap(JDK 8): 爲什麼用HashMap: HashMap 是一個散列桶(數組和鏈表/紅黑樹),它存儲的內容是鍵值對 key-value 映射 當hash衝突越少時(鏈表長度短,紅黑樹深度小),查找的時間複雜度越接

原创 線程與常見線程池與核心參數

進程與線程 兩者的區別: 進程是計算機資源(CPU、內存等)分配基本單位;爲避免進程間的互相干擾,每個進程都擁有自己獨立的地址空間。 線程是CPU調度和分派的基本單位,是程序執行時的最小單位;一個進程可以由很多個線程組成;

原创 Spring Cloud 常用組件學習

SpringBoot 與 SpringCould 是什麼?它們的出現是爲了解決什麼問題? Spring Boot:是一種服務開發技術;是爲了達到簡化項目的目的。 Spring Cloud:分佈式微服務架構的一站式解決方案,是多種微

原创 已知IP和子網掩碼,計算網絡號、主機號、子網個數、可容納的主機數

已知 IP 爲 180.210.242.131 ,子網掩碼爲 255.255.248.0,求: 180.210.242.131 的二進制爲:10110100.11010010.11110010.10000011 255.255.2

原创 DB調優(不解釋連招) :表設計和SQL方向下

一、從表設計方向上:   在設計表時,遵循設計範式,儘量使用一對一、一對多,當出現多對多時,儘量使用中間表來存儲(在同一個項目中,如果有多種多對多的場景,可以考慮將所有多對多的中間關係存儲在一張表中,達到減少表數量的目的)。 三範

原创 Spring應用如何打包爲可執行的jar

  本文將介紹,如何將 Spring 應用如何打包爲可執行的 jar ,以及在打包、執行 jar 中遇到的問題和解決方案。 場景:   現有一需求,需要把通過 Spring + MyBatis + Maven 構建的非 Web 應

原创 最長遞增子序列 與 俄羅斯套娃

最長遞增子序列 (Longest Increasing Subsequence) Q:在無序的整數數組,找到其中最長上升子序列的長度。 T=O( N2 ) //nums:輸入數組 public int lengthOfLIS(i

原创 思考、計劃、執行、結果

20.5.30 12.15 目前是已經在同花順實習了三週的時間了,有些感觸,有些思考,現在把他記錄下來。 關於工作上,感覺自己有些組件都沒有接觸過,需要學的有太多了,但感覺缺乏一點學習的動力,一拖再拖的情況一直出現,感覺只從過來杭

原创 關於 String 轉 Enum 類型,適用所有場景

問題: 爲了讓開發中的代碼可讀性增加,可以使用 Enum 類型,但是 String 轉 Enum 類型需要分情況討論。網上過多的解答都是部分情況,現記錄如下: 情況一 假設定義瞭如下的enum(枚舉): public enum B

原创 AQS(AbstractQueuedSynchronizer) 底層實現介紹

什麼是AQS   AQS是一個用來構建鎖和同步器的框架,比如 ReentrantLock(獨佔鎖)、FutureTask(在 JDK 8之前使用AQS實現,8開始修改爲state和stack完成)、CountDownLatch(共

原创 悲觀 / 樂觀鎖原理與運用

樂觀鎖: 不會加鎖,只是更新共享資源時,判斷是否允許更新。 一. CAS(Compare and Swap)思想: 需要讀寫的內存值V,進行比較的預期值A,要寫入的新值B。 當且僅當預期值A和內存值V相同時,才允許將內存值V修改爲

原创 Spring 中 使用含文件標籤的表單 和 按鈕配合Ajax 上傳文件的用例

在 Spring 中,文件上傳的工具類是 MultipartFile ,本次的用例也採用該工具類。 使用含文件標籤的表單提交   這種方式比較簡單,使用用戶可見的提交按鈕進行文件的上傳 前端頁面 <form action="/u

原创 JDK 8 下的Stream API 與 Lambda

爲什麼我們要使用 Stream ? 使用 Stream 對 集合中存儲的數據 進行操作,可以寫出更加高效、簡潔且易於使用的數據處理方式。 Stream 的執行流程 創建流 一系列中間操作 終止操作 注意: Stream 中的操