请输入关键字
2019-04 21

Java网站后端开发常用工具及开发技巧

Java后端开发常用工具:

 

  初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronized,在IDE中输入sync回车就出来了,这在开发初期是不利于自己成长的。当熟练掌握编码过程的时候,可以通过多种工具来提高自己的开发效率。下面整理了自己常用的一些工具,应该也是外面主流的,用的比较多的。

 

Intellij IDEA


Java开发神器,开发效率高,功能非常强大,速度快,在外面公司算是主流吧,用上后你就不会再想用eclipse了。(本人就是IDEA路转粉,可以多关注jetBrains系列产品,很多爆款),下载后根据自己需要去配置设置。版本自行选择,建议使用2018版本(我这边用的2017,因为配置了很多东西,加上以前那会2018版有一点bug,故保持在2017版本。务必下载旗舰版,社区版阉割了太多功能,满足不了开发需求,旗舰版收费,自行百度破解方法,很简单)。

 

navicat premium 12


数据库连接工具,支持多种主流数据库,mysql,oraclesqlServer,以及各种云数据库(阿里云,腾讯云,AWS),功能强大,页面元素扁平化,美观,同样需要收费,自行百度破解方法,不难。sqlYog个人觉得有些设计反人类,且界面太low

 

MobaXterm_Personal_10.2


安全终端连接工具,支持多种连接方式,用于远程连接主机,个人感觉比xshell好用一点~

 

Google浏览器


不会翻墙的同学可以将搜索引擎设置为百度,开发调试的主流浏览器。

 

Notepad++ EditPlus 


强大的记事本工具,支持多语言高亮,开发必备,windows记事本编辑自带编码格式,在开发中非常不建议使用。

 

Postman


服务端接口调试工具,支持多种请求方式,也可以作为前后端分离开发调试的工具。

 

Vmware12


虚拟机安装和启动工具,个人觉得比virtualBox好用。

 

花生壳


内网穿透工具,可以通过外部域名映射到本地端口,在开发中有时会用上,可以买个内网穿透的域名,几块钱一个永久使用。

 

Typora


MarkDown文本编辑器,windows上最佳markDown语法编辑器,不解释。

 

XMind8


非常不错的思维导图工具。

 

Everything


检索速度非常快,试一试你就知道了。

 

java后端开发常用日志技巧:

 

一个好的开发人员,应该有个好的开发习惯,日志是开发过程中不可缺少的一项,有了日志可以节省很多我们不必要的麻烦,也可以使我们迅速的定位问题。

 

使用Logging框架写Log基本上就三个步骤:引入loggerg类和logger工厂类声明logger记录日志。

 

例子:

 

//1. 引入slf4j接口的LoggerLoggerFactory

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

public class UserService {

  //2. 声明一个Logger,这个是static的方式,我比较习惯这么写。

  private final static Logger logger = LoggerFactory.getLogger(UserService.class);

 

  public boolean verifyLoginInfo(String userName, String password) {

    //3. log it,输出的log信息将会是:"Start to verify User [Justfly]

    logger.info("Start to verify User [{}]", userName);

    return false;

  }

}

 

学习链接:

 

http://slf4j.org/faq.html#declared_static

 

两种方式的优劣概述如下:

 

    静态Logger对象相对来说更符合语义,节省CPU,节省内存,不支持注入


    对象变量Logger支持注入,对于一个JVM中运行的多个引用了同一个类库的应用程序,可以在不同的应用程序中对同个类的Logger进行不同的配置。比如Tomcat上部署了俩个应用,他们都引用了同一个lib

 

通常为了代码的规范,判断日志Logger是否开启使用如下方法:

 

    public boolean isTraceEnabled();

    public boolean isDebugEnabled();

    public boolean isInfoEnabled();

    public boolean isWarnEnabled();

    public boolean isErrorEnabled();

 

如:

这组方法的作用主要是避免没必要的log信息对象的产生,尤其是对于不支持参数化信息的Log框架(Log4j 1, commons-logging)。如下面的例子所示,如果没有加debug级别判断,在Debug级别被禁用的环境(生产环境)中,第二行的代码将没有必要的产生多个String对象。

1 if(logger.isDebugEnabled()){

2   logger.debug("["+resultCount+"]/["+totalCount+"] of users are returned");

3 }