Annotation(註解)就是 Java 提供了一種元程序中的元素關聯任何信息和着任何元數據(metadata)的途徑和方法。Annotion(註解) 是一個接口,程序能夠經過反射來獲取指定程序元素的 Annotion 對象,而後經過 Annotion 對象來獲取註解裏面的元數據。
java
關於 JVM 堆內存分配的一些原理。
面試
集合番@HashMap一文通(1.7版)
算法
Dagger2神器入門(三)
spring
java 集合類基礎和延伸,集合之間的對比和 Java8 的一些改進
數據庫
搞清楚Java中線程都有哪些狀態,線程間如何進行協做,這是使用Java進行併發編程的基礎。本文是做者本身對Java中線程的狀態、線程間協做、相關API使用的理解與總結,不對之處,望指出,共勉。
編程
本文比較詳細的分析了線程池的工做流程: 分析了線程的建立,任務的提交,狀態的轉換以及線程池的關閉;介紹了線程池關閉時的過程,也分析了 shutdown 方法與 getTask 方法存在競態條件等等。
後端
對八種排序的講解和代碼實現。
設計模式
有哪些 Java 源代碼看了後讓你收穫不少,代碼思惟和能力有較大的提高?
Java 開源
安全
本博文主要記錄我學習 Java 反射(reflect)的一點心得,在瞭解反射以前,你應該先了解 Java 中的 Class 類,若是你不是很瞭解,能夠先簡單瞭解下。 1、Java 反射機制 參考了許多博文,總結了如下我的觀點,如有不妥還望指正: Java 反射機制在程序運行時,對…
springboot
100 多道 java 面試題 + 答案。
咱們常常聽到B+樹就是這個概念,用這個樹的目的和紅黑樹差很少,也是爲了儘可能保持樹的平衡,固然紅黑樹是二叉樹,但B+樹就不是二叉樹了,節點下面能夠有多個子節點,數據庫開發商會設置子節點數的一個最大值,這個值不會過小,因此B+樹通常來講比較矮胖,而紅黑樹就比較瘦高了。 關於B+樹的…
講解泛型的做用和意義,用例子講解讓人更容易理解。
HashMap 是咱們平時很經常使用到的集合,但它是非線程安全的, 解決方案有 Hashtable 和 Collections.synchronizedMap(hashMap), 然而這兩種方式太太低效, 因此 Doug Lea 爲咱們設計了既線程安全性能也相對優秀的 ConcurrentHashMap 類。
基於 Token 的 WEB 後臺認證機制
這篇文章是做者讀完深刻了解 java 虛擬機的讀書筆記,能夠做爲學習 java 虛擬機的路線。
HashMap是常考點,而通常不問List的幾個實現類(偏簡單)。如下基於JDK1.8.0_102分析。 簡單的說,capacity就是bucket的大小,loadFactor就是bucket填滿程度的最大比例。當bucket中的entries的數目(而不是已佔用的位置數)大於…
集合番@LinkedHashMap一文通(1.7版)
講得很透徹,深刻淺出。
最好的Dagger2神器入門文章,沒有之一
此係列文章是做者在最近參加了一些筆試面試以後進行的一波小總結,本文爲第一篇,將持續按期更新。
上篇文章介紹了Spring boot初級教程:spring boot(一):入門篇,方便你們快速入門、瞭解實踐Spring boot特性;本篇文章接着上篇內容繼續爲你們介紹spring boot的其它特性(有些未必是spring boot體系桟的功能,可是是spring特別推薦的…
Dagger2神器入門(二),最好,沒有之一
集合番@HashTable一文通(1.7版)
一款輕量的、全面的批處理框架,用於開發強大的批處理應用程序。
事務消息:MQ 提供相似 X/Open XA 的分佈事務功能,經過 MQ 事務消息能達到分佈式事務的最終一致。
半消息:暫不能投遞的消息,發送方已經將消息成功發送到了 MQ 服務端,可是服務端未收到生產者對該消息的二次確認,此時該消息被標記成 「暫不能投遞」 狀態,處於該種狀態下的消息即半消息。
消息回查:因爲網絡閃斷、生產者應用重啓等緣由,致使某條事務消息的二次確認丟失,MQ 服務端經過掃描發現某條消息長期處於 「半消息」 時,須要主動向消息生產者詢問該消息的最終狀態(Commit 或是 Rollback),該過程即消息回查。
用面試問答的方式學習ArrayList
文中介紹了設計模式的分類和原則以及從關係圖到代碼詳細介紹了 java 中的 23 種設計模式全解析
Java 語法清單翻譯自 egek92 的 JavaCheatSheet,從屬於筆者的 Java 入門與實踐系列。時間倉促,筆者只是簡單翻譯了些標題與內容整理,支持原做者請前往原文點贊。須要注意的是,此文在 Reddit 上也引發了普遍的討論,此文講解的語法要點仍是以 Java 7 爲主,未涉及 Java 8 中內容,略顯陳舊,讀者能夠帶着批判的視角去看。
???關注微信公衆號:【芋艿的後端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 全部源碼分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文註釋源碼 GitHub 地址 您對於源碼的疑問每條留言都將獲得認…
什麼是spring boot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員再也不須要定義樣板化的配置。用個人話來理解,就是spring boot其實不是什麼…
集合番@HashSet一文通(1.7版)
JVM 是 Java Virtual Machine(Java 虛擬機) 的縮寫,它是一種規範,HotSpot VM 是其最主流的實現(其餘實現),一般咱們討論 JVM 若是沒有特地說明是何種實現,便指的是 HotSpot VM。JVM 也並不是僅支持 Java 語言,任何可編譯爲字節碼的編程語言能能夠運行在 JVM 上,例如前不久谷歌在 I/O 2017 宣佈將做爲 Android 開發 First-Class 語言的 Kotlin。理解 Class 文件的構成,類是經過何種機制被加載進 JVM,這有助於咱們更進一步的理解 JVM,但願本文能使你對 Class 文件與類加載機制有一個初步的認識。