原创 Java內存分配:堆和棧

Java中的內存分配主要包括以下幾個(不全面): 寄存器:我們在程序中無法控制 棧:存放基本類型的數據和對象的引用,對象本身存放在堆中 堆:存放new出的數據和數組 常量池:存放常量 1.Java內存分配中的棧: 函數中定義的

原创 java內存模型詳解以及Java堆的分代

jvm是java的核心和基礎,在java編譯器和os平臺之間的虛擬處理器,JVM有自己完善的硬件架構,如處理器、堆棧、寄存器等,使用JVM就是爲了支持與操作系統無關,實現跨平臺。 1.jvm的內存模型包括以下幾部分: 方法區:是

原创 常見的異常類型

1. 從異常類的繼承架構圖中可以看出:Exception類擴展出數個子類,其中IOE,RuntimeException是較常用的兩種 2.習慣上將Error與Exception類統稱爲異常類,但這兩者本質上還是有不同的,Error

原创 Java面向對象的四個特徵

四大基本特徵:封裝,抽象,繼承,多態 1. 封裝性: 就是將對象封裝成一個封閉的個體,對象屬性有這個對象自己的方法來讀取和改變。用私有隱藏自己的屬性,別人只能通過共有的方法來改變屬性(get和Set方法) 2. 抽象性: 抽

原创 Java跨平臺原理詳解

Java通過不同系統,不同版本,不同位數的Java虛擬機(jvm)來屏蔽不同的系統指令集差異,而對外提供統一的接口(Java API)來實現Java程序的跨平臺運行 1. Java源文件的編譯過程: Java編譯程序將Java源程

原创 使用富文本編輯器wangEditor完成圖片文件的上傳

項目中一些特定的功能可能需要在頁面中用到富文本編輯器來實現文件的輸入上傳等等,在這裏用wangEditor來實現使用富文本編輯器進行文件圖面的輸入和上傳保存,這裏wangEditor也可以參考wangEditor使用文檔 1.引入

原创 Spring Cloud原理以及各組件詳解

Spring Cloud包含了很多組件包括:Eureka,Ribbon,Feign,Hystrix,Zuul 1. SpringCloud核心組件:Eureka Eureka Client這個組件專門負責將服務信息註冊到Eureka

原创 Spring常見面試題總結

1. 什麼是Spring? Spring是一個輕量級的IOC和AOP容器框架,是爲Java應用程序提供基礎性服務的一套框架,目的是用於簡化企業應用程序的開發,它使得開發者只需要關心業務需求 主要由以下幾個模塊組成: Spring

原创 Spring Boot面試題總結

1. 什麼是 SpringBoot? Springboot是Spring開源組織下的子項目,是Spring組件一站式解決方案,主要是簡化了Spring的難度,簡化了繁重的配置,提供了各種啓動器,開發者能快速上手 2. 爲什麼要用S

原创 Spring MVC面試題總結

1. 什麼是SpringMVC?簡單介紹下你對SpringMVC的理解? Springmvc是一個基於Java的實現了MVC設計模式的請求驅動類型的輕量級web框架,通過把Model,View,Controller分離,將web層進

原创 Spring的工作原理和優點

1.Spring框架的工作原理: 1.1 Spring核心之IOC和DI: 一個對象的創建不用new了,可以自動的生產,這其實就是利用java裏的反射 ,反射其實就是在運行時動態的去創建、調用對象,Spring就是在運行時,跟xm

原创 Spring MVC的運行原理

1. springmvc運行原理圖:mvc模式的核心思想就是爲了解耦合 2. 核心架構的具體流程步驟如下: 1、首先用戶發送請求——>DispatcherServlet,前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進

原创 進程和線程的區別與聯繫

1.進程:進程是併發執行的程序在執行過程中分配和管理資源的基本單位,是一個動態概念,競爭計算機系統資源的基本單位 2.線程:線程是進程的一個執行單元,是進程內科調度實體,比進程更小的獨立運行的基本單位,線程也被稱爲輕量級進程 一個程

原创 線程的幾種狀態

線程從創建,運行到結束需要經歷下面五個狀態:新建狀態,就緒狀態,運行狀態,阻塞狀態以及死亡狀態,可參照下圖理解 1.新建狀態(new): 當線程對象創建後,即進入了新建狀態,此時程序還沒有運行線程中的代碼,如:Tread t =

原创 創建線程的4種方式以及實現的代碼

創建一個線程有四種方式: 繼承Thread類創建線程 實現Runnable接口創建線程 使用Callable和Future創建線程 使用線程池例如用Executor框架 1.繼承Thread類創建線程: 創建線程的步驟: 定義T