You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 KiB

Others

Introduction:收纳其它相关的知识总结!

[TOC]

常用软件

画图工具

draw.io

本地或在线画图地址:https://draw.io

draw.io

Excalidraw

在线画图地址:https://excalidraw.com

Excalidraw

ProcessOn

在线画图地址:https://www.processon.com

ProcessOn

Carbon

代码截图网址地址:https://carbon.now.sh

Carbon

数据抓包

Fiddler

Fiddler是一个蛮好用的抓包工具可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多举之不尽呀当年学习的时候也蛮费劲一些蛮实用隐藏的小功能用了之后就忘记了每次去网站上找也很麻烦所以搜集各大网络的资料总结了一些常用的功能。

Fiddler 下载地址 https://www.telerik.com/download/fiddler

win8之后用“Fiddler for .NET4”而win8之前用“Fiidler for .NET2”比较好。

Fiddler抓包简介

代理设置

Fiddler是通过改写HTTP代理让数据从它那通过来监控并且截取到数据。当然Fiddler很屌在打开它的那一瞬间它就已经设置好了浏览器的代理了。当你关闭的时候它又帮你把代理还原了是不是很贴心。

Fiddler抓包简介

Capture Traffic

Fiddler想要抓到数据包要确保Capture Traffic是开启在File > Capture Traffic。开启后再左下角会有显示当然也可以直接点击左下角的图标来关闭/开启抓包功能。

Fiddler-CaptureTraffic

Fiddler开始工作了抓到的数据包就会显示在列表里面下面总结了这些都是什么意思

Fiddler-CaptureTraffic-Debugger

Statistics请求的性能数据分析

随意点击一个请求就可以看到Statistics关于HTTP请求的性能以及数据分析了。

Fiddler-Statistics

Inspectors查看数据内容

Inspectors是用于查看会话的内容上半部分是请求的内容下半部分是响应的内容

Fiddler-Inspectors

AutoResponder允许拦截指定规则的请求

AutoResponder允许你拦截指定规则的求情并返回本地资源或Fiddler资源从而代替服务器响应。看下图5步我将“baidu”这个关键字与我电脑“f:\Users\YukiO\Pictures\boy.jpeg”这张图片绑定了点击Save保存后勾选Enable rules再访问baidu就会被劫持。这个玩意有很多匹配规则

  1. 字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配
字符串匹配baidu 是否匹配
http://www.baidu.com 匹配
http://pan.baidu.com 匹配
http://tieba.baidu.com 匹配
  1. 正则表达式匹配以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的
字符串匹配regex:.+.(jpg | gif | bmp ) $ 是否匹配
http://bbs.fishc.com/Path1/query=foo.bmp&bar 不匹配
http://bbs.fishc.com/Path1/query=example.gif 匹配
http://bbs.fishc.com/Path1/query=example.bmp 匹配
http://bbs.fishc.com/Path1/query=example.Gif 不匹配

Fiddler-AutoResponder-1

Fiddler-AutoResponder-2

Composer自定义请求发送服务器

Composer允许自定义请求发送到服务器可以手动创建一个新的请求也可以在会话表中拖拽一个现有的请求。Parsed模式下你只需要提供简单的URLS地址即可如下图也可以在RequestBody定制一些属性如模拟浏览器User-Agent

Fiddler-Composer

Filters请求过滤规则

Fiters是过滤请求用的左边的窗口不断的更新当你想看你系统的请求的时候你刷新一下浏览器一大片不知道哪来请求看着碍眼它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。

Fiddler-Filters

勾选左上角的Use Filters开启过滤器这里有两个最常用的过滤条件Zone和Host

  • Zone指定只显示内网Intranet或互联网Internet的内容

    Fiddler-Filters-Zone

  • Host指定显示某个域名下的会话

    Fiddler-Filters-Host

    如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可。

Fiddler设置解密HTTPS的网络数据

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。Fiddler是个很会装逼的好东西大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器而在真正的HTTPS服务器面前Fiddler又装成浏览器从而实现解密HTTPS数据包的目的。

解密HTTPS需要手动开启依次点击

  1. Tools > Fiddler Options > HTTPS

Fiddler-HTTPS-1

  1. 勾选Decrypt HTTPS Traffic

Fiddler-HTTPS-2

  1. 点击OK

Fiddler-HTTPS-3

Fiddler抓取IPhone/Android数据包

想要Fiddler抓取移动端设备的数据包其实很简单先来说说移动设备怎么去访问网络看了下面这张图就明白了。

Fiddler抓取移动端-1

可以看得出移动端的数据包都是要走wifi出去所以我们可以把自己的电脑开启热点将手机连上电脑Fiddler开启代理后让这些数据通过FiddlerFiddler就可以抓到这些包然后发给路由器如图

Fiddler抓取移动端-2

  1. 打开Wifi热点让手机连上我这里用的360wifi其实随意一个都行

Fiddler抓取移动端-3

  1. 打开Fidder点击菜单栏中的 [Tools] > [Fiddler Options]

Fiddler抓取移动端-4

  1. 点击 [Connections] 设置代理端口是8888 勾选 Allow remote computers to connect 点击OK

Fiddler抓取移动端-5

  1. 这时在 Fiddler 可以看到自己本机无线网卡的IP了要是没有的话重启Fiddler或者可以在cmd中ipconfig找到自己的网卡IP

Fiddler抓取移动端-6

Fiddler抓取移动端-7

  1. 在手机端连接PC的wifi并且设置代理IP与端口代理IP就是上图的IP端口是Fiddler的代理端口8888

Fiddler抓取移动端-8

  1. 访问网页输入代理IP和端口下载Fiddler的证书点击下图FiddlerRoot certificate

Fiddler抓取移动端-9

【注意】如果打开浏览器碰到类似下面的报错请打开Fiddler的证书解密模式Fiddler 设置解密HTTPS的网络数据

No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?

Fiddler抓取移动端-10Fiddler抓取移动端-11

Fiddler抓取移动端-12Fiddler抓取移动端-13

  1. 安装完了证书可以用手机访问应用就可以看到截取到的数据包了。下图选中是布卡漫画的数据包下面还有QQ邮箱的

Fiddler抓取移动端-14

Fiddler内置命令与断点

Fiddler还有一个藏的很深的命令框就是眼前我用了几年的Fiddler都没有发现它偶尔在别人的文章发现还有这个小功能还蛮好用的整理下记录在这里。Fiddler断点功能就是将请求截获下来但是不发送这个时候你可以干很多事情比如说把包改了再发送给服务器君。还有balabala一大堆的事情可以做就不举例子了。

Fiddler内置命令与断点

命令 对应请求项 介绍 示例
? All 问号后边跟一个字符串,可以匹配出包含这个字符串的请求 ?google
> Body 大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求 >1000
< Body 小于号跟大于号相反,匹配出请求大小,小于这个数字的请求 <100
= Result 等于号后面跟数字可以匹配HTTP返回码 =200
@ Host @后面跟Host可以匹配域名 @www.baidu.com
select Content-Type select后面跟响应类型可以匹配到相关的类型 select image
cls All 清空当前所有请求 cls
dump All 将所有请求打包成saz压缩包保存到“我的文档\Fiddler2\Captures”目录下 dump
start All 开始监听请求 start
stop All 停止监听请求 stop
断点命令
bpafter All bpafter后边跟一个字符串表示中断所有包含该字符串的请求 bpafter baidu输入bpafter解除断点
bpu All 跟bpafter差不多只不过这个是收到请求了中断响应 bpu baidu输入bpu解除断点
bps Result 后面跟状态吗,表示中断所有是这个状态码的请求 bps 200输入bps解除断点
bpv / bpm HTTP方法 只中断HTTP方法的命令HTTP方法如POST、GET bpv get输入bpv解除断点
g / go All 放行所有中断下来的请求 g

断点命令断点可以直接点击Fiddler下图的图标位置就可以设置全部请求的断点断点的命令可以精确设置需要截获那些请求。如下示例

Fiddler-断点命令

Wireshark

科来网络分析系统

SSH

XShell/XFtp

https://www.netsarang.com/zh/free-for-home-school

XShell

SecureCRT

https://www.vandyke.com/cgi-bin/releases.php?product=securecrt

SecureCRT

Terminal.icu

https://www.terminal.icu/

Terminal.icu

Chrome

谷歌访问助手

http://www.ggfwzs.com

Postman

https://www.postman.com/downloads

代码对比

WinMerge

WinMerge

Diffuse

Diffuse

Beyond Compare

BeyondCompare

Altova DiffDog

AltovaDiffDog

AptDiff

AptDiff

Code Compare

CodeCompare

jq22

一款在线的文本比较工具,不想安装软件的直接用这个就好了!地址:http://www.jq22.com/textDifference

jq22

其它软件

图壳

免费好用稳定的图床网站。https://imgkr.com/

图壳

小码短连接

简单易用的渠道短链接统计工具。https://xiaomark.com/

小码短连接

非常好用的长链接转短链接工具,能够让链接看起来更简洁。并且,转换为短链接之后,还能在后台监测访问数据,如访问次数、访问人数。

removebg

抠图神器。https://www.remove.bg/zh

removebg

今日热榜

你关心的热点。今日热榜提供各站热榜聚合微信、今日头条、百度、知乎、V2EX、微博、贴吧、豆瓣、天涯、虎扑、Github、抖音...。追踪全网热点、简单高效阅读。https://tophub.today

今日热榜

开源工具

Swagger: API Documentation & Design Tools for Teams

jvm-sandboxReal - time non-invasive AOP framework container based on JVM

JimuReport这是一款免费的数据可视化工具报表与大屏设计类似于excel操作风格在线拖拽完成报表设计功能涵盖: 报表设计、图形报表、打印设计、大屏设计等,永久免费!

sa-token这可能是史上功能最全的Java权限认证框架目前已集成——登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0、踢人下线、Redis集成、前后台分离、记住我模式、模拟他人账号、临时身份切换、账号封禁、多账号认证体系、注解式鉴权、路由拦截式鉴权、花式token生成、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成、WebFlux集成...

soul:应用于所有微服务场景的,可扩展、高性能、响应式的 API 网关解决方案。

arthasArthas旨在帮助开发人员解决Java应用程序的生产问题无需修改代码或重新启动服务器。有了Arthas你就可以在不重新启动JVM或需要额外的代码更改的情况下实时地对问题进行故障排除。

miaosha:该项目是对高并发大流量如何进行秒杀架构,而做的一个系统整理,如果你完全没接触过 MQ、SpringBoot、Redis、Dubbo、ZK 、Maven,lua等那么我建议你可以先在网上搜一下每一块知识的快速入门。

GuavaGoogle core libraries for Java

TransmittableThreadLocalThe missing Java™ std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits ThreadLocal values between threads even using thread pooling components.

FastJSONA fast JSON parser/generator for Java.

Druid:阿里巴巴计算平台事业部出品,为监控而生的数据库连接池

JetCacheJetCache is a Java cache framework.

MetricsThe metrics library for Apache Dubbo and any frameworks or systems.

IDEA

JetBrains 破解许可服务器https://www.licensez.com

常见设置

显示工具条

效果图 显示工具条 设置方法

  • 标注1View>Toolbar
  • 标注2View>Tool Buttons

设置鼠标悬浮提示

效果图 设置鼠标悬浮提示

设置方法 File>settings>Editor>General>勾选Show quick documentation… 在这里插入图片描述

显示方法分隔符

效果图 在这里插入图片描述 设置方法

File>settings>Editor>Appearance>勾选

在这里插入图片描述

忽略大小写提示

效果图 备注idea的默认设置是严格区分大小写提示的例如输入string不会提示String不方便编码 在这里插入图片描述 设置方法 File>settings>Editor>General -->Code Completion --> 在这里插入图片描述

主题设置

效果图 备注:有黑白两种风格 在这里插入图片描述 在这里插入图片描述 设置方法 File>settings>Appearance & Behavior>Appearance> 在这里插入图片描述

护眼主题设置

效果图 在这里插入图片描述 设置方法

如果想将编辑页面变换主题,可以去设置里面调节背景颜色 在这里插入图片描述

如果需要很好看的编码风格,这里有很多主题 http://color-themes.com/?view=index&layout=Generic&order=popular&search=&page=1 点击相应主题,往下滑点击按钮 在这里插入图片描述 下载下来有很多Jar包 在这里插入图片描述 在这里插入图片描述

在上面的位置选择导入jar包然后重启idea生效重启之后去设置

在这里插入图片描述

自动导入包

效果图 备注默认情况是需要手动导入包的比如我们需要导入Map类那么需要手动导入如果不需要使用了删除了Map的实例导入的包也需要手动删除设置了这个功能这个就不需要手动了自动帮你实现自动导入包和去包不方便截图效果请亲测~ 设置方法 File>settings>Editor>general>Auto Import>

在这里插入图片描述

单行显示多个Tabs

效果图 默认是显示单排的Tabs: 在这里插入图片描述 单行显示多个Tabs:

在这里插入图片描述 设置方法 File>settings>Editor>General -->Editor Tabs>去掉√ 在这里插入图片描述

设置字体

效果图 备注默认安装启动Idea字体很小看着不习惯需要调整字体大小与字体有需要可以调整 设置方法 File>settings>Editor>Font> 在这里插入图片描述

配置类文档注释信息和方法注释模版

效果图 备注:团队开发时方便追究责任与管理查看 在这里插入图片描述 在这里插入图片描述 设置方法 https://blog.csdn.net/zeal9s/article/details/83514565

水平或者垂直显示代码

效果图 备注Eclipse如果需要对比代码只需要拖动Tabs即可但是idea要设置 在这里插入图片描述 设置方法 鼠标右击Tabs 在这里插入图片描述

更换快捷键

效果图 备注从Eclipse移植到idea编码好多快捷键不一致导致编写效率降低现在我们来更换一下快捷键 设置方法

  • 方法一:

File>Setting> 在这里插入图片描述

例如设置成Eclipse的设置好了之后可以ctrl+d删除单行代码idea是ctrl+y

  • 方法二:设置模板
  • File>Setting> 在这里插入图片描述
  • 方法三:

在这里插入图片描述 以ctrl+o重写方法为例

在这里插入图片描述

注释去掉斜体

效果图 在这里插入图片描述 设置方法 File>settings>Editor> 在这里插入图片描述

在这里插入图片描述

代码检测警告提示等级设置

在这里插入图片描述 强烈建议,不要给关掉,不要嫌弃麻烦,他的提示都是对你好,帮助你提高你的代码质量,很有帮助的。

项目目录相关–折叠空包

在这里插入图片描述

窗口复位

在这里插入图片描述 这个就是当你把窗口忽然间搞得乱七八糟的时候还可以挽回就是直接restore一下就好啦。

查看本地代码历史

在这里插入图片描述

常用插件

.ignore

生成各种ignore文件一键创建git ignore文件的模板免得自己去写如下图。

地址:https://plugins.jetbrains.com/plugin/7495--ignore

ignore

Lombok

支持lombok的各种注解从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便。

地址:https://plugins.jetbrains.com/plugin/6317-lombok-plugin

Lombok

GsonFormat

一键根据json文本生成java类 非常方便。

地址:https://plugins.jetbrains.com/plugin/7654-gsonformat

GsonFormat

GenerateAllSetter

一键调用一个对象的所有set方法并且赋予默认值 在对象字段多的时候非常方便。

地址:https://plugins.jetbrains.com/plugin/9360-generateallsetter

GenerateAllSetter

GenerateSerialVersionUID

Alt + Insert 生成serialVersionUID

GenerateSerialVersionUID

MyBatisCodeHelper-Pro

MybatisCodeHelperPro 是一款IDEA下全方位支持Mybatis的插件 大部分功能是免费的。

① 接口与xml 互相跳转 高清图标 更改图标 使用快捷键跳转

MyBatisCodeHelper-Pro

② 一键添加param注解

addParamAnnotation

Maven Helper

一键查看maven依赖查看冲突的依赖一键进行exclude依赖对于大型项目 非常方便。

地址:https://plugins.jetbrains.com/plugin/7179-maven-helper

Maven-Helper

Rainbow Brackets

代码作色工具Rainbow Brackets插件可以实现配对括号相同颜色并且实现选中区域代码高亮的功能。

  • 高亮效果快捷键

    • mac: command+鼠标右键单击
    • windows: ctrl+鼠标右键单击
  • 选中部分外暗淡效果快捷键alt+鼠标右键单击

地址:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

Rainbow-Brackets

事实上代码作色之后可以非常方便我们阅读。类似的工具还有Grep Console 来自定义设置控制台输出颜色等。

HighlightBracketPair

自动化高亮显示光标所在代码块对应的括号,可以定制颜色和形状。

HighlightBracketPair HighlightBracketPair-set

CodeGlance

在编辑区的右侧显示的代码地图。

CodeGlance

Alibaba Java Coding Guidelines

阿里巴巴出品的java代码规范插件p3c。可以扫描整个项目找到不规范的地方 并且大部分可以自动修复。Alibaba Java Code Guidelines 插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测功能。部分规则实现了 Quick Fix 功能。目前,插件检测有两种模式:实时检测、手动触发。

地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines

Key promoter X

Key Promoter X 是一个快捷键提示插件如果鼠标操作是能够用快捷键替代Key Promoter X 会提示可以用什么快捷键替代。详细使用文档。

地址:https://plugins.jetbrains.com/plugin/9792-key-promoter-x

key-promoter-x

Translation

最好用的翻译插件,功能很强大,界面很漂亮。

地址:https://plugins.jetbrains.com/plugin/8579-translation

Translation

SequenceDiagram

时序图生成工具。有时我们需要梳理业务逻辑或者阅读源码。从中,我们需要了解整个调用链路,反向生成 UML 的时序图是强需求。其中SequenceDiagram 插件是一个非常棒的插件。

地址:https://plugins.jetbrains.com/plugin/8286-sequencediagram

SequenceDiagram

CamelCase

命名风格转换插件,可以在 kebab-caseSNAKE_CASEPascalCasecamelCasesnake_case 和 空格风格之间切换。快捷键苹果为 ⇧+⌥+ U windows 下为 Shift + Alt +U

CamelCase

MybatisX

Mybatis-plus 团队为 Mybatis 开发的插件,提供了 Mapper 接口和 XML之间的跳转和自动生成模版的功能。另外这个名字是我起的,嘿嘿!

MybatisX

Git Commit Template

老是有人吐槽你提交的 Git 不规范?你可以试试这个插件。它提供了很好的 Git 格式化模版,你可以按照实际情况格式化你的提交信息。

Git-Commit-Template

Extra Icons

最后是一个美化插件,为一些文件类型提供官方没有的图标。来看看效果吧。

Extra-Icons

RestfulToolkit

开发时经常会根据 URI 的部分信息来查找对应的Controller 中方法RestfulToolkit提供了一套 RESTful 服务开发辅助工具集。

地址:https://plugins.jetbrains.com/plugin/10292-restfultoolkit

RestfulToolkit

Grep Console

EasyCode

CheckStyle

Java Stream Debugger

https://www.e-learn.cn/topic/3624009

功能插件

FindBugs-IDEA

检测代码中可能的bug及不规范的位置检测的模式相比p3c更多写完代码后检测下 避免低级bug强烈建议用一下一不小心就发现很多老代码的bug。

地址:https://plugins.jetbrains.com/plugin/3847-findbugs-idea

img

VisualVM Launcher

运行java程序的时候启动visualvm方便查看jvm的情况 比如堆内存大小的分配某个对象占用了多大的内存jvm调优必备工具。

地址:https://plugins.jetbrains.com/plugin/7115-visualvm-launcher

img

MyBatis Log Plugin

Mybatis现在是java中操作数据库的首选在开发的时候我们都会把Mybatis的脚本直接输出在console中但是默认的情况下输出的脚本不是一个可以直接执行的。如果我们想直接执行还需要在手动转化一下。MyBatis Log Plugin 这款插件是直接将Mybatis执行的sql脚本显示出来无需处理可以直接复制出来执行的如图

img

Activate-Power-Mode

根据Atom的插件activate-power-mode或Power mode II的效果移植到IDEA上。

8

Background Image Plus

可设置idea背景图片的插件不但可以设置固体的图片还可以设置一段时间后随机变化背景图片以及设置图片的透明度等等。

img

Material Theme UI

这是一款主题插件可以让你的ide的图标变漂亮配色搭配的很到位还可以切换不同的颜色甚至可以自定义颜色。默认的配色就很漂亮了如果需要修改配色可以在工具栏中Tools->Material Theme然后修改配色等。

tools

集成插件

集成JIRA

Jira是一个广泛使用的项目与事务跟踪工具被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。idea可以很好的跟它集成参考下图

File -> Settings ->Task -> Servers 点击右侧上面的+号选择JIRA然后输入JIRA的Server地址用户名、密码即可

IDEA-JIRA-1

然后打开Open Task界面

IDEA-JIRA-2

如果JIRA中有分配给你的Taskidea能自动列出来

IDEA-JIRA-3

代码修改后向svn提交时会自动与该任务关联

IDEA-JIRA-4

将每次提交的代码修改与JIRA上的TASK关联后有什么好处呢我们每天可能要写很多代码修复若干bug日子久了以后谁也不记得当初为了修复某个bug做了哪些修改只要你按上面的操作正确提交idea都会帮你记着这些细节

IDEA-JIRA-5

如上图选择最近提交的TASK列表选择Switch toidea就会自动打开该TASK关联的源代码并定位到修改过的代码行。当然如果该TASK已经Close了也可以选择Remove将其清空。

UML类图插件

idea已经集成了该功能只是默认没打开仍然打开Settings界面定位到Plugins输入UML参考下图

img

确认UML 这个勾已经勾上了然后点击Apply重启idea然后仍然找一个java类文件右击Diagram

img

然后,就自个儿爽去吧

img

集成SSH

java项目经常会在linux上部署每次要切换到SecureCRT这类终端工具未免太麻烦idea也想到了这一点:

img

然后填入IP、用户名、密码啥的

img

点击OK就能连接上linux了

img

如果有中文乱码问题可以在Settings里调整编码为utf-8

img

集成FTP

img

点击上图中的...添加一个Remote Host

img

填写ftp的IP、用户名、密码根路径啥的然后点击Test FTP Connection正常的话应该能连接如果连接不通点击Advanced Options参考下图调整下连接选项

img

配置了FTP连接后在提交代码时可以选择提交完成后将代码自动上传到ftp服务器

img

Database管理工具

先看效果吧:

img

有了这个再也不羡慕vs.net的db管理功能了。配置也很简单就是点击+号增加一个Data Source即可

img

唯一要注意的是intellij idea不带数据库驱动所以在上图中要手动指定db driver的jar包路径。

Debug

弹框/显示

勾选Show debug window on breakpoint则请求进入到断点后自动激活Debug窗口

img

如果IDEA底部没有显示工具栏或状态栏可以在View里打开显示出工具栏会方便我们使用

  img

快捷键

在菜单栏Run里有调试对应的功能同时可以查看对应的快捷键  img

首先说第一组按钮共8个按钮从左到右依次如下

    img

  • Show Execution Point (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行
  • Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法
  • Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内
  • Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法
  • Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值
  • Drop Frame (默认无):回退断点,后面章节详细说明
  • Run to Cursor (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点
  • Evaluate Expression (Alt + F8):计算表达式,后面章节详细说明

第二组按钮共7个按钮从上到下依次如下

    img

  • Rerun 'xxxx':重新运行程序,会关闭服务后重新启动程序

  • Update 'tech' application (Ctrl + F5):更新程序,一般在你的代码有改动后可执行这个功能

  • Resume Program (F9)恢复程序比如你在第20行和25行有两个断点当前运行至第20行按F9则运行到下一个断点(即第25行)再按F9则运行完整个流程因为后面已经没有断点了

  • Pause Program暂停程序启用Debug。目前没发现具体用法

  • Stop 'xxx' (Ctrl + F2)连续按两下关闭程序。有时候你会发现关闭服务再启动时报端口被占用这是因为没完全关闭服务的原因你就需要查杀所有JVM进程了

  • View Breakpoints (Ctrl + Shift + F8):查看所有断点,后面章节会涉及到

  • Mute Breakpoints哑的断点选择这个后所有断点变为灰色断点失效按F9则可以直接运行完程序。再次点击断点变为红色有效

变量查看

在IDEA中参数所在行后面会显示当前变量的值  img

光标悬停到参数上,显示当前变量信息:

  img

img

在Variables里查看这里显示当前方法里的所有变量

  img

在Watches里点击New Watch输入需要查看的变量。或者可以从Variables里拖到Watche里查看

  img

如果你发现你没有Watches可能在下图所在的地方

  img

img

计算表达式

  img

img

设置变量,在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况了不是:

img

智能步入

一行代码里有好几个方法怎么只选择某一个方法进入。之前提到过使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)进入到方法内部,但这两个操作会根据方法调用顺序依次进入,这比较麻烦。

  那么智能步入就很方便了智能步入这个功能在Run里可以看到Smart Step Into (Shift + F7)

  img

  按Shift + F7会自动定位到当前断点行并列出需要进入的方法如图5.2,点击方法进入方法内部。

 如果只有一个方法则直接进入类似Force Step Into。

  img [图5.2]

断点条件设置

通过设置断点条件,在满足条件时,才停在断点处,否则直接运行:

  img [图6.1]

点击View Breakpoints (Ctrl + Shift + F8)查看所有断点。Java Line Breakpoints 显示了所有的断点在右边勾选Condition设置断点的条件。

  • 勾选Log message to console则会将当前断点行输出到控制台
  • 勾选Evaluate and log可以在执行这行代码是计算表达式的值并将结果输出到控制台

img

  img

异常断点

通过设置异常断点,在程序中出现需要拦截的异常时,会自动定位到异常行。点击+号添加Java Exception Breakpoints添加异常断点。然后输入需要断点的异常类如图6.7之后可以在Java Exception Breakpoints里看到添加的异常断点。我这里添加了一个NullPointerException异常断点出现空指针异常后自动定位在空指针异常行

  img

img  img

多线程调试

  一般情况下我们调试的时候是在一个线程中的一步一步往下走。但有时候你会发现在Debug的时候想发起另外一个请求都无法进行了那是因为IDEA在Debug时默认阻塞级别是ALL会阻塞其它线程只有在当前调试线程走完时才会走其它线程。可以在View Breakpoints里选择Thread如图下图然后点击Make Default设置为默认选项

img

  切换线程在下图中Frames的下拉列表里可以切换当前的线程如下我这里有两个Debug的线程切换另外一个则进入另一个Debug的线程img

回退断点

在调试的时候,想要重新走一下流程而不用再次发起一个请求?

所谓的断点回退其实就是回退到上一个方法调用的开始处在IDEA里测试无法一行一行地回退或回到到上一个断点处而是回到上一个方法。回退的方式有两种

方法一是Drop Frame按钮按调用的方法逐步回退包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法如图8.3)。

img

  方法二在调用栈方法上选择要回退的方法右键选择Drop Frame(图8.4)回退到该方法的上一个方法调用处此时再按F9(Resume Program),可以看到程序进入到该方法的断点处了。

  img

但有一点需要注意,断点回退只能重新走一下流程,之前的某些参数/数据的状态已经改变了的是无法回退到之前的状态的,如对象、集合、更新了数据库数据等等。

中断Debug

想要在Debug的时候中断请求不要再走剩余的流程了

  img

常用设置

UID

快捷键:ALT + INS

折叠空包

clipboard.png

clipboard.png

显示边沟图标

Editor→General→Gutter Icons

设置自动import包

可选对于不能import *的要求的,建议不要用这个:

img

如果非要用这个自动导入却不想导入*的,可以通过配置这个来解决:

img

调整import包导入的顺序保持和Eclipse一致img

右下角显示内存

img

点击右下角可以回收内存。

自定义Javadoc注释

@date可能不是标准的Javadoc但是在业界标准来说这个已经成为Javadoc必备的注释因为大多数人都用这个来标注日期。建议注释不要太个性比如自定义类说明日期时间字段等等尽量保持统一的代码风格建议参考阿里巴巴Java开发手册

img

鼠标放上去自动显示文档

设置功能

演示效果

快捷键

Mac 键盘符号和修饰键说明

  • ——> Command
  • ——> Shift
  • ——> Option
  • ——> Control
  • ↩︎ ——> Return/Enter
  • ——> Delete
  • ——> 向前删除键(Fn + Delete)
  • ——> 上箭头
  • ——> 下箭头
  • ——> 左箭头
  • ——> 右箭头
  • ——> Page Up(Fn + ↑)
  • ——> Page Down(Fn + ↓)
  • ——> 右制表符(Tab键)
  • ——> 左制表符(Shift + Tab)
  • ——> Escape(Esc)
  • End ——> Fn + →
  • Home ——> Fn + ←

Editing(编辑)

快捷键 作用
Control + Space 基本的代码补全(补全任何类、方法、变量)
Control + Shift + Space 智能代码补全(过滤器方法列表和变量的预期类型)
Command + Shift + Enter 自动结束代码,行末自动添加分号
Command + P 显示方法的参数信息
Control + J 快速查看文档
Shift + F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)
Command + 鼠标放在代码上 显示代码简要信息
Command + F1 在错误或警告处显示具体描述信息
Command + N, Control + Enter, Control + N 生成代码(gettersetterhashCodeequalstoString、构造函数等)
Control + O 覆盖方法(重写父类方法)
Control + I 实现方法(实现接口中的方法)
Command + Option + T 包围代码(使用if...elsetry...catchforsynchronized等包围选中的代码)
Command + / 注释 / 取消注释与行注释
Command + Option + / 注释 / 取消注释与块注释
Option + 方向键上 连续选中代码块
Option + 方向键下 减少当前选中的代码块
Control + Shift + Q 显示上下文信息
Option + Enter 显示意向动作和快速修复代码
Command + Option + L 格式化代码
Control + Option + O 优化 import
Control + Option + I 自动缩进线
Tab / Shift + Tab 缩进代码 / 反缩进代码
Command + X 剪切当前行或选定的块到剪贴板
Command + C 复制当前行或选定的块到剪贴板
Command + V 从剪贴板粘贴
Command + Shift + V 从最近的缓冲区粘贴
Command + D 复制当前行或选定的块
Command + Delete 删除当前行或选定的块的行
Control + Shift + J 智能的将代码拼接成一行
Command + Enter 智能的拆分拼接的行
Shift + Enter 开始新的一行
Command + Shift + U 大小写切换
Command + Shift + ] / Command + Shift + [ 选择直到代码块结束 / 开始
Option + Fn + Delete 删除到单词的末尾
Option + Delete 删除到单词的开头
Command + 加号 / Command + 减号 展开 / 折叠代码块
Command + Shift + 加号 展开所以代码块
Command + Shift + 减号 折叠所有代码块
Command + W 关闭活动的编辑器选项卡

Search/Replace(查询/替换)

快捷键 作用
Double Shift 查询任何东西
Command + F 文件内查找
Command + G 查找模式下,向下查找
Command + Shift + G 查找模式下,向上查找
Command + R 文件内替换
Command + Shift + F 全局查找(根据路径)
Command + Shift + R 全局替换(根据路径)
Command + Shift + S 查询结构Ultimate Edition 版专用,需要在 Keymap 中设置)
Command + Shift + M 替换结构Ultimate Edition 版专用,需要在 Keymap 中设置)

Usage Search(使用查询)

快捷键 作用
Option + F7 / Command + F7 在文件中查找用法 / 在类中查找用法
Command + Shift + F7 在文件中突出显示的用法
Command + Option + F7 显示用法

Compile and Run(编译和运行)

快捷键 作用
Command + F9 编译 Project
Command + Shift + F9 编译选择的文件、包或模块
Control + Option + R 弹出 Run 的可选择菜单
Control + Option + D 弹出 Debug 的可选择菜单
Control + R 运行
Control + D 调试
Control + Shift + R, Control + Shift + D 从编辑器运行上下文环境配置

Debugging(调试)

快捷键 作用
F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
Shift + F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8 跳出
Option + F9 运行到光标处,如果光标前有其他断点会进入到该断点
Option + F8 计算表达式(可以更改变量值使其生效)
Command + Option + R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上
Command + F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)
Command + Shift + F8 查看断点信息

Navigation导航

快捷键 作用
Command + O 查找类文件
Command + Shift + O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
Command + Option + O 前往指定的变量 / 方法
Control + 方向键左 / Control + 方向键右 左右切换打开的编辑 tab 页
F12 返回到前一个工具窗口
Esc 从工具窗口进入代码文件窗口
Shift + Esc 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口
Command + Shift + F4 关闭活动 run/messages/find/... tab
Command + L 在当前文件跳转到某一行的指定处
Command + E 显示最近打开的文件记录列表
Option + 方向键左 / Option + 方向键右 光标跳转到当前单词 / 中文句的左 / 右侧开头位置
Command + Option + 方向键左 / Command + Option + 方向键右 退回 / 前进到上一个操作的地方
Command + Shift + Delete 跳转到最后一个编辑的地方
Option + F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的 Finder)
Command + B / Command + 鼠标点击 进入光标所在的方法/变量的接口或是定义处
Command + Option + B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
Option + Space, Command + Y 快速打开光标所在方法、类的定义
Control + Shift + B 跳转到类型声明处
Command + U 前往当前光标所在方法的父类的方法 / 接口定义
Control + 方向键下 / Control + 方向键上 当前光标跳转到当前文件的前一个 / 后一个方法名位置
Command + ] / Command + [ 移动光标到当前所在代码的花括号开始 / 结束位置
Command + F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)
Control + H 显示当前类的层次结构
Command + Shift + H 显示方法层次结构
Control + Option + H 显示调用层次结构
F2 / Shift + F2 跳转到下一个 / 上一个突出错误或警告的位置
F4 / Command + 方向键下 编辑 / 查看代码源
Option + Home 显示到当前文件的导航条
F3 选中文件 / 文件夹 / 代码行,添加 / 取消书签
Option + F3 选中文件 / 文件夹/代码行,使用助记符添加 / 取消书签
Control + 0Control + 9 定位到对应数值的书签位置
Command + F3 显示所有书签

Refactoring重构

快捷键 作用
F5 复制文件到指定目录
F6 移动文件到指定目录
Command + Delete 在文件上为安全删除文件,弹出确认框
Shift + F6 重命名文件
Command + F6 更改签名
Command + Option + N 一致性
Command + Option + M 将选中的代码提取为方法
Command + Option + V 提取变量
Command + Option + F 提取字段
Command + Option + C 提取常量
Command + Option + P 提取参数

VCS / Local History版本控制 / 本地历史记录)

快捷键 作用
Command + K 提交代码到版本控制器
Command + T 从版本控制器更新代码
Option + Shift + C 查看最近的变更记录
Control + C 快速弹出版本控制器操作面板

Live Templates动态代码模板

快捷键 作用
Command + Option + J 弹出模板选择窗口,将选定的代码使用动态模板包住
Command + J 插入自定义动态代码模板

General通用

快捷键 作用
Command + 1Command + 9 打开相应编号的工具窗口
Command + S 保存所有
Command + Option + Y 同步、刷新
Control + Command + F 切换全屏模式
Command + Shift + F12 切换最大化编辑器
Option + Shift + F 添加到收藏夹
Option + Shift + I 检查当前文件与当前的配置文件
Control + ` 快速切换当前的 scheme切换主题、代码样式等
Command + , 打开 IDEA 系统设置
Command + ; 打开项目结构对话框
Shift + Command + A 查找动作(可设置相关选项)
Control + Shift + Tab 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上 delete则是关闭对应选中的窗口

Product

Axure RP

提供快速原型设计工具。

蓝湖

提供产品设计。

地址:https://lanhuapp

墨刀

地址:https://modao.cc/feature/flowchart

提供原型、流程图、设计图、思维导图等功能。

Manger

时间管理

四象限法则

使用四象限法则来确定需要做的事情的优先级。

时间管理-四象限法则

番茄工作法

番茄工作法

番茄工作法优点

  • 减轻对时间的焦虑
  • 提高工作效率、集中力、注意力,减少工作中断
  • 增强决策意识
  • 激励效果唤醒持久工作奖励
  • 巩固达成工作目标的决心
  • 完善工作任务预估流程,精确任务时间和质量
  • 优化工作、学习的流程,提高时间效率
  • 锻炼工作时间把控与高效时间管理能力

番茄工作法原则

  • 每一个番茄时间约为25分钟每完成一个番茄时间休息5分钟
  • 在每一个番茄时间里,如遇突发事件被迫打断,该番茄时间作废
  • 非必需马山待办事项应安排到下一个番茄时间处理,并记录到敬业签
  • 每连续完成4个番茄时间后建议休息时间增加到25分钟作为奖励

PDCA循环管理

PDCA是最早由美国质量统计控制之父Shewhat休哈特)提出的PDSPlan Do See演化而来由美国质量管理专家戴明改进成为PDCA模式所以又称为“戴明环”;它是全面质量管理所应遵循的科学程序。全面质量管理活动的全部过程就是质量计划的制订和组织实现的过程这个过程就是按照PDCA循环不停顿地周而复始地运转的。

pdca

  • P——Plan计划 包括方针和目标的确定,以及活动规划的制定。
  • D——Do执行 根据已知的信息,设计具体的方法、方案和计划布局;再根据设计和布局,进行具体运作,实现计划中的内容。
  • C——Check检查 总结执行计划的结果,分清哪些对了,哪些错了,明确效果,找出问题。
  • A——Action处理 对总结检查的结果进行处理对成功的经验加以肯定并予以标准化对于失败的教训也要总结引起重视。对于没有解决的问题应提交给下一个PDCA循环中去解决。

每件事情通常我们会先做计划P计划完了以后去实施D实施的过程中进行检查C检查执行结果是否达到了预期分析影响的因素、出现问题的原因并提出解决的措施然后再把检查的结果进行改进、实施、改善A

适应范围

PDCA循环工作方法无论是在解决生产质量问题上还是在解决企业管理问题以及完善人生目标方面都不愧为一个好的、有益的工作方法。  

现代观点

  • P(Planning)计划包括三小部分目标goal、实施计划plan、收支预算budget
  • D(design):设计方案和布局
  • C(4C)4C管理Check检查、Communicate沟通、Clean 清理、Control控制
  • A(2A)Act执行对总结检查的结果进行处理、Aim按照目标要求行事如改善、提高

项目管理

团队管理

离职退群方式

  • 大群悄悄退,无伤大碍
  • 小群知会领导,正式退场
  • 关系好的同事群,发个红包再退群
  • 同事微信别删,都是日后资源

知识卡片

https://www.yinxiang.com/everhub/

多维度思考

独立思考的三条法则

坚持健康思考的3条法则

创造性思考的3条法则

合作性思考的3条法则

演讲能力

PPT演讲力

定位PPT演讲主题

定位PPT演讲主题

PPT演讲创新思维

PPT演讲创新思维

PPT演讲的逻辑结构

PPT演讲的逻辑结构

讲出好故事的HIT大法

讲出好故事的HIT大发

自我介绍公式MTV

自我介绍公式MTV

打造个人品牌营销

打造个人品牌营销

顶级演讲者的素养

顶级演讲者的素养

六步准备高光演讲

六步准备高光演讲

PPT演讲大树模型

PPT演讲大树模型

即兴演讲

即兴交流的7种力量

精简发言

精简发言的3个重点