Time of Update: 2018-07-26
JDK中已經幫我們實現了十進位 轉 二進位、八進位、十六進位的功能,使用Integer.toBinaryString(x)、Integer.toOctalString(x)、Integer.toHexString(x) 即可將x轉換為對應的二進位、八進位、十六進位形式。我們也可以通過位移運算來實現求二進位、八進位、十六進位的功能。 範例程式碼 @Testpublic void test02(){//使用JDK實現int x =
Time of Update: 2018-07-26
一、Java volatile關鍵字 Volatile修飾的成員變數在每次被線程訪問時,都強迫從主記憶體中重讀該成員變數的值。而且,當成員變數發生變化時,強迫線程將變化值回寫到主記憶體。這樣在任何時刻,兩個不同的線程總是看到某個成員變數的同一個值。 Java語言規範中指出:為了獲得最佳速度,允許線程儲存共用成員變數的私人拷貝,而且只當線程進入或者離開同步代碼塊時才與共用成員變數的原始值對比。
Time of Update: 2018-07-26
最近公司項目需要將一個大檔案分割成若干個小檔案進行處理,處理完畢之後將所有的小檔案合并為一個檔案。 範例程式碼 package com.xx.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileChannel;import java.util.
Time of Update: 2018-07-26
【HashSet】 1. HashSet儲存不能夠儲存相同的元素,元素是否相同的判斷:重寫元素的equals方法。equals方法和hashCode方法必須相容,如:equals方法判斷的是使用者的名字name,那麼hashCode的返回的hashcode必須是name。hashcode(); &
Time of Update: 2018-07-26
第一步.建立一個模板檔案以.ftl結尾。 IDAO.ftl package com.media.dao; import java.util.List; import com.media.bean.${model_name}; import com.media.exceptions.DAOException; /** * ${model_name_cn}介面 * * @author ${author} * @link ${link} * * @version
Time of Update: 2018-07-26
<servlet-mapping> <servlet-name>downLoadFile</servlet-name> <url-pattern>*.loadfile</url-pattern> </servlet-mapping><servlet-mapping>
Time of Update: 2018-07-26
Date date = new Date(); // 取時間 Calendar calendar = new GregorianCalendar();
Time of Update: 2018-07-26
上篇文章講到了如何搭建zookeeper+dubbo平台,但搭建平台的最終目的還是在項目中應用,接下來我再說下如何在java代碼中實際應用。 dubbo作為RPC的管理工具,它的作用是管理服務的使用者調用服務提供者的情況。 在實際應用中,可建立一個獨立的java project,裡面的內容全部都是介面的定義,沒有實現,然後讓服務的提供者和使用者都依賴於這個項目,provider負責實現介面,而customer只需要直接調用介面所定義的方法即可,這個公用項目的代碼不再贅述。
Time of Update: 2018-07-26
關於跨域傳輸XML資料,由於剛接觸到,碰到了許多問題。這裡把一些相關方法記錄下來,也給大家提供一些參考(新手適用,高手請過 嘿嘿)。 Client:通過HTTP POST方式請求並接收返回資料。(用於請求別人的介面,並接收返回的資料) Server:接收HTTP POST請求過來的資料並返回資料。(用於別人請求自己的介面,接收請求資料並返回資料) 下面是大致實現代碼: Client: public void test() {
Time of Update: 2018-07-26
定義:給定一種語言,定義他的文法的一種表示,並定義一個解譯器,該解譯器使用該表示來解釋語言中句子。 類型:類行為型模式 類圖: 解譯器模式的結構 抽象解譯器:聲明一個所有具體運算式都要實現的抽象介面(或者抽象類別),介面中主要是一個interpret()方法,稱為解釋操作。具體解釋任務由它的各個實作類別來完成,具體的解譯器分別由終結符解譯器TerminalExpression和非終結符解譯器NonterminalExpression完成。
Time of Update: 2018-07-26
基本概念 樹 除了根節點之外,每個節點只要一個父節點,根節點沒有父節點。除了分葉節點之外,所有節點都有一個或者多個節點,分葉節點沒有子節點。父節點和子節點之間用指標相連。 二叉樹 所謂二叉樹是樹的一種特殊結構,在二叉樹中每個節點最多隻能擁有兩個子節點。 二叉樹具有以下性質: 非空二叉樹的第n層上至多有2^(n-1)個元素。 深度為h的二叉樹至多有2^h-1個結點。 資料結構定義 public class BTNode { int
Time of Update: 2018-07-26
一 FreeMarker簡介 Apache FreeMarker是一個Java模板引擎庫,官網:http://freemarker.incubator.apache.org/。 Apache FreeMarker is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based
Time of Update: 2018-07-26
CH10.Spring 架構的開發與應用 package src.com.qdu.sun.Spring; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public
Time of Update: 2018-07-26
網上查了許久,最後發現三種不錯的方法: 1、jdk內建的包java.util.zip.ZipOutputStream,不足之處,檔案(夾)名稱帶中文時, 出現亂碼問題,實現代碼如下: /** * 功能:把 sourceDir 目錄下的所有檔案進行 zip 格式的壓縮,儲存為指定 zip 檔案 * @param sourceDir 如果是目錄,eg:D:\\MyEclipse\\first\\testFile,則壓縮目錄下所有檔案; *
Time of Update: 2018-07-26
最近項目中有一個需求:在自增的id後加上N位隨機數,提高安全性,自己寫了一個簡單的實現方式。 思路: 通過JDK 的Math.random()函數產生一個[0,1]範圍內的隨機數,將這個隨機數乘以 9,然後再加1 就構成了[1,10]範圍的一個隨機數了(1位隨機數)。依次類推,要產生2位的隨機數只需要將Math.random()乘以 90,然後加上10就可以了。 實現代碼: /** * 產生4位隨機數 * @return */
Time of Update: 2018-07-26
import java.io.File;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.Date;import java.util.List;/** * 讀取目錄檔案並且按照時間進行排序 * @author 談情 */public class ReadDirector { public
Time of Update: 2018-07-26
首先我們要搞清楚現在已經開放了多少個號碼段,國家號碼段分配如下: 移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 聯通:130、131、132、152、155、156、185、186 電信:133、153、180、189、(1349衛通) 剩下的就是寫Regex進行匹配了,如下: package com.example.offline;import java.util.regex.Matcher;import
Time of Update: 2018-07-26
在上一篇文章中介紹了註解的原理和適用情境,這一篇開始如何自訂Annotation。 Annotation是不同於Class、Interface、Enum,使用@interface自訂註解時,自動繼承了java.lang.annotation.Annotation介面,由編譯器自動完成其他細節。在定義註解時,不能繼承其他的註解或介面。 1、自訂MyAnnotation package com.example.annotation;import
Time of Update: 2018-07-26
很多時候我們需要對某些數字進行格式化後顯示,這裡總結了四種比較常見的方法: package com.example.test.df;import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;public class DecimalFormatTest {private static float number = -128.735f;public static
Time of Update: 2018-07-26
之前已經完成了單個檔案夾的拷貝功能,在此基礎上很容易實現多個檔案夾的合并了,套一個for迴圈就可以啦。 package com.xx.test.copy;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import