原创 造成類在多線程時不安全的原因

線程安全的類定義: 不存在競態條件(類中不存在被修改的成員變量),或存在時進行了同步控制。 多線程不安全的原因-競態條件/臨界區 同一個程序運行在多個線程中本身不會有線程安全問題,問題在於多個線程訪問共享資源時存在,如:類成員變量(普通或

原创 JVM垃圾回收相關問題整理

哪些引用對象可以作爲GC ROOT? JVM垃圾回收的根對象的範圍有以下幾種: 虛擬機棧中的引用對象 方法區中的類靜態屬性引用對象 方法區中常量引用的對象(final的常量值) 本地方法棧JNI(Java本地接口/Java Native

原创 框架面試總結1

談談對Spring IOC和DI的理解 IOC是一種叫做“控制反轉”的設計思想。 1、較淺的層次——從名字上解析  “控制”就是指對 對象的創建、維護、銷燬等生命週期的控制,這個過程一般是由我們的程序去主動控制的,如使用new關鍵字去創建

原创 MySQL數據庫存儲引擎及事務處理

   插件式存儲引擎是MySQL數據庫最重要的特性之一,用戶可以根據需要選擇如何使用存儲和索引數據等。MySQL支持多種存儲引擎,本文主要介紹三種存儲引擎InnoDB,MyISAM以及MEMORY,然後再介紹MySQL的事務處理相關內容。

原创 淺析JVM垃圾回收

1.什麼是垃圾回收?    垃圾回收(Garbage Collection)是Java虛擬機(JVM)垃圾回收器提供的一種用於在空閒時間不定時回收無任何對象引用的對象佔據的內存空間的一種機制。    注意:垃圾回收回收的是無任

原创 MyBatis(一)基本用法介紹

什麼是MyBatis?        MyBatis的前身是iBATIS,是一個開源項目,最初側重與密碼軟件的開發,後來發展爲基於Java的持久層框架。MyBatis是一款優秀的支持自定義SQL查詢,存儲過程和高級映射的持久層框架,消除了

原创 TCP通信粘包問題分析和解決(全)

原文鏈接:https://www.cnblogs.com/kex1n/p/6502002.html 在socket網絡程序中,TCP和UDP分別是面向連接和非面向連接的。因此TCP的

原创 常問整理

gc觸發條件 Minor GC觸發條件:當Eden區滿時,觸發Minor GC。 Full GC觸發條件: (1)調用System.gc時,系統建議執行Full GC,但是不必然執行 (2)老年代空間不足 (3)方法區空間不足 (4)通過

原创 Java複習(二)

什麼是值傳遞和引用傳遞? 值傳遞是對基本變量而言,傳遞的是變量的副本,改變副本不會影響本身; 引用傳遞一般是對對象型變量而言,傳遞的是該對象地址的副本,而不是對象本身,一般來說,Java中的基本類型傳遞是值傳遞,實例對象傳遞是引用傳遞。

原创 訪問一個網頁的全過程

原文鏈接:https://blog.csdn.net/u012862311/article/details/78753232 引言 打開瀏覽器,在地址欄輸入URL,回車,出現網頁內容。

原创 Java複習(一)

多線程線程同步有哪些方式? 答:首先說一下,多線程爲什麼要線程同步?當多個線程同時訪問一個變量或對象,如果這些線程既有讀操作又有寫操作時,會造成變量值或對象的狀態造成混亂,導致程序出現異常。如,銀行存取錢問題,一個線程負責取錢100元,另

原创 生產者消費者模型的三種實現方式

某個線程或模塊的代碼負責生產數據(工廠),而生產出來的數據卻不得不交給另一模塊(消費者)來對其進行處理,在這之間使用了隊列、棧等類似超市的東西來存儲數據(超市),這就抽象除了我們的生產者/消費者模型。 其中,產生數據的模塊,就形象地稱爲生

原创 SpringMVC(一)入門

      在Spring框架之IOC一文中我們在文章開始就已經介紹了Spring框架的幾大板塊,其中就包括SpringMVC,也就是說SpringMVC是Spring框架的一部分,提供了前臺展示相關內容的web框架,SpringMVC的

原创 Spring框架之AOP

什麼是AOP AOP(Aspect-Oriented Programming:面向切面編程)能夠將那些與業務無關,卻爲業務模塊所共同調用的邏輯或責任(例如事務處理、日誌管理、權限控制等)封裝起來,便於減少系統的重複代碼,降低模塊間的耦合度

原创 Spring框架之IOC

什麼是Spring框架?     Spring框架是一種開發框架,它的使用有助於提升開發人員的開發效率以及系統的可維護性。它由很多模塊組成,框架示意圖如下: Spring AOP:提供面向切面的編程實現。 Spring ORM:用於支持