Java遠端呼叫系列(一)——概覽篇
首先,來幾個基本問題
遠端呼叫是什麼(概念)?
內涵
定義:
本質上來講,
通俗來講,
外延(相關的易混概念)
Java中的遠端 VS 客戶端和服務端的互動呼叫
遠端通訊 VS 遠端呼叫 VS 服務和服務的呼叫
遠端呼叫 VS 遠端過程呼叫 VS 遠端物件呼叫
SOA
SOAP
Webservice
RPC
RMI
CXF
REST vs Restfull
http、HTTPS、httpclient
websocket
servelet技術
EJB中的Remote註解
Spring中的遠端呼叫
MQ技術 VS 遠端呼叫
ESB VS
為什麼需要遠端呼叫?
必要性
意義,帶來的好處是什麼?
分散式系統中的系統環境建設和應用程式設計和RPC的關係?
怎麼實現遠端呼叫?
實現原理
可能涉及到的協議
可能涉及到的底層實現技術
基本步驟
具體實現方式
如何選型?
技術發展趨勢
當下流行程度
技術的學習成本
公司現有架構和未來架構方向
擴充套件問題
.NET平臺下的遠端呼叫怎麼做的?
設計模式和Java遠端呼叫的關係?
代理模式在遠端呼叫中的應用
相關推薦
Java遠端呼叫系列(一)——概覽篇
首先,來幾個基本問題 遠端呼叫是什麼(概念)? 內涵 定義: 本質上來講, 通俗來講, 外延(相關的易混概念) Java中的遠端 VS 客戶端和服務端的互動呼叫 遠端通訊 VS 遠端呼叫 VS 服務和服務的呼叫 遠端呼叫 VS 遠端過程呼叫 VS 遠端物件呼叫
死磕java concurrent包系列(一)從樂觀鎖、悲觀鎖到AtomicInteger的CAS演算法
前言 Java中有各式各樣的鎖,主流的鎖和概念如下: 這篇文章主要是為了讓大家通過樂觀鎖和悲觀鎖出發,理解CAS演算法,因為CAS是整個Concurrent包的基礎。 樂觀鎖和悲觀鎖 首先,java和資料庫中都有這種概念,他是一種從執行緒同步的角度上看的一種廣義上的概念: 悲觀鎖:悲觀的認為自己在使用資料的
Java併發程式設計系列(一)避免死鎖
避免死鎖 (1)避免一個執行緒同時獲取多個鎖 (2)避免一個執行緒在鎖內佔用多個資源,儘量保證每個鎖只佔用一個資源 (3)使用定時鎖,使用lock.trylock(timeout)替代內部鎖機制 (4)
淺談Java併發程式設計系列(一)—— 如何保證執行緒安全
執行緒安全類 保證類執行緒安全的措施: 不共享執行緒間的變數; 設定屬性變數為不可變變數; 每個共享的可變變數都使用一個確定的鎖保護; 保證執行緒安全的思路: 通過架構設計 通過
深入理解java虛擬機器系列(一):java記憶體區域與記憶體溢位異常
文章主要是閱讀《深入理解java虛擬機器:JVM高階特性與最佳實踐》第二章:Java記憶體區域與記憶體溢位異常 的一些筆記以及概括。 好了開始。如果有什麼錯誤或者遺漏,歡迎指出。 一、概述 先上一張圖 這張圖主要列出了Java虛擬機器管理的記憶體的幾個區域。 常有人
JBOSS系列(一) --EJB遠端呼叫-客戶端的配置
EJB訪問方式分為遠端客戶端訪問、本地客戶端訪問和WebService客戶端。 所謂的EJB的遠端呼叫是說客戶端與服務端的EJB物件不在同一個JVM程序中。 本地客戶端是說客戶端與服務
Java總結篇系列:Java多線程(一)
常見 而是 同時 private 狀態 過程 運行時 不同的 bstr Java總結篇系列:Java多線程(一) 多線程作為Java中很重要的一個知識點,在此還是有必要總結一下的。 一.線程的生命周期及五種基本狀態 關於Java中線程的生命周期,首先看一下下面這張較
Java集合幹貨系列-(一)ArrayList源碼解析
div imp ins bject 增加 toa tof capacity == 前言 今天來介紹下ArrayList,在集合框架整體框架一章中,我們介紹了List接口,ArrayList繼承了AbstractList,實現了List。ArrayList在工作中經常用到,所
Maven系列(一)從零開始構建Java應用程序
.so 構建java項目 cti maven生命周期 包含 兩個類 簡述 work pil 前段時間面試,面試官要我簡述一下Maven生命周期,what?Maven不就是用來構建一個項目的麽,生命周期是什麽東東(我之前一直做.net,但是想找關於java的工作,之前使用Ma
Java Thread系列(一)線程創建
nds list www imp tor 所有 clas HR dex Java Thread系列(一)線程創建 Java 中創建線程主要有三種方式:繼承 Thread、實現 Runnable 接口、使用 ExecutorService、Callable、Future 實現
jdk 1.7系列(一) JAVA IO 簡史
java 細節 了解 java7 file類 支持 org 需要 概念 JAVA IO簡史 Java之所以能夠廣泛流傳,其強大、豐富、簡明的類庫功不可沒,編程時要解決
Java基礎系列(一)
java的基本型別與包裝類 1、java是純面向物件的語言,但是為了方便還是提供了8種基本的資料型別,基本資料型別的資料不具備“物件”的特性——沒有屬性、沒有方法。同時為了滿足其面向物件的特點,Java為每種基本資料型別分別設計了對應的類,稱為包裝類,並且為其新增一些實用的方法。 基本型
Java EE入門教程系列(一)——第一章Java EE的概述(1)
題外話:這個系列是為了記錄學習Java EE的軌跡,也算是讀書筆記,是我先看完了一遍教程對相關概念有了一個大體印象以後準備再重頭細看一遍時同步寫的部落格。感想就是其實以前課堂上老師教的課都是很有作用的,如果你能很好地掌握設計模式、計算機網路的相關知識,那麼對你理解Java EE會有很大的幫助。可能是
java多執行緒系列(一):Thread、Runnable、Callable實現多執行緒的區別
實現多執行緒 java實現多執行緒的方法有三種,分別是繼承thread類,實現runnable介面,實現callable介面(call方法有返回值) /** * 繼承Thread */ public class MyThread extends Thread{ int a = 0;
Java集合系列(一)List集合
List的幾種實現的區別與聯絡 List主要有ArrayList、LinkedList與Vector幾種實現。 ArrayList底層資料結構是陣列, 增刪慢、查詢快; 執行緒不安全, 效率高; 不可以設定擴充套件容量, 預設增長1.5倍; 無參構造器初始化時, 初始容量為0。 LInkedList
Java 7 原始碼學習系列(一)——String
String表示字串,Java中所有字串的字面值都是String類的例項,例如“ABC”。字串是常量,在定義之後不能被改變,字串緩衝區支援可變的字串。因為 String 物件是不可變的,所以可以共享它們。例如: String str = "abc"; 相當於 char data[] =
呼叫鏈系列(一):解讀UAVStack中的貪吃蛇-呼叫鏈
背景 對於分散式線上服務,一個請求需要經過多個系統中多個模組,可能多達上百臺機器的協作才能完成單次請求。這種場景下單靠人力無法掌握整個請求中各個階段的效能開銷,更無法快速的定位系統中效能瓶頸。當發生故障時通常需要檢視大量日誌跨越多個團隊來確認問題。
jdk 1.7語法系列(一) JAVA IO 簡史
JAVA IO簡史 Java之所以能夠廣泛流傳,其強大、豐富、簡明的類庫功不可沒,程式設計時要解決的大多數問題幾乎都可以在其中找到支援。但經驗豐富的Java開發人員都知道,在老版本的Java中,有些地方
Java程式設計中的坑——字串系列(一)
在實際程式設計中,經常會用到將字串中的某個字串替換成另一個字串的場景。最常用的替換字串的方法是replace(),replaceFirest(),replaceAll()這三種方法。你知道這三種方法的具體區別嘛?你知道怎麼替換字串中的特殊字元嘛?下面先看如下例子,心中預先想好
Java多執行緒乾貨系列—(一)Java多執行緒基礎
多執行緒併發程式設計是Java程式設計中重要的一塊內容,也是面試重點覆蓋區域,所以學好多執行緒併發程式設計對我們來說極其重要,下面跟我一起開啟本次的學習之旅吧。 正文 執行緒與程序 1 執行緒:程序中負責程式執行的執行單元 執行緒本身依靠程式進行執行 執行緒是程式中的順序控制流,只能使用分配給程式的資源和環