原创 Java中用HttpsURLConnection訪問https鏈接的問題

在web應用交互過程中,有很多場景需要保證通信數據的安全;在前面也有好多篇文章介紹了在Web Service調用過程中用WS-Security來保證接口交互過程的安全性,值得注意的是,該種方式基於的傳輸協議仍然是Http,採用這種方式可

原创 Java內存管理:深入Java內存區域

Java內存管理:深入Java內存區域   本文引用自:深入理解Java虛擬機的第2章內容   Java與C++之間有一堵由內存動態分配和垃圾收集技術所圍成的高牆,牆外面的人想進去,牆裏面的人卻想出來。   概述:   對於從事

原创 二叉樹(插入,刪除,遍歷等)java實現

import java.util.LinkedList; import java.util.NoSuchElementException; import java.util.Queue; import java.util.Stack;

原创 WebService到底是什麼?

一、序言   大家或多或少都聽過WebService(Web服務),有一段時間很多計算機期刊、書籍和網站都大肆的提及和宣傳WebService技術,其中不乏很多吹噓和做廣告的成分。但是不得不承認的是WebService真的是一門新興和

原创 HashMap與HashTable深入詳解

Java集合類是個非常重要的知識點,HashMap、HashTable、ConcurrentHashMap等算是集合類中的重點,可謂“重中之重”,首先來看個問題,如面試官問你:HashMap和HashTable有什麼區別,一個比較簡單

原创 https原理

我們都知道HTTPS能夠加密信息,以免敏感信息被第三方獲取。所以很多銀行網站或電子郵箱等等安全級別較高的服務都會採用HTTPS協議。 HTTPS簡介 HTTPS其實是有兩部分組成:HTTP + SSL / TLS,也就是在HTTP上又加

原创 HtmlParser使用教程詳解

HTMLParser具有小巧,快速的優點,缺點是相關文檔比較少(英文的也少),很多功能需要自己摸索。對於初學者還是要費一些功夫的,而一旦上手以後,會發現HTMLParser的結構設計很巧妙,非常實用,基本你的各種需求都可以滿足。    

原创 java中String類對象爲什麼不可變

什麼是不可變對象? 衆所周知, 在Java中, String類是不可變的。那麼到底什麼是不可變的對象呢? 可以這樣認爲:如果一個對象,在它創建完成之後,不能再改變它的狀態,那麼這個對象就是不可變的。不能改變狀態的意思是,不能改變對象內的

原创 java虛擬機類加載機制淺談

 Java語言是一種編譯後再經過解釋器執行的過程, 解釋器主要就是如何處理解釋Class文件的二進制字節流。JVM主要包含三大核心部分:運行時數據區,類加載器和執行引擎。        虛擬機將描述類的數據從Class文件加載到內存,

原创 HashMap.values().add()拋出UnsupportedOperationException的原因

<span style="white-space:pre"> </span>Collection collection = new HashSet(); collection.add("lala"); collection.ad

原创 TreeMap中是否能存儲多個鍵爲null的鍵值對

對於存儲進TreeMap及TreeSet中的元素,要求元素自身具有比較性或者在創建集合時傳入一個比較器對象。當調用TreeMap.put(key,value)時,如果root爲空,也就是集合中沒有元素時,不管key值是否爲null,Tre

原创 如何創建不可變java類或對象

摘要 在前一篇文章裏將瞭如何實現線程安全的Java程序,其中有一條就是可以通過創建不可變的對象來實現!因爲不可變的對象默認就是線程安全的,他們一旦創建就不能發生改變!那麼如何創建不可變的Java類或者對象呢?follow me,I'

原创 數字簽名原理剖析

本系列通過通俗易懂的講解,讓您就像讀小說一般,輕輕鬆鬆就能理解數字簽名的基本原理和應用方法(即使您是一個並不精通計算機的企業老總,也能讀懂本篇文章)。然後我們再逐步深入技術細節,最後將給出一個在B/S信息系統中使用數字簽名的DEMO。

原创 java內存回收機制

 在Java中,它的內存管理包括兩方面:內存分配(創建Java對象的時候)和內存回收,這兩方面工作都是由JVM自動完成的,降低了Java程序員的學習難度,避免了像C/C++直接操作內存的危險。但是,也正因爲內存管理完全由JVM負責,所以

原创 Servlet生命週期

Servlet生命週期分爲三個階段:   1,初始化階段  調用init()方法   2,響應客戶請求階段  調用service()方法   3,終止階段  調用destroy()方法 Servlet初始化階段:   在下