原创 淺談高併發編程

1、首先考慮分佈式,業務功能服務化         使用阿里的dubbo框架,使用zookeeper作爲註冊中心;或者spring cloud等;系統靈活部署,在真正消耗資源的服務上,考慮增加實例。 2、打薄網關層         網關層

原创 TCP,UDP和socket,Http之間聯繫和區別面

1、TCP協議 TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指

原创 ConcurrentHashMap原理分析

一、背景: 線程不安全的HashMap     因爲多線程環境下,使用Hashmap進行put操作會引起死循環,導致CPU利用率接近100%,所以在併發情況下不能使用HashMap。   效率低下的HashTable容器      Has

原创 HashMap的實現原理和底層結構 圖解+源碼分析

 哈希表(hash table)也叫散列表,是一種非常重要的數據結構,應用場景及其豐富,許多緩存技術(比如memcached)的核心其實就是在內存中維護一張大的哈希表,而HashMap的實現原理也常常出現在各類的面試題中,重要性可見一斑。

原创 Java基礎知識整理

相關概念 面向對象的三個特徵 封裝,繼承,多態.這個應該是人人皆知.有時候也會加上抽象. 多態的好處 允許不同類對象對同一消息做出響應,即同一消息可以根據發送對象的不同而採用多種不同的行爲方式(發送消息就是函數調用).主要有以下優點: 可

原创 簡說I/O模型

關鍵詞:     I/O模型 ,阻塞,非阻塞,同步,異步,阻塞IO,非阻塞IO,同步IO,異步IO,多路複用,NIO,多線程,線程池。   在進入Java NIO編程之前,我們今天先來討論一些比較基礎的知識:I/O模型。本文先從同步和異步

原创 HashMap與Hashtable的區別與聯繫

關鍵詞:HashMap,Hashtable,Map接口,DIcitonary抽象類,線程安全,HashMap的源碼,實現原理,底層結構。 1、HashMap與Hashtable的區別 1)Hashtable是線程安全,而HashMap則非

原创 java四種線程池詳解與使用

1、什麼是線程池 在解釋什麼是線程池前,再贅述下什麼是線程: 1、線程:現代操作系統在運行一個程序時, 會爲其創建一個進程。 例如, 啓動一個Java程序, 操作系統就會創建一個Java進 程。 現代操作系統調度的最小單元是線程, 也叫輕

原创 Session和Cookie的區別與聯繫

1、Session的概念 Session 是存放在服務器端的,類似於Session結構來存放用戶數據;當瀏覽器 第一次發送請求時,服務器自動生成了一個Session和一個Session ID用來唯一標識這個Session,並將其通過響應發

原创 Java四種線程池及new Thread的弊端

new Thread 的弊端 執行異步任務只是如下 new Thread() 嗎? new Thread(new Runnable() {     @Override     public void run() {        

原创 接口與繼承詳解

接口繼承是出自設計模式中的一個概念。接口繼承,又稱子類型化。描述了一個對象什麼時候能夠被用來替代另一個對象。 1、接口概念 接口的基本概念 接口可以多繼承接口 ,是因爲接口只定義行爲,並不包含類別的含義,不指代具體的某類事物, 而且, 從

原创 Java子類與父類中靜態代碼塊、非靜態代碼塊、構造函數的執行順序一覽表

子類Child繼承父類Parent Child child=new Child(); 執行順序如下: ①父類靜態代碼塊>>②子類靜態代碼塊>>③父類非靜態代碼塊>>④父類構造函數>>⑤子類非靜態代碼塊>>⑥子類構造函數 大致總結: 父類早

原创 Java的三種移位運算

1、Java移位運算符有一下三種: ① <<   : 左移運算符,num << 1,相當於num乘以2 ② >>   : 右移運算符,num >> 1,相當於num除以2 ③ >>> :無符號右移,忽略符號位,空位都以0補齊 說明:對於>

原创 Java 判斷實體對象及所有屬性是否爲空

1、判斷實體對象是否爲空 2、判斷對象所有屬性是否爲空 3、特別注意,實體類中如果有基本數據類型,會影響判斷 package com.liuxd.object; import org.apache.commons.lang3.Stri

原创 Java父類繼承中的static和final

1、父類中staitic修飾的靜態方法,不能覆蓋、不能繼承。 2、父類中staitic修飾的變量或常量,能覆蓋、不能繼承。         static修飾的變量和方法,只屬於類本身,不屬於對象;當聲明一個對象時,並不產生static變量