Time of Update: 2018-07-19
public class QualityFactor { /** * 因為不管怎麼計算由於非素數數都可以通過1·9中通過乘計算得出所以除了1和2隻需要繼續是否可以被2-9整除就可以 * 這一說法利用了提取最小公因式來計算得出 * 當然要避免一個重要問題就是當它是個位元字的時候也就是1 、 2 、 3 、 5 、7的時候直接返回 * 這樣計算的好處在於避免了傳統遞迴從1到n的反覆計算更加高效的計算出素數面對千位以上的資料使用 *
Time of Update: 2018-07-19
/*列印出所有的“水仙花數”,所謂“水仙花數”是指一個三位元,其各位元字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方由於100 200 300 500 400 整百數都不是水仙花可以直接排除而且 101 為基數的也不是水仙花可以直接排除這樣排除這兩個規律的直接跳過計算*/public class Narcissus { /* 開始已耗用時間1524629170834 153 370 371 407
Time of Update: 2018-07-19
Java練習題:兔子問題 此問題又叫斐波那契數列(Fabonacci),是最先研究這個數列的人是比薩的列奧那多(又名費波那契),他描述兔子生長的數目時用上了這數列。 第一個月有一對剛誕生的兔子 第二個月之後它們可以生育 每月每對可生育的兔子會誕生下一對新兔子 兔子永不死去 假設在 n
Time of Update: 2018-07-19
package com.mycompany.iotest; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import
Time of Update: 2018-07-19
在myeclipse內建的tomcat中載入一個web工程,啟動tomcat出現java.lang.ClassNotFoundException:
Time of Update: 2018-07-19
網上copy了一段Zip壓縮檔的代碼,問題有點多。現在重構一下。主要修改如下幾方面: 增加私人建構函式 System.out.println輸出日誌變為LOGGER.info輸出 去掉運行時異常 超過3個if/for/while的代碼控制在3個及以內 使用JDK7 try-with-resources,省去手動關閉資源和精簡代碼 單行注釋用//,而不是/*/ 使用JDK7菱形文法,及代碼List fileList = new ArrayList()
Time of Update: 2018-07-19
java.lang.NoSuchMethodException: com.tanke.pojo.TimeTankProxy.<init>(com.tanke.pojo.Tank) at java.lang.Class.getConstructor0(Class.java:2706) at java.lang.Class.getConstructor(Class.java:1657)
Time of Update: 2018-07-19
有一個需求,本來打算用redis來做,但是發現redis的list不支援某一項逾時設定, 所以就用java自己寫了一個簡單的緩衝,操作類似redis,總共只有3個類: 項目地址:https://github.com/newpanjing/group-cache.git 項目名:group-cache 簡單的記憶體緩衝實現,實現group概念,一個group裡面是個有序的集合,集合支援key-value expire彌補redis list的不足
Time of Update: 2018-07-19
JarsLink 詳細介紹 JarsLink (原名 Titan ) 是一個基於 Java 的模組化開發架構,它提供在運行時動態載入模組(一個 Jar 包)、卸載模組和模組間調用的 API。 需求背景 應用拆分的多或少都有問題。多則維護成本高,每次發布一堆應用。少則拆分成本高,無用功能很難下線。 故障不隔離。當一個系統由多人同時參與開發時,修改A功能,可能會影響B功能,引發故障。
Time of Update: 2018-07-19
由於Java的String類型使用的是unicode編碼,而微軟的Access資料庫使用的是gbk編碼。使用String類型的變數儲存Access中的文字欄位中文會發生亂碼現象。 使用byte[]類型可以解決這一問題。 1.更新到資料庫的文字欄位 使用ResultSet的updateBytes方法 public void updateBytes(String columnName, byte[]
Time of Update: 2018-07-19
狀態模式 上文我們講到了策略模式,本文呢,我們來一起認識一下策略模式的雙胞胎兄弟:狀態模式。 狀態模式(State Pattern),當一個對象的內在狀態改變時允許改變其行為,這個對象看起來就像改變了其類。 我第一遍讀到這個定義的時候,簡直是一臉懵逼狀態,不知道他在說什麼,一句一句研究吧,當一個對象的內在狀態改變時允許改變其行為,因為這個模式將狀態封裝為獨立
Time of Update: 2018-07-19
3.少用new初始化一個執行個體: 盡量少用 new 來初始化一個類的執行個體,當一個對象是用 new 進行初始化時,其建構函式鏈的所有建構函式都被調用 到,所以 new 操作符是很消耗系統資源的, new 一個對象耗時往往是局部變數賦值耗時的上千倍。同時,當產生對象 後,系統還要花時間進行記憶體回收和處理。 當 new 建立對象不可避免時,注意避免多次的使用 new
Time of Update: 2018-07-19
package Utils.Sort; /** *希爾排序,要求待排序的數組必須實現Comparable介面 */ public class ShellSort implements SortStrategy { private int[]
Time of Update: 2018-07-19
通過JAVA直接讀取HDFS中的時候,一定會用到FSDataInputStream類,通過FSDataInputStream以流的形式從HDFS讀資料代碼如下:import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import
Time of Update: 2018-07-19
拿到一些檔案後檔案名稱就只是編號,還好一個txt說明 哎,誰讓咱們是程式員呢,編個小程式改一下就是老 import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;public class ChengeFileName {/** * Title:利用io流實現檔案批量修改命名 * Copyright: Copyright (c)
Time of Update: 2018-07-19
Why ThreadLocal? 無論如何,要編寫一個多安全執行緒(Thread-safe)的程式是困難的,為了讓線程共用資源,必須小心地對共用資源進行同步,同步帶來一定的效能延遲,而另一方面,在處理同步的時候,又要注意對象的鎖定與釋放,避免產生死結,種種因素都使得編寫多線程程式變得困難。
Time of Update: 2018-07-19
1,java中讀取音效檔的方法: String waveName = "voice.wav"; try { InputStream ws = GamePanel.class.getResourceAsStream(waveName); AudioStream as = new AudioStream(ws); AudioPlayer.player.start(as); } catch (Exception e) {
Time of Update: 2018-07-19
由於java.util.zip.ZipOutputStream有中文亂碼問題,所以採用org.apache.tools.zip.ZipOutputStream。 以下是代碼: import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;
Time of Update: 2018-07-19
5隻猴子摘了一堆桃子,約好第二天早上來分。第一隻猴子來得早,它將桃子平分成成5堆,多出1個,它把多出的一個吃了,把屬於自己的一堆拿走了,將剩下的還混成一堆,其他猴子來了也正好按一樣的方法處理。 編程求出原來最少有多少個桃子。(用遞迴函式。) 下面是我寫的遞迴演算法: public class PeachDivideAlgorithm { private
Time of Update: 2018-07-19
進行檔案操作時,一般的步驟如下: 讀操作:對目標檔案 new 一個輸入資料流 —> 讀取資料 —> 操作資料 寫操作:對目標檔案 new 一個輸出資料流 —> 調用write方法寫入資料