环境与工具
url | 主要内容 | 备注 |
---|---|---|
新浪微博新兵训练营课程 | ||
研发环境与工具体系介绍 | ||
环境与工具(上) | ||
环境与工具(下) | ||
IBM提供的Java入门视频教程 |
JDK
安装jdk1.7+,地址:http://java.com/zh_CN/download/faq/develop.xml
配置环境变量
JAVA_HOME
CLASS_PATH
Path中添加
C:\Program Files\Java\jdk1.7.0_60\bin;C:\Program Files\Java\jre7\bin;
IDE
IDEA
Jetbrains IDEA是一个收费软件,它的社区版是免费的,配合上一些插件完全能满足日常需求。安装好之后第一步是调整快捷键,如果之前习惯了Eclipse的快捷键,IDEA也为你提供了这样的选项;然后设置代码格式,一个团队使用相同的代码风格很重要,否则在合并代码时候会异常痛苦。
- 下载代码格式化配置文件
安装eclipse code formatter,否则格式化结果会跟eclipse不一致
- 下载插件
preferences -> plugins -> Browse repositories -> eclipse code formatter
preference->eclipse code formatter->use the eclipse code formatter->browse
选择codestyle_eclipse.xml,确定
格式化已有文件:选择需要格式化的文件,使用快捷键option+command+L格式化代码
注意: idea格式化时谨慎选择“Optimize imports”和“Arrange Entries”,有可能出现不知名错误
- 格式说明
使用4个空格代替tab
每行140个字符
更多格式说明可以参考google javastyle
- 方便开发的插件
.ignore
Maven Helper
Awesome Console
- IntelliJ IDEA官方文档
常用快捷键
Ctrl+Alt+NumPad-/+ 折叠和收起代码
Maven
安装maven,地址:https://maven.apache.org
配置环境变量
Path变量中添加maven的bin路径
Maven依赖
View->Tool Windows->Maven Projects->Dependencies
Reimport All Maven Projects
配置Tomcat
常见问题
- maven导入项目后,依赖库引用报错,解决方案:执行mvn idea:idea命令
Java语言
Tutorial
《The Java™ Tutorials 》集中体现了Tutorial类型的资料的特点。它从最开始的编译和运行环境搭建说起,教你写出第一个Hello World,再用介绍的方式将Java各种语言特性(变量、类、泛型、Lambda表达式、JavaBeans,等等)进行讲解,同时还有对于JDK里常用API(集合类、多线程、IO等等)的介绍。
对初学者而言,需要的就是这样一份资料。即使你手头没有任何Java的入门书籍,读完这样的一份资料之后,一个新手基本就可以开始使用Java来编程了。
Spec
《The Java® Language Specification》是一份很典型的Spec,完备而规范。任何讲Java语法的资料,包括各种书籍和前面提到的Tutorial,都只能涉及部分。而这份Spec,如果你能读通的话,那么与Java语言特性有关的所有一切,你就再也不用求人了。
API
JDK 8 的API Reference,用Java语言编程的时候,我们需要不断查阅的就是这份API Reference。我们平常一般是通过IDE来快速查看某个接口的文档说明。
入门教程
框架及类库
设计模式
架构
调优
mat
Java内存分析工具
//获取dump文件
jmap -dump:format=b,file=manageplatform-hb.dump 8188
Garbage Collections Roots (GC roots)
https://dzone.com/articles/dynamic-class-enhancement-with-cglib
相关概念
英文 | 中文 | 说明 |
---|---|---|
heap dump | Java进程内存使用快照 | 包含堆中的对象和类信息,不包含内存分配信息,所有对象、类、Garbage Collection Roots、Thread Stacks and Local Variables |
Shallow Heap | 浅层堆 | 该对象实际占用的堆大小 |
Retained Heap | 保留堆 | 一般会大于或者等于shallow heap,如果这个对象被删除了(GC回收掉),能节省出多少内存,这个值就是所谓的retained heap |
Dominator Tree | 支配树 |
参考: