JAVA-工作环境以及常用软件的配置(自用)
JDK配置
高级系统设置->环境变量(加粗为名字)
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_79
Path
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%CATALINA_HOME%\lib;
检查:cmd下: java -version
Eclipse
添加代码提示
【Window】>>>【Preferences】>>>【JAVA】>>>【Editor】>>>【Content Assist】
如图填入:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

XML代码提示
【Window】>>>【Preferences】>>>【XML】>>>【XML Filse】>>>【Editor】>>>【Content Assist】
如图填入:<=:abcdefghijklmnopqrstuvwxyz

使用Eclipse的代码格式化快捷键Alt+Shift+F时遇到一行太长被迫换行的话
Windows->Preferences->Java->Code Style->Formatter->Edit->Line Wrapping->Maximum line width 设置为200即可

MAVEN
1.解压好安装包后,添加路径到环境变量,M2_HOME的环境变量,值为软件路径。
Path: ;%M2_HOME%\bin;
2.修改好setting.xml文件,位于软件路径/bin下。
3.可以在cmd中输入mvn -version测试是否正常,之后集成在Eclipse中:


Git
安装好git后,安装sourceTree
1.生成SSH密钥过程:
检查是不是已经存在密钥(能进去说明已经存在,就删掉文件夹,重新创建):
- cd ~/.ssh1.3.生成 SSH 密钥:
- $ ssh-keygen -t rsa -C “xxx.mail@xxx.com”
- 按3个回车,密码为空。
文件存放位置 ~/.ssh,如果是window的话就在:C:\Users\Administrator.ssh 下面,当然如果你不是 Administrator 用户的话,需要换成对应的用户。
2.sourcetree中的连接为openSSH
添加生成好的id_rsa文件。
3.访问git,获得项目地址,然后在sourceTree添加,拉取后导入eclipse.
有时候会出现中文乱码,做以下尝试。
git config core.quotepath false (可以试试off) git config --global gui.encoding utf-8
强制回滚
有时候遇到不小提交错了,比如错误的分支,然后不小心推送了,有没有办法让远程端回滚?答案是有的,只是不太推荐
曾经记得GIT那边说过:即使是错误的提交,也应该如实反映在上面(不过我觉得错误的东西放上去倒是挺碍眼的)
首先将本地的分支回滚到提交前,以SourceTree为例:
首先把本地的版本回到需要同步的版本

确保没有其他改动,选择强行合并

此时本地版本比远程落后了。敲命令:
git push -f origin master
注释: origin 远程仓库名, master 分支名,-f 为force,意为:强行、强制。
然后输入账号密码(要有权限)便能够移除远端的操作痕迹了
Tomcat
1.解压好安装包后,设置环境变量
CATALINA_HOME
tomcat的目录路径
Path
;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
2.在Eclipse中的Servcer>>>Runtime Environment>>>add
选择好软件路径以及JRE。
3.设置Tomcat的参数


-Dcatalina.base="D:\soft\apache-tomcat-7.0.54" -Dcatalina.home="D:\soft\apache-tomcat-7.0.54" -Dwtp.deploy="D:\soft\apache-tomcat-7.0.54\webapps" -Djava.endorsed.dirs="D:\soft\apache-tomcat-7.0.54\endorsed"
MYSQL
官方下载安装包: https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37-winx64.zip
解压,添加路径到PATH中


修改my-default.ini

进入bin目录,运行mysqld –install
PS:需要使用管理员权限执行
如果提示失败的话,执行sc delete mysql
然后运行net start mysql

输入mysql -u root -p 第一次没有密码,直接按回车

进入后设置密码
set password for root@localhost = password('123456');
LogBase

使用跳板机登录时,有时候会被各种拒绝,其中一个是关于JAVA的安全设置
设置为中,或者加到设置栏
Sonar
官网下载安装包:https://www.sonarqube.org/downloads/
需要JDK1.8
解压后,运行bin\windows-x86-64中的StartSonar.bat

下载中文包插件,汉化网页,在右下角chinese
链接:https://docs.sonarqube.org/display/PLUG/Plugin+Library

在下面的last 。。。要下jar包

将下载的文件放在extensions\plugins下,重启sonar,要用任务管理器把java进程都删除掉
进入eclipse目录,修改eclipse.ini文件

修改数据库指向,conf下的sonar.properties

整合提交到页面,目前Up主只成功过5.5版的sonarqube
在项目中的pom.xml添加以下代码:
<profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url> http://localhost:9000 </sonar.host.url> </properties> </profile> </profiles>
在插件标签中中添加:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.0.2</version>
</plugin>
调用命令sonar:sonar运行

Navicat
默认30S自动保存,平时操作的快,没感觉,偶尔就容易出事了

Linux
软连接:
替换:ln -sfn 目录 连接名字
移除:rm -rf 连接名字(不要带/)
服务器日志查看
tail -2000f /usr/local/apache-tomcat-7.0.61/logs/catalina.out
日志关键字替换为红色
tail -200f /usr/local/apache-tomcat-7.0.70/logs/catalina.out.2017-09-13 |grep code | perl -pe 's/("code":"0")/\e[1;31m$1\e[0m/g'
添加权限
sudo chmod -R 777 /usr/lib/tomcat/
关闭JAVA项目
pkill -9 java
查询Tomcat是否运行
ps -ef | grep tomcat
快速检索日志关键字
grep '关键字' 日志文件名
打包上线
1.增量打包,将有改变的文件的字节码复制到服务器,不需要重启整个项目
1.进入服务器后查看进程 ps -ef | grep java
2.结束tomcat pkill -9 java
3.再次检查,之后通过远程将对应的CLASS文件拷贝到指定位置
4.打开日志查看 tail -1000f /tomcat/logs/catalina.out
5.进入tomcat目录下的bin执行 ./startup.sh
2.全量打包,将所有项目的文件都重新放到服务器,需要重新启动整个项目
3.命令
测试性能用:
time echo "scale=5000; 4*a(1)" | bc -l -q
查看CPU核心数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看内存信息
cat /proc/meminfo
Zookeeper
1.在官网选择指定版本下载(3.4.6):http://mirror.bit.edu.cn/apache/zookeeper/

2.进入解压好的文件夹中,将conf下的zoo_simple.cfg换成zoo.cfg同时修改路径为目录

3.加入环境变量,以及Path


4.在CMD下输入zkServcer,弹出如下显示就是正常启动了

其他技巧
1.利用Excel实现SQL语句多行复制
先将数据放在第一列,将SQL中需要替换成第一列的地方,写为: "&A1&" 之后拉下就可以了
2.notepad按住alt往下拉可以实现列操作
思路:
1.调用别人的接口时,可以增加一个flag变量,默认为fail,出现异常的话设置为error,只有成功的时候为success,这样就能快速判断问题所在。
常见故障:服务器故障(接口丢失OR服务器挂了)、接口参数有误、空值参与格式转换,导致最后出现空指针异常。
2.作为接口返回给别人时,最好保证有3个参数不管任何情况都返回,code:表示状态;msg:这次返回的提示信息;data:具体返回的参数包裹在这里。
当服务器异常返回例子:{code:0,msg:"服务器异常",data:null} 至少让别人知道什么问题。
3.敏感操作:比如“放款”、“删除数据”等操作时,在日志系统中应该要记录操作者的信息,比如登录的用户,操作的IP,MAC地址等。
真实例子:系统宕机的时候,有人误操作放款,但是由于日志不完善,只知道操作时间,却不知道是谁做的,导致扯皮事件的发生
4.建议三层结构:Controller、Service、Dao
其中各自继承BaseXXX,方便日后批量增加功能,真实例子:Controller要增加接收到的request打印功能,直接修改BaseController即可,不用再去一个一个改。
5.当接口可能涉及到日期,建议从Controller传入Date,内部以该Date实现时间,能够相对容易实现日期不同时的逻辑。
浙公网安备 33010602011771号