Java工具箱

Java工具箱

前言

本文类似于一个Java开发的“工具箱”,会记录一些Java开发者常用到的工具,例如:工具的一些环境配置、常用的技术网站等。本文不会一下子就有很多内容,会不断的完善。

 

一、JDK环境变量配置

Windows环境

1.首先下载一个JDK的exe安装文件,JDK官方下载地址:JDK8JDK最新版

2.将下载好的JDK安装到本地,例如:C:\Program Files\Java\jdk1.8.0_191

3.进入环境变量配置页面:右键我的电脑 -> 属性 -> 高级系统配置 -> 环境变量

4.在“系统变量”中新建JAVA_HOME变量,变量名:JAVA_HOME,变量值:JDK根目录,如:C:\Program Files\Java\jdk1.8.0_191 

5.在“系统变量”中新建CLASSPATH变量,变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

6.编辑“系统变量”中的Path变量,在Path变量值的后面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(如果原来Path变量值的最后面没有带 ; 号,则必须加上)

7.在命令行中输入java -version,显示出JDK信息,则安装成功

Linux环境

1.首先下载一个JDK的压缩包,JDK官方下载地址:JDK8JDK最新版

2.将下载好的JDK解压到本地,例如:/usr/local/java/jdk1.8.0_191,解压命令:

tar -zxvf jdk-8u191-linux-x64.tar.gz /usr/local/java/

3.修改配置文件,添加JDK环境变量:vi /etc/profile,在文件末尾添加代码:

export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH

4.重新加载配置文件:source /etc/profile

5.输入java -version,显示出JDK信息,则安装成功

 

二、命令行访问阿里云服务器

1.登陆阿里云官网,并进入云服务器ECS的实例列表

 

2.在本地打开命令行窗口(Windows自带的命令行可能不行,这边使用的Git Bash),使用命令:ssh root@IP,登陆远程服务器,如果密码忘了,看下面步骤3

 

3.命令行访问云服务器的密码在阿里云里称为“实例密码”,修改实例密码:云服务器实例ECS -> 实例 -> 更多 -> 密码/密钥 -> 重置实例密码

 

4.本地上传文件到云服务器,使用命令:scp 本地文件路径 root@IP:云服务器路径

#将本地文件open-joonwhee-acm-1.0.0-SNAPSHOT.jar上传到IP为47.98.174.220服务器的/home/work/目录
scp f://alicloud//open-joonwhee-acm-1.0.0-SNAPSHOT.jar root@47.98.174.220:/home/work/

 

三、各个方向优秀的作者博客

HTTP 肖佳:https://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html

Redis 黄健宏:http://blog.huangz.me/

JVM R大:https://zhuanlan.zhihu.com/p/25042028

 

四、Linux常用命令

查看公网IP:curl cip.cc

删除文件:rm a.txt

查看端口号是否被占用:netstat -tunlp|grep 端口号  

重启nginx:./nginx -s reload

执行脚本:./run.sh,不能直接用:run.sh,否则会去PATH找而不是当前路径

 

五、IntelliJ IDEA常用

5.1 快捷键生成 serialVersionUID

在默认情况下,实现了Serializable接口的类,无法通过快捷键快速生成 serialVersionIUID

进行配置:Editor -> Inspections,Serializable class without `serialVersionUID` 勾上

配置后在使用快捷键即可快速生成 serialVersionIUID

 

 

5.2 Autowire注解报错

Autowire注解报错: “Could not auwowire. No beans of 'UserService' type found”,一般出现在注入其他服务的Bean,但是我们确认该 Bean 是可以成功注入的。

进行配置:Editor -> Inspections,Autowiring for Bean Class 的 Severity 修改为 Warning

配置后,红色的报错消失。

 

5.3 IDEA常用的插件

安装插件的页面如下,Custom目录下的为用户自己添加的插件。

Alibaba Java Coding Guidelines

阿里巴巴 Java 编码指南。会提示用户哪些代码使用不规范,有利于提升自己的编码风格。

Free Mybatis plugin

Mybatis 的一款插件。只要是用来进行一些 Mybatis 方面的快捷操作,例如在接口和 XML 文件来回跳转。


Lombok plugin

lombok 插件。使用 lombok 时,不安装插件会有报错。

 

5.4 显示快捷文档

在 Eclipse 下,将鼠标移动到某个类上,会有一个浮动的窗口显示这个类的快捷文档信息。而 IDEA 默认是没有显示的,可以通过以下配置使用此功能。

 

展示出来的效果如下:

这边还可以通过快捷窗口右上角的按钮将快捷窗口变为一个工具窗口,效果如下。通常,我会在复制源码中的注释时,使用到此功能。因为源码中的注释是带各种标签的,而通过快捷文档复制的注释是已经将标签解析过了。

 

六、趣谈分布式系统概念

你女朋友是高可用么?分布式系统的概念,技术来源于恋爱,又高于恋爱。

1.高可用:就算失恋了,可以迅速和另一个女生恋爱,永远不会是单身状态

2.注册中心:你和你女朋友去民政局登记,民政局就是注册中心,掉线的代价就是离婚

3.负载均衡:你和多个女朋友轮流约会。星期一,三,五跟A约会,二,四,六和B约会,叫RoundRibon算法

4.熔断限流:跟多个女朋友约会,你身体吃得消么?你要保护自己,星期天就好好休息

5.API网关:相亲前的媒婆,你和女生不会直接交流,由媒婆代为传递信息

6.雪崩:无法正确处理好几个女朋友的恋爱关系,很可怕的

7.阻塞:本来和A约会,A有事没来,B又急切想和你约会,但你赶不过去

8.同步:一次只和一个女生约会;异步:一次和好几个女生约会

9.异步线程不安全:一次和好几个女生约会当然不安全,弄不好连名字都叫错

10.分布式锁:同时和好几个女生约会的时候,保证不会被其他女生撞见

11.分布式缓存:你有钱,房间开了一个月,每次约会直接去好了,不需要重新开房

12.分布式消息队列:你一约她,她就来。每次结束后,她会主动离开,你不call她,她也不会来

13.分布式事务:当你离婚后很痛苦,希望没和她结婚过,希望没和她生过孩子,一切希望回到婚前的模样。所以,分布式事务很难

14.异地多活:你出差到任何城市,都有女朋友跟你约会

 

本文来源程序员囧辉,由javajgs_com转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/8716

发表评论