原创 ADT的棧的實現

   ADT,稱爲抽象數據類型。所謂抽象數據類型,即定義一種數據形式,並封裝該數據的操作方法。 參考鏈接: http://blog.csdn.net/qscool1987/article/details/7179791, 這

原创 ssh免密登錄,各種權限設置都無效的解決辦法!

如果失敗,有可能是以下原因: 1、權限問題(這個還得試試,有可能你的權限真的不對) .ssh目錄,以及/home/當前用戶 需要700權限,參考以下操作調整 sudo chmod 700 ~/.ssh sudo chmod 700

原创 深入理解系列之JAVA多線程(3)——volatile原理

我們在上一篇文章講到,synchronized關鍵字保證了代碼同步性,同時有利於實現程序的安全性,但是同時也帶來性能下降的弊端!所以,如果不是必要的我們應該避免使用synchronized關鍵字,在一些情況下可以採用其他方式作爲替代!其

原创 深入理解系列之JDK8下JVM虛擬機(1)——JVM內存組成

今天開始談論一些JVM虛擬機的知識。其實在前面敘述中多多少少已經附帶提起了JVM相關的知識,如類加載、多線程相關的底層機制、方法調用、泛型的機制等等,但是實際上JVM知識會有很多,今天就把比較重要的其他一些知識再拿出來理一理。 首先要

原创 深入理解系列之JAVA多態機制(重載/重寫)

多態(Polymorphism)按字面的意思就是“多種狀態”。在面嚮對象語言中,接口的多種不同的實現方式即爲多態(來自百度百科)。所以,按照這個意思其實多態的“主題”是對象,但是實際在我們運用中我們常把“重載”和“重寫”稱之爲“多態”其

原创 Tomcat多線程模型淺析

我們在上一部分文章裏已經看到了,Tomcat的架構是如何一步步構建出來,但是在後臺服務器的構建中,一個很重要的問題是如何實現多線程?一般情況下,如果我們來實現最初步的想法就是:不斷循環接收客戶端的連接,每個連接構建一個線程,然後進行相關

原创 Java基礎github

最近在一直研究WebRTC開源項目Kurento-Room,初步研究的差不多了。也寫了一些文檔,等時機成熟我再分享出來!由於自己JAVA基礎較爲薄弱,所以特地學習和編寫了一些例程,涉及JAVA基礎和數據結構,正在Github上更新,希望大

原创 深入理解系列之JAVA數據結構(3)——HashMap

1、 HashMap基於哈希表的 Map 接口的實現。此實現提供所有可選的映射操作,並允許使用 null 值和 null鍵。(除了不同步和允許使用 null 之外,HashMap 類與 Hashtable大致相同) 2、此類不保證

原创 NIO入門實例-寫一個客戶端/服務器例程

注:該文章實際爲《java網絡編程》例11-1和例11-2的源碼勘誤!原例程經過實際測試並不能實現期望的功能,在分析代碼邏輯後勘誤如下! 在勘誤之前貼出書中原始例程(僅服務器有誤): package org.nioTest; impor

原创 深入理解系列之JAVA數據結構(5)——String

String類型是Java編程中最爲常見的數據結構(沒有之一),與之相關聯的還有StringBuilder和StringBuffer。其中String類型是不可變的;後者均是可變的字符串,但是StringBuilder是線程不安全的,S

原创 深入理解系列之JAVA多線程(2)——synchronized同步原理

多線程中爲了解決線程安全問題,一個重要的手段就是同步!所謂同步其實就是使得原本各個線程交叉執行(異步),變成排隊執行(同步)。同步策略使得不同線程操作共享數據遵循“先來後到“,從而避免某個線程沒有處理完數據就被另一線程搶佔操作出現數據被

原创 深入理解系列之JAVA動態代理機制

代理的作用,就是生成代理對象使得真實對象的某些方法執行被代理對象攔截,從而在真實方法執行前、執行後添加額外的“動作”!動態代理則是指不需要修改原來的對象方法,在程序運行的過程中動態的生成代理對象,從而動態的生成這些“額外的”動作,主要從

原创 Tomcat架構淺析

Tomcat服務器作爲目前比較流行的一種服務器容器已經被廣泛用於後臺服務器的搭建、後臺集成框架的嵌入(如SpringBoot),不同於Apache、Nginx本身(注意是本身,其實可以搭配後臺腳本實現動態網頁)僅僅支持靜態網頁,由於To

原创 深入理解系列之JAVA反射機制

反射是指,程序運行期間,對於任意一個類,都能夠知道這個類的所有屬性和方法,且都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱爲java語言的反射機制。 問題一、反射機制的理論基礎是什麼? 如前言所屬,

原创 深入理解系列之JAVA泛型機制

泛型是指在聲明(類,方法,屬性)的時候採用一個“標誌符”來代替,而只有在調用的時候才傳入真正的類型,我們最常見的泛型實例就是前面講述的集合類,集合類在聲明的時候都是通過泛型方式來聲明的,只有在調用(實例化)時我們才確定傳入的是Integ