Java動態代理三——類比AOP實現

以下案例類比AOP實現目錄結構介面PersonServicepackage com.ljq.service;public interface PersonService {public void save(String name);public void update(String name, Integer personId);public String getPersonName(Integer personId);}實作類別PersonServiceBeanpackage com.ljq.

Java動態代理二——CGLIB動態代理應用

     JDK自從1.3版本開始,就引入了動態代理,JDK的動態代理用起來非常簡單,但是它有一個限制,就是使用動態代理的對象必須實現一個或多個介面 。如果想代理沒有實現介面的類可以使用CGLIB包。  CGLIB是一個強大的高效能的代碼產生包。它被許多AOP的架構(例如Spring

JAVA調用資料庫預存程序

下面將舉出JAVA對ORACLE資料庫預存程序的調用         ConnUtils串連工具類:用來擷取串連、釋放資源package com.ljq.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 串連工具類 * *

JAVA通過調用資料庫函數調用預存程序

下面將舉一個通過資料庫函數來調用預存程序:建立資料庫函數預存程序CREATE OR REPLACE FUNCTION stu_proc ( v_id IN NUMBER) RETURN VARCHAR2 IS v_name VARCHAR2(20);BEGIN SELECT o.sname INTO v_name FROM student o WHERE o.id=v_id;RETURN v_name;EXCEPTIONWHEN OTHERS THEN RETURN

JAVA調用增刪改的預存程序

1、建立添加預存程序CREATE OR REPLACE PROCEDURE stu_proc(v_id IN NUMBER, v_name IN VARCHAR2, v_age IN NUMBER) ASBEGIN INSERT INTO student(id, sname, age) values (v_id, v_name, v_age);commit;END;      JAVA調用添加預存程序package com.ljq.test;import

Java可變參數的使用

Java1.5增加了新特性:可變參數。適用於參數個數不確定,類型確定的情況,java把可變參數當做數組處理。注意:可變參數必須位於最後一項。當可變參數個數多餘一個時,必將有一個不是最後一項,所以只支援有一個可變參數。因為參數個數不定,所以當其後邊還有相同型別參數時,java無法區分傳入的參數屬於前一個可變參數還是後邊的參數,所以只能讓可變參數位於最後一項Code highlighting produced by Actipro CodeHighlighter

Java常用集合比較

1. ArrayList   基於數組方式實現,無容量的限制。   在執行插入元素時可能要擴容,在刪除元素時並不會減少數組的容量。   如果希望相應的縮小數組容量,可以調用trimToSize()   在尋找元素時要遍曆數組,對於非null的元素採取equals的方式尋找。   非安全執行緒。 2. LinkedList   基於雙向鏈表機制實現。   元素的插入、移動較快。   非安全執行緒。 3. Vector   基於Object數組的方式來實現的。  

Java線程中run和start方法的區別

Thread類中run()和start()方法的區別如下:run()方法:在本線程內調用該Runnable對象的run()方法,可以重複多次調用;start()方法:啟動一個線程,調用該Runnable對象的run()方法,不能多次啟動一個線程;           package com.ljq.test;public class ThreadTest {/** * 觀察直接調用run()和用start()啟動一個線程的差別 * * @param args

Apk得到Java原始碼

一.反編譯Apk得到Java原始碼 轉載自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html 工具下載:需用到dex2jar和JD-GUI這2個工具dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zipJD-GUI:  windows版JD-GUI:http://laichao.googlec

《java與模式》讀書筆記4—-裡氏代換原則(LSP)和依賴倒轉原則(DIP)

裡氏代換原則(LSP):如果對每一個類型為T1的對象o1,都有類型為T2的對象o2,使得以T1定義的所有程式P在所有的對象o1都代換成o2時,程式P的行為沒有變化,那麼類型T2是類型T1的子類型。換言之,一個軟體實體如果使用的是一個基類的話,那麼一定使用於其子類,而且它根本不能察覺出基類對象和子類對象的區別。裡氏代換原則是繼承複用的基石。只有當衍生類可以替換掉基類,軟體單位的功能不會受到影響時,基類才真正被複用,而衍生類也才能夠在基類的基礎上增加新的行為。依賴倒轉原則(DIP):要依賴於抽象,不

《java與模式》讀書筆記5—-介面隔離原則(ISP)和合成/彙總複用原則(CARP)

介面隔離原則(ISP):使用多個專門的介面比使用單一的總介面要好。一個類對另外一個類的依賴性應當是建立在最小的介面上的。一個介面都代表一個角色,不應當將不同的角色都交給一個介面。沒有關係的介面合并在一起,形成一個臃腫的大介面,這是對角色和介面的汙染。 合成/彙總複用原則(CARP):又稱合成複用原則(CRP),就是在一個新的對象裡面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到複用已有功能的目的。簡而言之就是:要盡量使用合成/彙總,盡量不要使用繼承。彙總:用來表示“

《java與模式》讀書筆記6—-迪米特法則(LoD)

迪米特法則(LoD):又稱最少知識原則(LKP),就是說一個對象應當對其他對象儘可能少的瞭解。狹義的迪米特法則:如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用.如果其中一個類需要調用另一個類的方法的話,可以通過第三者轉寄這個調用.缺點:會在系統內造出大量的小方法,散落在系統的各個角落.這些方法僅僅是傳遞間接的調用,因此系統與系統中的商業邏輯無關.當設計師試圖從一張類圖看出總體的構架時,這些小方法會造成迷惑和困擾.為了克服狹義迪米特法則的缺點,可以使用依賴倒轉原則,引入一個抽象

今天拿到了同事給我買的《java與模式》

自從有了設計模式的概念後一直想買本模式方面的書,所以買了《C#設計模式》,但是讀了幾個月的時間發現自己還只是看了簡單工廠,工廠,抽象工廠和單件模式,已經被此書搞得暈頭轉向了(書也爛,自己水平也低)。所以只得再考慮買本好書了,可設計模式的書大多是C++和Java寫的,VB起家的我C++水平實在夠嗆,所以考慮範圍也就定在了Java設計模式方面的書。前段時間在天級網看到《Java設計模式專輯》,感覺很好,特別是閻宏博士寫的幾篇文章十分精彩,所以很想買他寫的《java與模式》。然後我注意看了不少書評,感

《java與模式》讀書筆記3—-”開-閉”原則(OCP)

物件導向的可複用設計(OOD)的第一塊基石就是"開-閉"原則(OCP) 。開閉原則講的是:一個軟體實體應當對擴充開放,對修改關閉。這個原則說的是,在設計一個模組的時候,應當使這個模組可以在不被修改的前提下被擴充。換言之,應當可以在不必修改原始碼的情況下改變這個模組的行為。滿足“開-閉”原則的設計可以給一個軟體系統帶來兩個無可比擬的優越性:* 通過擴充已有的軟體系統,可以提供新的行為,以滿足對軟體的新需求,使變化中的軟體系統有一定的適應性和靈活性。*

delphi的class reference 和java的IOC

記得以前有人報怨在java裡沒有類似delphi裡的class reference 用法, 比如在delphi裡可以這樣做 type BaseClass = class   constructor Create; virtual; ... end; BaseClassRef = class of BaseClass DerivedClass1 = class (BaseClass ) DerivedClass2 = class (BaseClass )

關於Java AOP和dotnet attribute

關於Java AOP和dotnet attribute, 有的人說, AOP是概念, attribute是技術, 不能混為一談, 不過如果你想在不影響原有class hiberarchy的條件下, 用橫切的方法去影響class或method的行為, 當你對.net程式員提這個要求, 他們想到的是attribute, 如果你對java程式員說, 他們肯定會說AOP, 所以無論是概念還是技術, 只要他們乾的是有相同之處, 我們就不用去太在乎他的名字. 只專著他們的功能好了. 首先,

GCJ:The GNU Compiler for the Java(讓你的java程式脫離JRE),GCJ環境的配置

曾經利用GCJ編譯itext,並利用itext寫了很多小程式(現在可以從網上擷取的有pdfrotate,nup_pdf),這裡只是介紹下如何擷取GCJ的編譯環境。GCJ是一個基於GNU協議的Java編輯器,支援以下編譯方式:Java原始碼直接編譯成本地機器碼,windows平台下就是exe可執行程式(脫離JRE);Java原始碼編譯成Java bytecode(class檔案),這個在windows平台下估計只有特殊情況才有意義,畢竟GCJ還不能完全相容J2SDK;Java

Convert SVG to PDF by using iText in Java(ZT)

As promised here is a very simple PDF that contains a SVG-based image. The SVG contains the following data:Code highlighting produced by Actipro CodeHighlighter

java抽取word,pdf的四種武器

層級: 初級chris, 畢業於中國人民大學資訊學院2003 年 6 月 27 日很多人用java進行文檔操作時經常會遇到一個問題,就是如何獲得word,excel,pdf等文檔的內容?我研究了一下,在這裡總結一下抽取word,pdf的幾種方法。用jacob其實jacob是一個bridage,串連java和com或者win32函數的一個中介軟體,jacob並不能直接抽取word,excel等檔案,需要自己寫dll哦,不過已經有為你寫好的了,就是jacob的作者一併提供了。 jacob

一個很好的Java查BUG工具

經一個朋友介紹,發現了一個很好的Java環境下的查錯工具findBugs。這個工具的真的很棒,使用這個工具發現了我代碼中一些小BUG,人畢竟是人,就是會犯錯誤,工具比人強。令人吃驚的是,這個工具檢查可能導致Connection、Statement、ResultSet這些資源類忘記關閉的BUG,這個功能特彆強。例如:Conneciton conn = ...;Statement stmt = conn.createStatement();ResultSet rs =

總頁數: 4058 1 .... 791 792 793 794 795 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.