原创 java方法調用之重載、重寫的調用原理

前一段時間看了《深入理解JVM》第三部分虛擬機執行子系統的內容,看到了重載與重寫在JVM層面的調用原理(詳見8.3 方法調用一節),但是沒有寫成博客總結一下,這裏討論討論。在討論過程中,難免會涉及到 字節碼指令 相關的內容,這部分

原创 java 防止JS注入(使用ESAPI進行編碼)

今天在做報表導入的時候遇到測試在excel數據裏面填了一段js代碼,導致數據回顯到頁面的時候彈一個框出來,這個框我想大家都懂了,又恰好逢項目在做代碼安全掃描, 掃描工具使用的是Fortify 關於ESAPI的介紹可查看: http

原创 vue cli3.0快速搭建項目詳解

這篇文章主要介紹下vue-cli3.0項目搭建,項目結構和配置等整理一下,分享給大家。 一、介紹 Vue CLI 是一個基於 Vue.js 進行快速開發的完整系統。有三個組件: CLI:@vue/cli 全局安裝的 npm 包,

原创 JVM內存結構、垃圾收集算法、垃圾收集器、字節碼文件結構、類加載機制

######內存區域劃分 程序計數器 線程私有 線程私有 用於記錄當前線程執行代碼的位置,如果在執行native方法,則此計數器爲空 此區域不會產生內存溢出 java虛擬機棧 -xss 線程私有,每個方法執行時會創建棧幀

原创 搭建 ELK 實時日誌平臺並在 Spring Boot 和 Nginx 項目中使用

在排查線上異常的過程中,查詢日誌總是必不可缺的一部分。現今大多采用的微服務架構,日誌被分散在不同的機器上,使得日誌的查詢變得異常困難。工欲善其事,必先利其器。如果此時有一個統一的實時日誌分析平臺,那可謂是雪中送碳,必定能夠提高我們

原创 Springmvc是如何根據url路徑找到對應的controller方法的

#####################更新: SpringMVC的請求處理過程中的路徑匹配過程: org.springframework.web.servlet.handler.AbstractHandlerMethodMa

原创 XSS問題修復

       XSS又稱CSS,全稱Cross SiteScript,跨站腳本攻擊,是Web程序中常見的漏洞,XSS屬於被動式且用於客戶端的攻擊方式,所以容易被忽略其危害性。其原理是攻擊者向有XSS漏洞的網站中輸入(傳入)惡意的H

原创 MySQL的MVCC及實現原理

MVCC多版本併發控制 如果覺得對你有幫助,能否點個贊或關個注,以示鼓勵筆者呢?! !首先聲明,MySQL的測試環境是5.7 前提概要 什麼是MVCC 什麼是當前讀和快照讀? 當前讀,快照讀和MVCC的關係

原创 JPA(Hibernate)使用LocalDate LocalDateTime出現時間保持結果異常解決

做單元測試的時候發現新增數據的時間不對,由於使用的jpa保存的數據,實體類的時間爲LocalDateTime, 數據庫字段爲DateTime 實體的時間爲:15:50,可是存到數據庫後就變成了1:50,很是詫異 接下來就想辦法

原创 Spring MVC參數解析之ParameterNameDiscoverer

大家知道,Spring MVC 有一項非常實用的功能,叫參數綁定。其具體能實現的功能異常強大,這裏不再贅述,網上有非常多的資料可供參考,僅舉一例用以描述問題。 @RestController public class FooCon

原创 Synchronized原理分析

文章簡介 synchronized想必大家都不陌生,用來解決線程安全問題的利器。同時也是Java高級程序員面試比較常見的面試題。這篇文正會帶大家徹底瞭解synchronized的實現。 內容導航 什麼時候需要用Synchron

原创 詳解synchronized與Lock的區別與使用

###引言: 昨天在學習別人分享的面試經驗時,看到Lock的使用。想起自己在上次面試也遇到了synchronized與Lock的區別與使用。於是,我整理了兩者的區別和使用情況,同時,對synchronized的使用過程一些常見問題

原创 CAP理論的理解

CAP理論的理解 CAP理論作爲分佈式系統的基礎理論,它描述的是一個分佈式系統在以下三個特性中: 一致性(Consistency) 可用性(Availability) 分區容錯性(Partition tolerance) 最

原创 MySQL的鎖

鎖,在現實生活中是爲我們想要隱藏於外界所使用的一種工具。在計算機中,是協調多個進程或縣城併發訪問某一資源的一種機制。在數據庫當中,除了傳統的計算資源(CPU、RAM、I/O等等)的爭用之外,數據也是一種供許多用戶共享訪問的資源。如

原创 SpringMVC 性能優化(不使用@pathvariable註解)

背景 達達後臺系統目前每天都要支撐數十億的訪問量,這對於服務系統整體架構是個嚴峻的考驗。考慮到越來越複雜的業務以及不斷增加的訪問壓力,我們對數據層進行了一系列的改造(參見達達-高性能服務端優化之路),也對業務層進行了服務化(參見