原创 JVM虛擬機學習筆記(2)

一.內存分配方式 1.指針碰撞(Bump The Pointer):堆中的內存是絕對規整的,所有被使用過的內存都被放在一邊,空閒的內存被放在另一邊,中間放着一個指針作爲分界點的指示器,那所分配內存就僅僅是把那個指針想空閒方向多動一段與對象

原创 JVM虛擬機學習筆記(1)

  1.程序計數器 是一塊較小的內存空間,它可以看做是當前線程鎖執行的字節碼的行號指示器。 在Java虛擬器的概念拉模型裏,字節碼解釋器工作是就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令,它是程序控制流的指示器,分支、循環、

原创 幾種常用的分佈式定時任務

1. 什麼是分佈式定時任務 把分散的,可靠性差的計劃任務納入統一的平臺,並實現集羣管理調度和分佈式部署的一種定時任務的管理方式。叫做分佈式定時任務。 2. 常見開源方案 elastic-job xxl-job quartz

原创 Java中new一個對象都做了什麼

文章目錄 1、寫在前面的話 2、類加載過程 類加載概述 加載 驗證 準備 解析 初始化 3、創建對象 在堆區分配對象需要的內存 對所有實例變量賦默認值 執行實例初始化代碼 在棧區開闢空間 4、補充 1、寫在前面的話 聯繫我上次寫的關於Ja

原创 redis最大存儲

String類型(字符串類型) String 是Redis中最基本的類型。Redis中的String 類型是二進制安全的,也就是說在Redis中String類型可以包含各種數據,比如一張JPEG圖片或者是一個序列化的Ruby對象。一個St

原创 redis緩存的數據一致問題和思路

Cache Aside Pattern 最初級的緩存不一致問題及解決方案 比較複雜的數據不一致問題分析 分佈式緩存是現在很多分佈式應用中必不可少的組件,但是用到了分佈式緩存,就可能會涉及到緩存與數據庫雙存儲雙寫,你只要是雙寫,

原创 記錄生成過程中一次數據做緩存評估

當項目中引入了 Redis 做分佈式緩存,那麼就會面臨這樣的問題:   哪些數據應該放到緩存中?依據是什麼? 緩存數據是採用主動刷新還是過期自動失效? 如果採用過期自動失效,那麼失效時間如何制定?   正好這兩週我們項目做了相

原创 看了這個文章你也可以和面試官侃半個小時hashMap了

 HashMap應該算是Java後端工程師面試的必問題,因爲其中的知識點太多,很適合用來考察面試者的Java基礎。   面試官: 你先自我介紹一下吧! 我: 我是安琪拉,草叢三婊之一,最強中單(鍾馗不服)!哦,不對,串場了,我是**,目前

原创 JAVA 21個必備基礎知識點

1. JVM相關 2. Java的運行 3. 數據類型 4. 對象和實例 5. 訪問控制 6. 流程控制 7. 面向對象編程的概念 8. static 9. 基礎知識點 10. 集合框架 11.

原创 看到一個java熱門開源項目,保存一下,空了看一看

3月份GitHub上最熱門的Java開源項目排行已經出爐啦,一起來看看上榜詳情吧   1 JavaGuide https://github.com/Snailclimb/JavaGuide Star 73432   這是 一份Java學習

原创 來推薦一個簡單好用的spring boot 骨架

最近使用Spring Boot 配合 MyBatis 、通用Mapper插件、PageHelper分頁插件 連做了幾個中小型API項目,做下來覺得這套框架、工具搭配起來開發這種項目確實非常舒服,團隊的反響也不錯。在項目搭建和開發的過程中也

原创 優雅的配置SpringBoot攔截器的方式

其實spring boot攔截器的配置方式和springMVC差不多,只有一些小的改變需要注意下就ok了。 下面主要介紹兩種常用的攔截器: 一、基於URL實現的攔截器: public class LoginInterceptor ext

原创 分頁查詢limit優化(從17s到300ms)

  一,前言 證實 參考資料 有一張財務流水錶,未分庫分表,目前的數據量爲9555695,分頁查詢使用到了limit,優化之前的查詢耗時16 s 938 ms (execution: 16 s 831 ms, fetching

原创 通過循環依賴問題徹底理解 Spring IOC 的精華

前言 先看一個循環依賴問題 現象 1. 構造器循環依賴 2. field屬性注入循環依賴 3. field屬性注入循環依賴(prototype) 分析原因 SpringBean的加載流程(源碼分析) obt

原创 @Transactional加上就完事了嗎,事務失效情況

事務失效的幾種情況。遇到這問題時,可從以下幾方面來考慮排查,如下: 1.數據庫引擎不支持事務      mysql的myisam引擎不支持事務操作,innodb才支持事務。從mysql5.5.5開始的默認存儲引擎是innodb 之前默認都