![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 76
漢家郎
敬天法祖
展开
-
DBUnit的原理
dbunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装,虽然在80%的情况,你只需使用它极少的api。它通过使用用户自定义的数据集以及相关操作使数据库处于一种可知的状态,从而使得测试自动化、可重复和相对独立。 这个所谓“可知的状态”,让人看上去是有点晕的,其实他的意思就是:当前数据库里的数据是已知的。比如,在运行每一个单元测试用例之前,数原创 2012-02-27 18:10:58 · 1252 阅读 · 4 评论 -
反射技術對單例模式的挑戰之一道變態的面試題
朋友參加面試歸來,跟我說遇到的一面試題,說:利用反射技術可否調用單例模式類的私有構造函數得到其實例?我想了想,記得做單元測試的時候測私有方法曾用反射調過,答曰:可又問:如何處理?答:。。。。。。。比較無語,我真沒這麼考慮過這個問題。於是,我寫了個單例模式的類做了下測試,代碼(Java版)如下:public class Singleton {private static原创 2012-04-18 21:22:15 · 582 阅读 · 0 评论 -
Java的默認繼承問題
Java中新建一個類,其默認繼承Object類,可是我們並沒有明確寫出,那Java是如何處理的?有兩種可能,一種是Java編譯器,在編譯的時候,給沒有明確繼承關係的類加上Object父類;另一種可能是JVM在加載該類的時候加上。筆者做了一個試驗。一 新建一個類package com.swjtu.ps;public class DefaultDerived {public原创 2012-05-11 17:00:01 · 877 阅读 · 0 评论 -
Log4J2的配置与使用
log4j2的配置文件只支持JSON和XML了。1. 對logger的實例化:static Logger logger = LogManager.getLogger(TaobaoResynchronizingAjaxController.class.getName());2. 配置文件(XML)舉例文件名為:log4j.xml原创 2014-02-19 17:58:59 · 6563 阅读 · 1 评论 -
Mybatis入門實例
一 工程目錄結構原创 2014-05-18 00:43:53 · 503 阅读 · 0 评论 -
Spring 依賴注入門示例
1. Beans XML配置<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans原创 2014-05-18 09:35:14 · 555 阅读 · 0 评论 -
參數校驗之痛
至今猶記第一份工作寫的那個日誌tpgj原创 2014-11-23 12:40:50 · 479 阅读 · 0 评论 -
【Java8新特性】Java 8 接口之 default method
interface Idemo { default void demo(){ System.out.println("demo"); }}原创 2014-11-23 12:15:29 · 939 阅读 · 0 评论 -
Windows下OpenCV Java開發環境搭建
至http://opencv.org/ 下載OpenCV,得文件:opencv-2.4.10.exe,雙擊,自解壓至:{path}\opencv新建Java工程HelloOpenCV添加Jar包引用,Jar包位置:{Path}\opencv\build\java\opencv-2410.jar將文件{Path}\opencv\build\java\x64\opencv_java24原创 2015-01-07 20:44:22 · 1348 阅读 · 0 评论 -
Eclipse 快捷鍵設置
1. Hot key Windows->Preferences->Keys2. CompletionWindows->Preferences->Java->Editor->ContentAssist->Auto Activation->Auto activation triggers for Java:輸入:abcdefghijklmnopqrstuvwxyz.@原创 2015-04-27 12:59:29 · 422 阅读 · 0 评论 -
Java之synchronized加鎖範圍
一個面試問題,大意如下:一個類中兩個synchronized方法甲和乙,當一個線程進入方法甲時,乙可以進入方法乙嗎?我發現我還真沒注意過這個問題,搜索了下也沒找到官方文檔明確的提及這個問題,於是寫了些代碼做試驗。package com.ps.thread;import java.util.concurrent.TimeUnit;public class RWManage原创 2015-04-27 10:52:59 · 419 阅读 · 0 评论 -
不使用第三方工具實現Java WebService客戶端簡例
使用VS建立一個WebService服務,本文主要針對Java的WebService用戶端,如何用VS建立一個WebService就不再贅述。該WebService服務很簡單,給一個參數,不妨假設為,PS,則得到回應:Hello PS,其URL為:http://localhost:3108/Service1.asmx?wsdl,此為本機服務,如果您要測試的話,需要改成您自己的本機服務位址。原创 2012-05-02 11:54:29 · 1836 阅读 · 0 评论 -
Java類初始化順序
Java煩的編譯代碼都存在於其獨立的文件之中,該文件只在需要使用程序代碼時才會被加載。也就是說,Java類的代碼在初次使用時才加載。類的加載通常發生在創建類的第一個對象之時,當訪問static域或static方法時也會發生加載。所有的static對象和static代碼段都會在加載時依程序中的順序而依次初始化。關於當訪問static域或static方法時也會發生加載,其意思是,如果我們調用一原创 2012-03-21 15:38:03 · 409 阅读 · 0 评论 -
單元測試覆蓋率工具JaCoCo的使用介紹
JaCoCo是基於ANT的單元測試覆蓋率報告自動生成工具,它可用來針對整個專案的單元測試用例生成覆蓋率報告。JaCoCo的下載至頁面下載最新版本的JaCoCo壓縮包,解壓縮後找到Lib資料夾下的jacocoant.jar文件備用。JaCoCo工具是與ANT工具結合使用,用來完成自動化單元測試的覆蓋率報告生成工作。在ANT的腳本裡設置步驟如下所示:1. 在根節點裡添加屬原创 2012-02-28 14:47:35 · 7159 阅读 · 1 评论 -
DBUnit的使用之單元測試類的配置
DBUnit是基於Junit的,DBUnit的單元測試類繼承DBTestCase即可,DBTestCase的繼承關係如圖一所示圖一其中TestCase類是Junit框架中的類。下面就以一個例子來簡述DBunit在單元測試類中的配置。public class DataAccessContext_Part1_Test extends DBTestCase {public原创 2012-02-28 14:27:52 · 779 阅读 · 0 评论 -
理解不變模式-Immutable Pattern<一>
題記:上邪 我欲與君相知 長命無絕衰 山無陵 江水為竭 冬雷陣陣 夏雨雪 天地合 乃敢與君絕 從String說起:用Java或C#時,如果一個字串是頻繁變化的,是不建議把該變數設為String類型的,而建議為StringBuilder,經過N次變化得到最終的字串後,再把StringBuilder轉化為String交給某個方法去處理。不變模式會告訴我們,這是為什麼?備註:我學原创 2012-02-27 18:07:36 · 372 阅读 · 0 评论 -
理解不變模式-Immutable Pattern<二>
更特殊的情況:我寫了一個不變類PartySchool,放在那裡,後來忙別的事情去了,把這一塊維護工作交給了另一個哥們,當他調用這個類的時候發現,創建一個ps對象以後想讓ps從handsome變成不handsome是不可能的,於是他想了一招:public class VirtualPS extends PartySchool{ public VirtualPS(Stringappe原创 2012-02-27 18:08:42 · 429 阅读 · 0 评论 -
DBUnit的使用之數據庫數據導出
笔者在本空间中《DBUnit的原理》提到DBUnit的原理,其第一步的任務是把數據庫裏的數據以XML的格式導出來;本來XML就是可以當數據庫使用的,相當於,將數據庫中設計好的測試數據先導出至XML數據庫暫存起來,以備在單元測試用例運行前將數據庫恢復至設計好的測試數據狀態。本篇志在講述將設計好的測試數據導出的兩種方式。一 腳本式導出將下面這段代碼置於ANT腳本的某一任務腳本中:原创 2012-02-27 18:11:57 · 543 阅读 · 0 评论 -
統一生成單元測試報告及其覆蓋率報告
Junit及JaCoco都是基於ANT工具的,而在ANT的配置腳本中一般而言要兩次運行全部的單元測試用例來分別生成Junit的單元測試報告和JaCoCo的單元測試覆蓋率報告,本案例将以一簡例的单元测试覆盖率配置为例阐述應用Junit工具与JaCoCo工具統一生成單元測試報告及單元測試覆蓋統治報告。JaCoCo是基于ANT的单元测试覆盖率报告自动生成工具,它可用来针对整个项目的单元测试用例生成覆原创 2012-03-01 13:42:55 · 2234 阅读 · 2 评论 -
Junit框架中合成模式的使用
一 合成模式的介紹 合成模式將對象組織到樹結構中可以用來描述整體與部分的關係。合成模式可以使客戶端將單純元素與複合元素同等看待。 合成模式之於面向對象如同樹結構之於結構化編程。二Junit中對合成模式的使用分析圖一Test接口、TestCase類與TestSuite類之間的靜態類圖如圖一所示。Test接口只含有兩個方法,其源碼如下所示:package j原创 2012-03-02 16:33:07 · 592 阅读 · 0 评论 -
基於Java的findbugs報告自動生成
Findbugs工具用來分析Java代碼的不合理之處,本文用簡例來講述findbugs的使用。本例是基於ANT工具自動生成FindBugs報告。下載findbugs將其解壓至自定義文件件,本例是在Linux下運行,findbugs的home放在/root/Downloads/findbugs-2.0.0目錄下。 本條原创 2012-03-01 14:21:38 · 2343 阅读 · 0 评论 -
命令模式例述
君命有所不受--《孫子兵法》國君令將班師回朝,其流程為,國君將其君班師令交給傳令太監,傳令太監將君令傳給將軍,至於將軍回不回朝,那便是將軍的事了。這便是命令模式的典型應用。其靜態類圖如圖一所示:圖一備注:我們常在一些書籍中看到講解一些理論時,舉的一些生動的例子,筆者認為,這些例子不是為了讓我理解這些理論,而是當我們理解後,易於記憶。本例亦如是。命原创 2012-03-04 22:59:00 · 410 阅读 · 0 评论 -
Java關鍵字之strictfp、transient及Volatile
----------------------------------------------------------------------------------------------------------strictfp是指:strict float point 精確浮點如果希望浮點去處精確且跨不同的硬件平臺而可用些關鍵字。要點:該關鍵字可用於限定類、方法及接口。不可用原创 2012-03-14 20:55:15 · 506 阅读 · 0 评论 -
Java 理論與實踐: 正確使用 Volatile 變量
簡介: Java™ 語言包含兩種內在的同步機制:同步塊(或方法)和 volatile 變數。這兩種機制的提出都是為了實現代碼執行緒的安全性。其中 Volatile 變數的同步性較差(但有時它更簡單並且開銷更低),而且其使用也更容易出錯。在這期的 Java 理論與實踐 中,Brian Goetz 將介紹幾種正確使用 volatile 變數的模式,並針對其適用性限制提出一些建議。 Java 語转载 2012-03-15 11:09:08 · 1100 阅读 · 0 评论 -
命令模式與合成模式並用實現宏命令功能例述
命令模式將請求一個操作的對象與執行這個操作的對象解耦,使其獨立的演化;命令模式允許系統使用不同的請求把客戶端參數化、允許對請求排隊或者記錄日誌;命令模式與備忘錄模式合用可用來提供命令的恢復和撤銷功能。-----------------------------------------------------------------------------------本文將以一個例子來講述命令原创 2012-04-03 22:36:21 · 1019 阅读 · 0 评论 -
Maven搭建Spring+Struts2+Mybatis项目(二) web.xml设置
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.原创 2017-05-14 17:41:59 · 552 阅读 · 0 评论