原创 Java關鍵字-static

用途 在對象沒有被創建的時候(只要類被加載了),就可以通過類型去調用方法/變量,也就是說,static修飾的方法/變量,不需要依賴對象來訪問。 1. 修飾方法 static修飾的方法不能調用非靜態的方法,因爲非靜態的方法依賴於

原创 分佈式,集羣,微服務的概念和區別

集羣 概念:同一個業務,部署在多個服務器上,即多個人做同一件事。 優點:一臺服務器當掉,其他服務器可以頂上來。需要做負載均衡。 特點:通過增加服務器實現,通過提高單位時間內執行的任務數來提升效率。 分佈式 概念:一個業務拆分

原创 Java的參數傳遞機制

Java中的參數傳遞機制一直以來大家都爭論不休,究竟是“傳值”還是“傳址(傳引用)”,爭論的雙方各執一詞,互不相讓。不但“菜鳥”們一頭霧水,一些“老鳥”也只知道結果卻說不出所以然來。我相信看過下面的內容後,你就會明白一些。 1.

原创 跨域問題產生原因及解決辦法

同源策略 在客戶端編程語言中,如JavaScript和ActionScript,同源策略是一個很重要的安全理念,它在保證數據的安全性方面有着重要的意義。同源策略規定跨域之間的腳本是隔離的,一個域的腳本不能訪問和操作另外一個域的絕大

原创 史上最全HashMap源碼整理

文章目錄1. HashMap的繼承關係1.1 AbstractMap2. HashMap的變量2.1 爲什麼建議HashMap初始化時設置初始容量?2.2 爲什麼初始容量是16(2的冪次)?2.3 爲什麼加載因子是0.75f

原创 web服務器及Tomcat安裝

web開發入門 通俗來講,web應用程序就是通過瀏覽器訪問的程序,包含一系列的靜態或動態資源。 靜態資源指.html.css.js等,供人瀏覽的資源是不變的,不連數據庫,無法與用戶交互。 動態資源指展示內容因時間因人不同而改變,

原创 JVM結構,GC工作機制詳解

轉自:原文地址 1. jvm結構 根據《java虛擬機規範》規定,JVM的基本結構一般如下圖所示: 從左圖可知,JVM主要包括四個部分: 1.類加載器(ClassLoader):在JVM啓動時或者在類運行時將需要的class加載

原创 JVM 發生OOM的四種情況

1、Java堆溢出:heap Java堆內存主要用來存放運行過程中所以的對象,該區域OOM異常一般會有如下錯誤信息; java.lang.OutofMemoryError:Java heap space 此類錯誤一般通過Eclip

原创 java 內存中的堆和棧

簡單來說,Java把內存分爲兩種:堆內存,棧內存。 棧內存 函數(方法)中定義的基本類型的變量和引用變量都在函數的棧內存分配。 當在一段代碼塊定義一個變量時,Java就在棧中爲這個變量分配內存空間,當超過變量的作用域後,Ja

原创 final關鍵字用法

基本用法 1. 修飾類 final修飾類時,表明這個類不能被繼承。比如Java中的String類。 注意:final類中的成員變量可以根據需要設爲final,但是要注意final類中的所有成員方法都會被隱式地指定爲final方法

原创 java內部類詳解

轉自:java內部類詳解 1. 內部類基礎 在Java中,可以將一個類定義在另一個類裏面或者一個方法裏面,這樣的類稱爲內部類。 廣泛意義上的內部類一般來說包括這四種:成員內部類、局部內部類、匿名內部類和靜態內部類。下面就先來了解一

原创 String 對象及常量池

首先String不屬於8種基本數據類型,是一個對象,默認值爲null,new String()和new String("")都是聲明一個空字符串,而不是null。 面試時經常被問到: String s = “hello”;和St

原创 內存中Java各類型數據的存儲方式

1. 局部變量和方法參數 局部變量和方法參數都是存儲在棧上開闢空間來儲存的,隨着進入方法開闢,退出方法回收。 以32位JVM爲例,boolean/byte/short/char/int/float以及引用都是分配4字節空間,l

原创 static關鍵字的用法和誤區

用途 在對象沒有被創建的時候(只要類被加載了),就可以通過類型去調用方法/變量,也就是說,static修飾的方法/變量,不需要依賴對象來訪問。 1. 修飾方法 static修飾的方法不能調用非靜態的方法,因爲非靜態的方法依賴於

原创 重載,繼承,重寫和多態的區別

繼承是子類獲得父類的成員。 多態則是爲了避免在父類裏大量重載引起代碼臃腫且難於維護(多態則是父類使用子類的方法)。 重寫是繼承後重新實現父類的方法。 重載是在一個類裏一系列參數不同名字相同的方法。 點贊 收