Java后端開(kāi)發(fā)常用工具:
初學(xué)時(shí)候不大建議過(guò)度依賴IDE等過(guò)多工具,這會(huì)讓自己的編程基礎(chǔ)功變得很差,比如各種語(yǔ)法的不熟悉,各種關(guān)鍵字比如synchronized,在IDE中輸入sync回車就出來(lái)了,這在開(kāi)發(fā)初期是不利于自己成長(zhǎng)的。當(dāng)熟練掌握編碼過(guò)程的時(shí)候,可以通過(guò)多種工具來(lái)提高自己的開(kāi)發(fā)效率。下面整理了自己常用的一些工具,應(yīng)該也是外面主流的,用的比較多的。
Intellij IDEA
Java開(kāi)發(fā)神器,開(kāi)發(fā)效率高,功能非常強(qiáng)大,速度快,在外面公司算是主流吧,用上后你就不會(huì)再想用eclipse了。(本人就是IDEA路轉(zhuǎn)粉,可以多關(guān)注jetBrains系列產(chǎn)品,很多爆款),下載后根據(jù)自己需要去配置設(shè)置。版本自行選擇,建議使用2018版本(我這邊用的2017,因?yàn)榕渲昧撕芏鄸|西,加上以前那會(huì)2018版有一點(diǎn)bug,故保持在2017版本。務(wù)必下載旗艦版,社區(qū)版閹割了太多功能,滿足不了開(kāi)發(fā)需求,旗艦版收費(fèi),自行百度破解方法,很簡(jiǎn)單)。
navicat premium 12
數(shù)據(jù)庫(kù)連接工具,支持多種主流數(shù)據(jù)庫(kù),mysql,,oracle,sqlServer,以及各種云數(shù)據(jù)庫(kù)(阿里云,騰訊云,AWS),功能強(qiáng)大,頁(yè)面元素扁平化,美觀,同樣需要收費(fèi),自行百度破解方法,不難。sqlYog個(gè)人覺(jué)得有些設(shè)計(jì)反人類,且界面太low。
MobaXterm_Personal_10.2
安全終端連接工具,支持多種連接方式,用于遠(yuǎn)程連接主機(jī),個(gè)人感覺(jué)比xshell好用一點(diǎn)~
Google瀏覽器
不會(huì)翻墻的同學(xué)可以將搜索引擎設(shè)置為百度,開(kāi)發(fā)調(diào)試的主流瀏覽器。
Notepad++ 或EditPlus
強(qiáng)大的記事本工具,支持多語(yǔ)言高亮,開(kāi)發(fā)必備,windows記事本編輯自帶編碼格式,在開(kāi)發(fā)中非常不建議使用。
Postman
服務(wù)端接口調(diào)試工具,支持多種請(qǐng)求方式,也可以作為前后端分離開(kāi)發(fā)調(diào)試的工具。
Vmware12
虛擬機(jī)安裝和啟動(dòng)工具,個(gè)人覺(jué)得比virtualBox好用。
花生殼
內(nèi)網(wǎng)穿透工具,可以通過(guò)外部域名映射到本地端口,在開(kāi)發(fā)中有時(shí)會(huì)用上,可以買個(gè)內(nèi)網(wǎng)穿透的域名,幾塊錢一個(gè)永久使用。
Typora
MarkDown文本編輯器,windows上最佳markDown語(yǔ)法編輯器,不解釋。
XMind8
非常不錯(cuò)的思維導(dǎo)圖工具。
Everything
檢索速度非??欤囈辉嚹憔椭懒?。
java后端開(kāi)發(fā)常用日志技巧:
一個(gè)好的開(kāi)發(fā)人員,應(yīng)該有個(gè)好的開(kāi)發(fā)習(xí)慣,日志是開(kāi)發(fā)過(guò)程中不可缺少的一項(xiàng),有了日志可以節(jié)省很多我們不必要的麻煩,也可以使我們迅速的定位問(wèn)題。
使用Logging框架寫(xiě)Log基本上就三個(gè)步驟:引入loggerg類和logger工廠類、聲明logger、記錄日志。
例子:
//1. 引入slf4j接口的Logger和LoggerFactory
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class UserService {
//2. 聲明一個(gè)Logger,這個(gè)是static的方式,我比較習(xí)慣這么寫(xiě)。
private final static Logger logger = LoggerFactory.getLogger(UserService.class);
public boolean verifyLoginInfo(String userName, String password) {
//3. log it,輸出的log信息將會(huì)是:"Start to verify User [Justfly]
logger.info("Start to verify User [{}]", userName);
return false;
}
}
學(xué)習(xí)鏈接:
http://slf4j.org/faq.html#declared_static
兩種方式的優(yōu)劣概述如下:
靜態(tài)Logger對(duì)象相對(duì)來(lái)說(shuō)更符合語(yǔ)義,節(jié)省CPU,節(jié)省內(nèi)存,不支持注入
對(duì)象變量Logger支持注入,對(duì)于一個(gè)JVM中運(yùn)行的多個(gè)引用了同一個(gè)類庫(kù)的應(yīng)用程序,可以在不同的應(yīng)用程序中對(duì)同個(gè)類的Logger進(jìn)行不同的配置。比如Tomcat上部署了倆個(gè)應(yīng)用,他們都引用了同一個(gè)lib
通常為了代碼的規(guī)范,判斷日志Logger是否開(kāi)啟使用如下方法:
public boolean isTraceEnabled();
public boolean isDebugEnabled();
public boolean isInfoEnabled();
public boolean isWarnEnabled();
public boolean isErrorEnabled();
如:
這組方法的作用主要是避免沒(méi)必要的log信息對(duì)象的產(chǎn)生,尤其是對(duì)于不支持參數(shù)化信息的Log框架(Log4j 1, commons-logging)。如下面的例子所示,如果沒(méi)有加debug級(jí)別判斷,在Debug級(jí)別被禁用的環(huán)境(生產(chǎn)環(huán)境)中,第二行的代碼將沒(méi)有必要的產(chǎn)生多個(gè)String對(duì)象。
1 if(logger.isDebugEnabled()){
2 logger.debug("["+resultCount+"]/["+totalCount+"] of users are returned");
3 }
文章內(nèi)容來(lái)源于網(wǎng)絡(luò),侵刪