試試這個(gè)代碼。
創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、無(wú)極網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為無(wú)極等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
import?java.io.File;
import?java.text.DecimalFormat;
import?java.text.SimpleDateFormat;
import?java.util.Date;
public?class?FilesAndDirectories?{
public?FilesAndDirectories()?{
}
public?void?runTest()?{
//?list?files?and?folders
String?dir?=?"D:\\temp";
File?file?=?new?File(dir);
displayInfo(0,?file);
}
private?void?displayInfo(int?depth,?File?file)?{
//?Name,?Date,?Size,?Attr
boolean?executable?=?file.canExecute();
boolean?readable?=?file.canRead();
boolean?writable?=?file.canWrite();
boolean?hidden?=?file.isHidden();
boolean?directory?=?file.isDirectory();
long?lastModified?=?file.lastModified();
long?length?=?file.length();
String?name?=?file.getName();
//?create?ASCII?file?structure
StringBuilder?buf?=?new?StringBuilder();
for?(int?i?=?0;?i??depth;?++i)?{
buf.append("|");
}
if?(directory)?{
buf.append("+?");
}
if?(name.isEmpty())?{
buf.append(".");
}?else?{
buf.append(name);
}
//?add?modification?date
buf.append("\t\t");
Date?date?=?new?Date(lastModified);
buf.append(new?SimpleDateFormat().format(date));
buf.append("\t\t");
//?add?file?size?in?kilobytes
long?kb?=?length?/?1024;
DecimalFormat?format?=?new?DecimalFormat();
format.setGroupingUsed(true);
buf.append(format.format(kb));
buf.append("?KB");
//?add?read,?write,?execute?attribute?flags
buf.append("\t\t");
if?(hidden)
buf.append(".");
if?(readable)
buf.append("R");
if?(writable)
buf.append("W");
if?(executable)
buf.append("X");
//?print?everything?to?the?command?line
System.out.println(buf.toString());
File[]?children?=?file.listFiles();
if?(children?!=?null)?{
for?(File?child?:?children)?{
displayInfo(depth?+?1,?child);
}
}
}
public?static?void?main(String[]?args)?{
new?FilesAndDirectories().runTest();
}
}
多實(shí)例的redis?主要通過(guò)?redis?shard功能實(shí)現(xiàn)
可以看一下Java?Redis線程池ShardedJedisPool?使用方法
主要的原理是根據(jù)key做hash散列算法存儲(chǔ)查詢到不同的實(shí)例分片上
javaweb的四層/五層邏輯結(jié)構(gòu)。
首先要明白為什么要分層?
分層的目的是為了簡(jiǎn)化工作流程,避免重復(fù)代碼和不必要的冗余,提高開(kāi)發(fā)速度和效率。
由上到下分為:
1.UI層(對(duì)用戶進(jìn)行顯示)
2.持久化層(用來(lái)持久化數(shù)據(jù)庫(kù))
3.業(yè)務(wù)層(有豐富的業(yè)務(wù)邏輯,并進(jìn)行處理,就是把實(shí)際數(shù)據(jù)庫(kù)的映射到內(nèi)存中,就好比把倉(cāng)庫(kù)的糧食放到鍋里去煮還是拿去分給大家,這就是兩種業(yè)務(wù)邏輯)
4.表現(xiàn)層(在我看來(lái)就是服務(wù)層,用來(lái)管理容器級(jí)別的服務(wù),例如事務(wù),安全,數(shù)據(jù)訪問(wèn)邏輯等等)
這是這四層結(jié)構(gòu),還有三層結(jié)構(gòu)表示的:
表示層
業(yè)務(wù)邏輯
持久化
這個(gè)分層主要是看遵循哪一種標(biāo)準(zhǔn)以及分層的用途了。
就好比計(jì)算機(jī)網(wǎng)絡(luò)中的網(wǎng)絡(luò)結(jié)構(gòu)分層,有五層的通用結(jié)構(gòu),四層的TCP/IP協(xié)議,七層的OSI協(xié)議。
我覺(jué)得不必深究,當(dāng)你真實(shí)的去運(yùn)用這些知識(shí)后,再去質(zhì)疑也不遲。
建議 樓主了解下MVC
一般的項(xiàng)目大概分為4層
dao 就是數(shù)據(jù)操作層
一般放對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的方法,比如查找某條數(shù)據(jù)
biz 業(yè)務(wù)處理層
對(duì)用戶的數(shù)據(jù)進(jìn)行業(yè)務(wù)邏輯處理比如注冊(cè)時(shí),判斷用戶注冊(cè)的用戶名是否已存在,如果已存在返回用戶錯(cuò)誤信息,否則將用戶注冊(cè)的信息寫(xiě)入數(shù)據(jù)庫(kù)
servlet 邏輯判斷層
對(duì)頁(yè)面的請(qǐng)求響應(yīng)數(shù)據(jù)進(jìn)行邏輯處理,如封裝等
jsp 表現(xiàn)層
將程序處理的最終結(jié)果顯示給用戶
他們之間的聯(lián)系就是,比如注冊(cè):
用戶在jsp頁(yè)面進(jìn)行表單填寫(xiě),點(diǎn)擊提交到一個(gè)servlet,servlet將注冊(cè)信息封裝成javaBean交給biz層處理,這時(shí)候biz層對(duì)javaBean解封將用戶注冊(cè)的用戶名提取出來(lái)調(diào)用dao層的checkUserName()進(jìn)行判斷該用戶名是否已存在.如果存在返回一個(gè)信息給servlet告知用戶該用戶名已存在,請(qǐng)重新注冊(cè).如果該用戶名不存在,說(shuō)明可注冊(cè),biz再調(diào)用dao層的savaUser()方法將用戶的注冊(cè)信息寫(xiě)入數(shù)據(jù)庫(kù),返回servlet一個(gè)注冊(cè)成功的信息,最后由servlet將這些處理的最終結(jié)果返回給jsp頁(yè)面給用戶.
建議樓主去多看看別人的項(xiàng)目,或者自己寫(xiě)些小項(xiàng)目這樣在寫(xiě)程序的過(guò)程中能更貼切的理解這些過(guò)程存在的意義
總之,分層思想的存在是更方便的管理和維護(hù)
新聞名稱(chēng):java分層代碼實(shí)列 java分層窗格
當(dāng)前URL:http://jinyejixie.com/article14/dopsgge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、建站公司、軟件開(kāi)發(fā)、服務(wù)器托管、定制開(kāi)發(fā)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)