關於java中交叉引用的思考
之前項目遇到過幾次交叉引用的問題,成片的紅線,十分壯觀...
比方說有三級 controller (c) service (s) dao (d)
A B C
a b c
正常情況:
A中註入B,B中註入C;
a中註入b,中註入c;
出現問題的情況是:
因為B中需要用到b中已實現的方法,將b註入B;
現b中又要用到B中已實現的方法,需要將B註入b.
此時便出現交叉引用;
查過一些資料,大概意思都是講軟件架構或者設計上避免.編碼過程中如何避免呢?
今天剛想到一條解決要點:
只能將 s 註入 c ,只能將d註入s; // controller (c) service (s) dao (d)
這樣一來應該就能保證不交叉引用,但相對來講,有的代碼不能直接共用,需要重復實現.
個人拙見.
關於java中交叉引用的思考
相關推薦
關於java中交叉引用的思考
實現 con 架構 ice 不能 交叉引用 關於 重復 出現問題 之前項目遇到過幾次交叉引用的問題,成片的紅線,十分壯觀... 比方說有三級 controller (c) service (s) dao (d) A
理解Java中的引用傳遞和值傳遞
包裝類 pri ble buffer 聲明 change cnblogs padding ber 關於Java傳參時是引用傳遞還是值傳遞,一直是一個討論比較多的話題,有論壇說Java中只有值傳遞,也有些地方說引用傳遞和值傳遞都存在,比較容易讓人迷惑。關於值傳遞和引用傳遞其
java中的引用類型
類型 不回 告訴 oom 通過 利用 垃圾回收 對象實例 soft 一、強引用。無論什麽時候,垃圾回收器都不會回收他,若是內存不足會拋出OOM異常,也不回收強引用對象。 二、軟引用。通過類SoftReference。它的作用告訴垃圾回收器,在內存不足的時候,會被回收器回收,
java中的引用類型的對象存放在哪裏
void 上下 實例變量 java body 在哪裏 運行時 () 數據 根據上下文來確定。比如void func(){ Object obj = new Object();//這個obj在函數的棧裏。}class Test{ private Object obj
Java中的引用傳遞和值傳遞
基本類型包裝類 new except pri 引用類型 otsu 靜態 數據 app 1.基本類型和引用類型在內存中的保存 Java中數據類型分為兩大類,基本類型和對象類型。相應的,變量也有兩種類型:基本類型和引用類型。 基本類型的變量保存原始值,即它代表的值就是數
java中的引用之OA現金盤平臺維護
ear 四種 管理 cep jar null test 垃圾收集 lang 從Java SE2開始,Java提供了強引用、軟引用、弱引用和虛引用四種引用類型。其目的有:1)便於垃圾收集器回收;2)方便程序 員通過代碼的方式管理對象的生命周期。 使用示例 1.強引用:OA現金
關於java中的“引用”概念
ref 討論 引用 stub 前言 clas 中一 按值傳遞 基本 前言 最近在閱讀《java編程思想》一書時,對作者關於java中的”引用(句柄)“的解釋不太清楚,因此以實驗的方式來討論下java中一切皆”按值傳遞“這一說法,從而加深理解。 正文 情景一:當參數為基本數
java中的引用型別概念
此文章轉自:http://blog.sina.com.cn/s/blog_7fb1495b01012sfn.html 1、什麼是引用型別 引用型別(reference type)指向一個物件,不是原始值,指向物件的變數是引用變數。 在java裡面除去基本資料型別的其它型別都是引
java 中的引用資料型別
字串String 在java 中,字串不是基本資料型別,而是String 類的物件,當我們建立一個字串的時候,真的是要使用new 來呼叫String 建構函式 String str = new String(); 但是如果僅僅想建立一個字串物件的話,完全可以使用字面量的方法,字面量還
java中強引用、軟引用、弱應用、虛引用
虛引用:“虛引用”顧名思義,就是形同虛設,與其他幾種引用都不同,虛引用並不會決定物件的生命週期。如果一個物件 僅持有虛引用,那麼它就和沒有任何引用一樣,在任何時候都可能被垃圾回收。 虛引用主要用來跟蹤物件被垃圾回收的活動。虛引用與軟引用和弱引用的一個區別在於:虛引用必須和引用佇列 (ReferenceQue
Java中的引用型別(強引用、弱引用)和垃圾回收
Java中的引用型別和垃圾回收 強引用Strong References 強引用是最常見的引用: 比如: StringBuffer buffer = new StringBuffer(); 建立了一個StringBuffer類的物件,並用一個變數buffer儲存對這個
java中如何引用一個類的public方法
有兩種方式: 1. 新建一個類的例項,然後呼叫。 如: public class ha { public static void main(String[] args) { ab ss=new ab(); ss.haha(); } } class ab{ pu
java 中通過引用變數訪問物件
引用型別:一個類就是一種引用型別。 物件是通過物件引用變數來訪問的,該變數包含對物件的引用,使用如下語法格式進行宣告: ClassName objectRefvar; 類名 物件引用變數; Circle circle1=new Circle(); 上面的語句,建立了一個物件,並且把物件的引用賦值
簡單直白教你理解Java中四大引用強引用,軟引用,弱引用,虛引用
我屬於自學型的,所以知識不夠系統,只能是一邊兒工作一邊查漏補缺,在此要對那些寫技術文章的人由衷的說句謝謝,謝謝各位大神們的分享 ONE,強引用(StrongReference) 概念介紹: 在此說明一下,StrongReference只是對強引用的一個稱呼,但是強引用沒有對
java中的引用和C++中的指標的區別
1.型別:引用其值為地址的資料元素,java封裝了的地址,可以轉成字串檢視,長度可以不必關心。C++指標是一個裝地址的變數,長度一般是計算機字長,可以認為是個int。 2.所佔記憶體: 引用宣告時沒有實體,不佔空間。C++指標如果聲明後會用到才會賦值,如果用不到不會分配記憶體
Java中是引用傳遞還是值傳遞?
前言 在學習Java程式語言過程中最容易讓你產生誤解的問題之一就是 java是值傳遞還是引用傳遞。今天就來圍繞這個話題揭開迷霧。 概念 首先先來認識一下什麼是值傳遞什麼是引用傳遞。 值傳遞: 將方法實際引數值複製到另一個變數,然後複製的物件被傳遞,
java中強引用,軟引用,弱引用,虛引用
1、強引用 強引用是最普遍的引用,我們一般new創建出來的物件的引用都為強引用。強引用不會被jvm強制回收,就算jvm記憶體不夠繼續分配,丟擲OOM,也不會隨意回收強引用。 public class A { public void aa() { System.out.println("引用測
牛客面試題集錦之java中的"引用傳遞"
java沒有指標,因此也就沒有引用傳遞這一說法,只有值傳遞,不過可以通過物件來實現引用傳遞,這種引用傳遞和指標原生的引用傳遞不一樣: java值傳遞:方法呼叫時,實際引數將它的值傳遞個形式引數,期間在
【奔跑的菜鳥】Java中的引用傳遞
剛開始從C/C++轉到Java感覺真的有點不適應,在Java傳遞時,經常有時弄不清楚,可以通過下面一個Java程式來分析一下public class Test { public static void main(String[] args) { Person per
Java中的引用型別(強引用、軟引用、弱引用、虛引用)
強引用 是指建立一個物件並把這個物件賦給一個引用變數; 強引用有引用變數指向時永遠不會被垃圾回收,即使記憶體不足的時候。 2.軟引用 軟引用通過SoftReference類