Time of Update: 2018-12-03
對遠遠大於記憶體的資料進行外排序,在多路比較的時候用敗者樹效率會更高。這個演算法可以在建立倒排索引的時候使用 package my.sort;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedWriter;import java.io.DataInputStream;import java.io.DataOutputStream;import
Time of Update: 2018-12-03
public class BitOperate {public static void bitCalc() {byte a = 12,b=10;byte c = -12,d=-10;/** * 1、按位與 & * (AND) * 運算方法:當兩邊運算元的位同時為1時,結果為1,否則為0 * * 注意:符號位也會參與運算 */// 12二進位表示(1100),10二機制(1010)System.out.println("正數與運算:"+(a&b));
Time of Update: 2018-12-03
引言 生產者和消費者問題是執行緒模式中的經典問題:生產者和消費者在同一時間段內共用同一個儲存空間,如所示,生產者向空間裡存放資料,而消費者取用資料,如果不加以協調可能會出現以下情況:生產者消費者圖 儲存空間已滿,而生產者佔用著它,消費者等著生產者讓出空間從而去除產品,生產者等著消費者消費產品,從而向空間中添加產品。互相等待,從而發生死結。JAVA解決執行緒模式的三種方式1、wait和notifypackage com.ch.egg;import
Time of Update: 2018-12-03
Cookie讀取與寫入有兩種方法,用程式寫和用js寫的兩種方法, 1 用程式寫例如: /** * 根據名稱讀取cookie */ public Object getCookie(String name){ Cookie[] cookie = request.getCookies(); Object object = null; for(int
Time of Update: 2018-12-03
狀態圖:1、線程的實現有兩種方式,一是繼承Thread類,二是實現Runnable介面,但不管怎樣,當我們new了這個對象後,線程就進入了初始狀態;2、當該對象調用了start()方法,就進入就緒(可運行)狀態;3、進入可運行狀態後,當該對象被作業系統選中,獲得CPU時間片就會進入運行狀態;4、進入運行狀態後情況就比較複雜了4.1、run()方法或main()方法結束後,線程就進入終止狀態;4.2、當線程調用了自身的sleep()方法或其他線程的join()方法,就會進入阻塞狀態(該狀態既停止
Time of Update: 2018-12-03
首先看一段代碼(使用JDK 5),如下: public class Hello { public static void main(String[] args) { int a = 1000, b = 1000; System.out.println(a == b); Integer c = 1000, d = 1000; System.out.println(c == d); Integer e = 100, f = 100;
Time of Update: 2018-12-03
早在Java 1.2推出之時,Java平台中就引入了一個新的支援:java.lang.ThreadLocal,給我們在編寫多線程程式時提供了一種新的選擇。使用這個工具類可以很簡潔地編寫出優美的多線程程式,雖然ThreadLocal非常有用,但是似乎現在瞭解它、使用它的朋友還不多。 ThreadLocal是什麼 ThreadLocal是什麼呢?其實ThreadLocal並非是一個線程的本地實現版本,它並不是一個Thread,而是thread local
Time of Update: 2018-12-03
------- android培訓、java培訓、期待與您交流!
Time of Update: 2018-12-03
<%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.util.*" %> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <html> <head>
Time of Update: 2018-12-03
------- android培訓、java培訓、期待與您交流! ----------枚舉:就是要讓某個類型的變數的取值只能為若干個固定值中的一個,否則編譯器就會報錯。枚舉可以讓編譯器咋編譯時間就可以控制來源程式中填寫的非法值,普通變數的方式在開發階段無法實現這一目標。 枚舉的元素必須位於枚舉體重的最開始部分,枚舉元素列表的後面要有分號與其他成員分隔。把枚舉中的成員方法或變數等放在枚舉的前面,編譯器就會報錯。 帶構造方法的 枚舉 --構造方法必須定義成私人的
Time of Update: 2018-12-03
assertion 對一個boolean運算式進行檢查,一個正確程式必須保證這個boolean運算式的值為true;如果該值為false系統將拋出AssertionError.文法:assert expression1; assert expression1: expression2;expression1表示一個boolean值或運算式或能返回boolean值的方法,expression2是object,一般寫字串會被包含在AssertionError中,提示給使用者例如:assert 1!=
Time of Update: 2018-12-03
Android文檔裡對Math.atan2這樣解釋的:double java.lang.Math.atan2(double x, double y)public static double atan2 (double x, double y) Since: API Level 1 Returns the closest double approximation of the arc tangent of y/x within the range [-pi..pi]. This is the
Time of Update: 2018-12-03
數組有沒有length()這個方法? String有沒有length()這個方法?答案:數組有length屬性,而String有length()方法。以下是執行個體代碼:public class test { public static void main(String[] args) { // TODO Auto-generated method stub String st1 = new String("aaa");
Time of Update: 2018-12-03
監聽AJAX請求並響應當從頁面使用JavaScript發送了一個AJAX請求到伺服器,伺服器就需要對這個請求進行處理,因此這一小節的內容主要就是在伺服器端。首先,讓我們來瞭解一些JSF的內容——有關PhaseListener 。所謂的Phase就是JSF請求的階段,一個JSF請求的生命週期中存在不同的階段,當使用者從頁面向伺服器發送一個請求的時候,JSF請求的生命週期就開始了。以下就是著名的JSF請求生命週期中6個階段: 圖 23 JSF請求的生命週期
Time of Update: 2018-12-03
三 WebContext的refresh方法提示:本小節內容是ADF內部實現機制,對ADF的使用沒有影響,如沒有興趣可以跳過。當調用WebContext的refresh方法的時候,
Time of Update: 2018-12-03
第一章 擴充ArcGIS Server這一章其實和ADF已經沒有太大關係了,在ArcGIS的協助裡也是在ArcGIS Server開發章節裡。考慮到使用ADF開發的一般對功能要求比較多一點,所以對於怎麼擴充ArcGIS Server可能比較關心,反正ADF差不多也講完了,這一章就算是一個結束吧。 從9.3.1開始,ArcGIS Server提供了Java開發人員更多的可擴充性。通過擴充ArcGIS Server可以使某些自訂的功能更加完善和強大、使你的某些工作可以更加模組化並和ArcGIS
Time of Update: 2018-12-03
二 自訂一個地圖放大5倍的Functionality【案例】在這個小節,我們去實現一個GISFunctionality去封裝前面實現過的使地圖放大5倍的功能。首先,當然是建立一個Functionality類並添加到ADF應用中去。前面我們經常通過直接編輯代碼的方式去定義類和設定檔,這主要是為了協助你理解ADF應用的配置和各個元素的相互關係。現在估計你也有一定瞭解了,我們也就盡量省事些,多使用ArcGIS的eclipse外掛程式去完成這些工作吧。讓我們開啟eclipse的菜單【ArcGIS】
Time of Update: 2018-12-03
二 使用Utility Objects提高查詢效能【案例】這是我的同事使用Utility Objects解決某個使用者的一個實際問題。這個使用者通過調用AO進行空間查詢,然後在此基礎上進行分頁,分頁的時候遍曆該頁所有的IFeature,提取屬性資訊,構造成自己的結果返回——結果,遇到了嚴重的效能問題,在上萬條記錄中查詢一般兩三分鐘才可以出結果,這在一個國家級項目中是難以忍受的。 經過添加日誌分析,發現AO查詢的速度非常快,問題就是出在遍曆IFeature這個操作上,是不停地進行跨進程調用產生的。
Time of Update: 2018-12-03
二 【案例】自訂Command使地圖等比放大在這一小節,我們通過自訂Command定製一個按鈕,這個按鈕每點擊一次,地圖會放大1倍。通過這個簡單案例,讓我們來熟悉一下Command的用法。實現這個功能的主要環節是實現自己的監聽器類,以下是這個類的定義:import com.esri.adf.web.data.WebContext;import com.esri.adf.web.util.WebUtil;import
Time of Update: 2018-12-03
Command、Tool和Button這一章我們將討論的主要對象是Toolbar的孩子們和親戚,涉及到兩個孩子:Command和Tool,還有一個親戚:Button。它們是基於ADF對WebGIS功能進行擴充的第一步,它可以讓你在地圖工具條中加入若干自訂的按鈕來執行特定的功能。在第三章中我們把Toolbar列為ADF常用組件之一,但是它和Map、TOC、Overview等其它組件是有區別的,我們開啟“context-attributes.xml”設定檔可以發現,Map、TOC、Overview等