Time of Update: 2017-01-19
主要是運用java.util.regex類。複製代碼 代碼如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public class CheckMobileAndEmail { /** * 驗證郵箱地址是否正確 * @param email * @return */ public static boolean checkEmail(String
Time of Update: 2017-01-19
廢話不多說,上代碼複製代碼 代碼如下:String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";Date dNow = new Date(); //目前時間Date dBefore = new Date();Calendar calendar = Calendar.getInstance();
Time of Update: 2017-01-19
問題描述:一圓桌前坐著5位哲學家,兩個人中間有一隻筷子,桌子中央有麵條。哲學家思考問題,當餓了的時候拿起左右兩隻筷子吃飯,必須拿到兩隻筷子才能吃飯。上述問題會產生死結的情況,當5個哲學家都拿起自己右手邊的筷子,準備拿左手邊的筷子時產生死結現象。解決辦法:1、添加一個服務生,只有當經過服務生同意之後才能拿筷子,服務生負責避免死結發生。2、每個哲學家必須確定自己左右手的筷子都可用的時候,才能同時拿起兩隻筷子進餐,吃完之後同時放下兩隻筷子。3、規定每個哲學家拿筷子時必須拿序號小的那隻,這樣最後一位未拿
Time of Update: 2017-01-19
如果搞明白了Java中全形字元和半形字元之間的關係那他們之間的轉換根本就不是個事.可以通過下面的程式看看Java中所有字元以及對應編碼的值複製代碼 代碼如下: public static void main(String[] args) { for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.util.Date;import java.text.DateFormat;/*** 格式化時間類* DateFormat.FULL = 0* DateFormat.DEFAULT = 2* DateFormat.LONG = 1* DateFormat.MEDIUM = 2* DateFormat.SHORT = 3* @author Michael * @version 1.0, 2007
Time of Update: 2017-01-19
我們現在做個例子,比如產生20個0到10之間的隨機數。1.使用Random類的nextInt(n)方法,n代表0到n之間,包括0,不包括n複製代碼 代碼如下:Random random = new Random();for(int i=0;i<20;i++){ System.out.println(random.nextInt(10));}2.使用Math類中的random方法,它產生的隨機數是0.0到1.0之間的double。要產生int就需要類型轉換複製代碼
Time of Update: 2017-01-19
舉個例子:int[] array = {2,4,9,7,6,5};第一輪2和4進行比較,2<4,位置不變。再4和9進行比較,4<9,位置不變。再9和7進行比較,9>7,9和7的位置互換。再9和6進行比較,9>6,9和6的位置互換。再9和5進行比較,9>5,位置互換。第一輪比較的結果就是2 4 7 6 5 9。第二輪2和4進行比較,2<4,位置不變。再4和7進行比較,4<7,位置不變。再7和5進行比較,7>6,7和6的位置互換。再7和5進行比較,7&
Time of Update: 2017-01-19
注意,這個只是基本可以實現,基本針對中文電子報表。1.實現思路(1)一般的中文漢字佔位長度是英文字母的2倍,“方塊字”很統一。(2)對於要寫入Excel中的資料統計每一列的最大列寬,最後直接將這一列的列寬設定為這個列的最大值即可。2.實現代碼複製代碼 代碼如下:import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import
Time of Update: 2017-01-19
一、採用Object.toString()toString方法是java.lang.Object對象的一個public方法。在java中任何對象都會繼承Object對象,所以一般來說任何對象都可以調用toString這個方法。這是採用該種方法時,常衍生類別會覆蓋Object裡的toString()方法。但是在使用該方法時要注意,必須保證Object不是null值,否則將拋出NullPointerException異常。二、採用(String)Object 該方法是一個標準的類型轉換的方
Time of Update: 2017-01-19
代碼:複製代碼 代碼如下:import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream;/** * @project: Test *
Time of Update: 2017-01-19
今天做了一個Jsoup解析網站的項目,使用Jsoup.connect(url).get()串連某網站時偶爾會出現java.net.SocketTimeoutException:Read timed out異常。原因是預設的Socket的延時比較短,而有些網站的響應速度比較慢,所以會發生逾時的情況。解決方案:連結的時候設定逾時時間即可。doc = Jsoup.connect(url).timeout(5000).get();5000表示延時時間設定為5s。測試代碼如下:1,不設定timeout時:
Time of Update: 2017-01-19
複製代碼 代碼如下: //初始化propertiesProperties pro = new Properties();try { InputStream inStr = ClassLoader.getSystemResourceAsStream("wahaha.properties"); pro.load(inStr);} catch (FileNotFoundException e) {
Time of Update: 2017-01-19
它所表示的是“這部分是無法修改的”。不想被改變的原因有兩個:效率、設計。使用到final的有三種情況:資料、方法、類。一、
Time of Update: 2017-01-19
在jdk1.4中提出的技術,非阻塞IO,採用的是基於事件處理方式。傳統的io技術為阻塞的,比如讀一個檔案,惹read方法是阻塞的,直到有資料讀入。歸納為:1、java io為阻塞,在開啟一個io通道後,read將一直等待在連接埠一邊讀取位元組內容,如果沒有內容進來,read相當於阻塞掉了。2、在1的基礎上改進為,開設線程,serversocker.accept()後讓線程去等待,但是當並發量高的時候,相當耗費資源的。3、java
Time of Update: 2017-01-19
使用方法:項目中匯入kaptcha-2.3.jar包在web.xml裡面新增: 複製代碼 代碼如下:<!-- 登陸驗證碼Kaptcha --> <servlet> <servlet-name>Kaptcha</servlet-name>
Time of Update: 2017-01-19
1. 並發中如何無鎖。一個很簡單的思路,把並發轉化成為單線程。Java的Disruptor就是一個很好的例子。如果用java的concurrentCollection類去做,原理就是啟動一個線程,跑一個Queue,並發的時候,任務壓入Queue,線程輪訓讀取這個Queue,然後一個個順序執行。 在這個設計模式下,任何並發都會變成了單線程操作,而且速度非常快。現在的node.js, 或者比較普通的ARPG服務端都是這個設計,“大迴圈”架構。這樣,我們原來的系統就有了2個環境:並發環境 +
Time of Update: 2017-01-19
Java多態是如何?的?Java的多態和C++一樣,是通過延時綁定(late binding)或者說運行時綁定(runtime binding)來實現的。當調用某一個對象引用的方法時,因為編譯器並不知道這個引用到底指向的是變數聲明時說明的類型對象,還是該類型子類的對象。因此編譯器無法為這次調用綁定到具體的某個方法。只有通過java中的運行時類型識別(RTTI, Runtime type identification)在運行時綁定到具體的方法。下面是一個具體的例子:複製代碼 代碼如下:class
Time of Update: 2017-01-19
一.問題引入談到hashCode就不得不說equals方法,二者均在Object類裡,由於Object類是所有類的基類,所以一切類裡都可以重寫這兩個方法。要想較清晰的理解,需要Crowdsourced Security
Time of Update: 2017-01-19
複製代碼 代碼如下:<%@ page language="java" import="java.util.*" %><%@ page pageEncoding="UTF-8" isELIgnored="false" %><%@ page import="java.util.Date" %><html> <head> <title>