Time of Update: 2018-12-03
Selenium對於我們進行web自動化測試有很大的協助,如果要進行大範圍的測試覆蓋,就不能僅僅在一兩台機器上跑了;同樣Selenium-Grid也給我們提供了這樣的協助,我們可以藉助Selenium-Grid很容易的實現分布式測試環境的搭建。不同於其它一些通用的分布式程式【如:hudson】,Selenium-Grid是專門針對Selenium的自動化分布式測試解決方案。其優點是:快速搭建分布環境【通過簡單的參數配置】自動分配測試指令碼【針對不同環境】只需一份測試代碼【目標測試機不需要有測試代
Time of Update: 2018-12-03
檔案上傳其實是一個很基本的頁面操作,以前也做過。在jsp+servlet時,關鍵點是只要指定jsp用於提交上傳檔案資源的form的enctype屬性為multipart/form- data即可。這個屬性 其實是設定了提交的內容是以資料流的方式提交給servlet的。當然也包含了檔案的流,這樣在servlet裡利用common-
Time of Update: 2018-12-03
新浪微博API(java版)============================修改事項:1、介面返回結果採用json對象方式封裝2、修改WeiboResponse中Null 字元串("")調用判斷的bug3、修改了JSONObject中返回Null 物件的問題4、增加了直接檔案上傳介面直接常用介面執行個體:(使用前先修改 Weibo.java 中 public static final String CONSUMER_KEY = ""; public static final
Time of Update: 2018-12-03
父類:public class base {public String s1 = "base string";public static String s2 = "base static string";public void show(){System.out.println(this.s1);}public void show_static(){System.out.println(s2);}}子類:public class child extends base {public
Time of Update: 2018-12-03
一、 代理模式 代理模式是常用的Java 設計模式,它的特徵是代理類與委託類有同樣的介面,代理類主要負責為委託類預先處理訊息、過濾訊息、把訊息轉寄給委託類,以及事後處理訊息等。代理類與委託類之間通常會存在關聯關係,一個代理類的對象與一個委託類的對象關聯,代理類的對象本身並不真正實現服務,而是通過調用委託類的對象的相關方法,來提供特定的服務。按照代理類的建立時期,代理類可分為兩種。靜態代理類:
Time of Update: 2018-12-03
public interface Contents { //一個介面 int value();}public interface Destination { //介面 String readLabel();}public class Goods { //外部類private int num =2; //外部類方法 public int getNum() {return num;}public void setNum(int num) {this.num = num;
Time of Update: 2018-12-03
void readFile(String path) // 顯示開啟檔案的內容 { try { File file = new File(path); BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(file), "GBK"));// 編碼轉換 int size = (int) file.length(); int
Time of Update: 2018-12-03
單例模式單例模式是一種常見的設計模式,單例模式分三種:懶漢式單例、餓漢式單例、登記式單例三種。單例模式有一下特點:1、單例類只能有一個執行個體。2、單例類必須自己自己建立自己的唯一執行個體。3、單例類必須給所有其他對象提供這一執行個體。一、懶漢式單例在類被載入的時候,唯一執行個體已經被建立。這個設計模式在Java中容易實現,在別的語言中難以實現。單例模式-懶漢式單例public class LazySingleton { /*** 私人靜態對象,載入時候不做初始化 */
Time of Update: 2018-12-03
由於經常用到java上傳的組件, 每次都要一行一行的寫不是很方便, 所以抽了點時間封裝一下, 也為以後方便使用. 底層也是是用apache的upload上傳組件, 不過僅僅是封裝了一下, 更方便用了而已. 具體的組件是繼承了 HttpServletRequest介面. 我們可以象使用jsp中的request一樣使用upload組件了. 具體代碼如下:FileHttpServletRequest 介面: /** Created on 2006-7-3**/package
Time of Update: 2018-12-03
在JSP裡,擷取用戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效。但是在通過了Apache,Squid等反向 Proxy軟體就不能擷取到用戶端的真實IP地址了。 Tag:Java 用戶端 真實IP地址 在JSP裡,擷取用戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效。但是在通過了Apache,Squid等反向 Proxy軟體就不能擷取到用戶端的真實IP地址了。
Time of Update: 2018-12-03
package com.rae;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.List;import java.util.TreeSet;import java.util.Iterator;public class Student implements Comparable<Student> { private
Time of Update: 2018-12-03
第一種:Map map = new HashMap();Iterator iter = map.entrySet().iterator();while (iter.hasNext()) {Map.Entry entry = (Map.Entry) iter.next();Object key = entry.getKey();Object val = entry.getValue();}效率高,以後一定要使用此種方式!第二種:Map map = new HashMap();Iterator
Time of Update: 2018-12-03
Solving Tomcat OutOfMemoryError: Heap space and PermGen spaceTomcat March 12th, 2009It’s quite common to run In memory problems when running some big Java EE application on a Tomcat server.Some of the most commmon errors are like the following
Time of Update: 2018-12-03
JAVA中靜態數組與動態數組前面我們學習的數組都是靜態數組,其實在很多的時候,靜態數組根本不能滿足我們編程的實際需要,比方說我需要在程式運行過程中動態向數組中添加資料,這時我們的靜態數組大小是固定的,顯然就不能添加資料,要動態添加資料必須要用到動態數組,動態數組中的各個元素類型也是一致的,不過這種類型已經是用一個非常大的類型來攬括—Object類型。Object類是JAVA.LANG包中的頂層超類。所有的類型都可以與Object類型相容,所以我們可以將任何Object類型添加至屬於Object類
Time of Update: 2018-12-03
Java影響力遠超想像——為什麼要採用Java平台 從開發項目的類別角度看java平台基於B/S結構的系統,在這個方向上的競爭是激烈的,有專註於此的LAMP(Linux + Apache + Mysql + Php); 也有剛剛興起的Rails(Ruby Frameworks)甚至是號稱快速開發的ASP.NET; 當然了java在這個領域裡的MVC架構數都數不完,比如Struts .
Time of Update: 2018-12-03
多線程下載由來已久,如 FlashGet、NetAnts 等工具,它們都是依懶於 HTTP協議的支援(Range 欄位指定請求內容約制),首先能讀取出請求內容 (即欲下載的檔案) 的大小,劃分出若干區塊,把區塊分段分發給每個線程去下載,線程從本段起始處下載資料及至段尾,多個線程下載的內容最終會寫入到同一個檔案中。 只研究有用的,工作中的需求:要把多個任務指派給Java的多個線程去執行,這其中就會有一個工作清單指派到線程的策略思考:已知:1. 一個待執行的工作清單,2. 指定要啟動的線程數;
Time of Update: 2018-12-03
1. 數組有沒有length()這個方法? String有沒有length()這個方法? 答:數組沒有length()這個方法,有length的屬性。 String有length()這個方法。2. String s = new String("xyz");建立了幾個String Object? 答:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。3. abstract class和interface有什麼區別?
Time of Update: 2018-12-03
exception org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap
Time of Update: 2018-12-03
一、Java數組初始化Java數組是靜態,即當數組被初始化之後,該數組的長度是不可變的。同時,Java數組是引用型變數,並不是數組對象本身,它類似於C裡的指標,通常放在棧記憶體中,而數組對象儲存在堆記憶體中,所以只要讓陣列變數指向一個有效數組對象,程式就可以使用該陣列變數。1、初始化過程:分配記憶體空間,並指定初始值;2、基本類型數組的兩種初始化方式:靜態初始化:指定每個數組元素的初始值,由系統決定數組長度;動態初始化:只指定數組長度,由系統為數組元素分配初始值; 注意:不要同時使用兩種方式進
Time of Update: 2018-12-03
重寫(overriding):也叫覆寫、改寫或重構,它是指在類繼承時,子類重新定義了從父類繼承來的方法。它用於父子之間,子類中聲明與父類同名的方法,從而覆蓋了父類的方法。重構解決了子類與父類的差異問題。方法重寫需要遵循的規則如下:方法名稱一定要一樣;傳回值資料類型要一樣;所使用的參數要一樣;修飾符的使用許可權只能越開放,不能越封閉。public-->protected-->(default/package)-->private用final修飾的方法將不能再被重寫。重載(over