Java Project - upan/cheat-sheet GitHub Wiki

Java Project

代码规范

收集大厂的代码规范

  1. Google Java Style Guide,无法访问可以看 google-styleguide汉化版本
  2. SEI CERT Oracle Coding Standard for Java
  3. 阿里巴巴Java开发手册,本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、 单元测试、 安全规约、 MySQL 数据库、 工程结构、 设计规约七个维度,再根据内容特征,细分成若干二级子目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。 另外还配备了IDE插件。
  4. 唯品会Java开发手册,项目地址https://github.com/vipshop/vjtools以阿里巴巴Java开发手册为基础,结合唯品会的内部经验,参考《Clean Code》、《Effective Java》等重磅资料,增补了一些条目,同时删减了一些相对不那么通用的规则。另外还贴心的提供了IDE 模版和 Sonar 规则。

检测插件

  1. 阿里巴巴的P3C,阿里巴巴代码规范对应的IDE插件。
  2. SonarLint,SonarLint是一个IDE扩展,可以帮助您在编写代码时检测和修复质量问题。可以帮助我们检测出代码中的坏味道。
  3. FindBugs,FindBug 是一款开源的 Java 代码检查工具,遵循 GNU 公共许可协议。它可以检查 Java 类或者 JAR 文件,运行的是 Java 字节码而不是源码,检查原理是:将字节码与一组缺陷模式进行对比来发现可能存在的问题,这些问题包括空指针引用、无限递归循环、死锁等。

编译和运行

JDK

JVM 官方配置详解

虚拟机参数设置文档

  1. 官方文档

    1. Java1.7 http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
    2. Java1.8 http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
  2. 非官方文档

    1. http://www.jvmer.com/jvm-xx-%E5%8F%82%E6%95%B0%E4%BB%8B%E7%BB%8D/
    2. http://q-redux.blogspot.com/2011/01/inspecting-hotspot-jvm-options.html

垃圾回收(GC)相关官方文档

集合

  • Java 集合 UML图 作者绘制的Java Collection APIs ( List, Set, Queue, & Map)类图。点击类图可以查看大图。 这份列表兼容从JDK 1.0到JDK 7 (1.7)最新版本 接口采用" 灰色"表示,抽象类用" 黄色"表示,实现类用" 绿色"表示。接口有列出它的方法和属性。但抽象类和实现类没有画出它们的方法和属性,可以从其实现的接口猜出。

Java 8

Java Web

Web框架

Java专题

Spring

MyBaits

View

IOC

  • Spring IOC
  • Guice:轻量级注入框架,功能强大。

Json

  • Jackson, Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。在线文档整理收集
  • fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。在线文档

RPC

本地缓存

日志

爬虫

  • Nutch是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。可用于生产环境的高度可扩展、可伸缩的网络爬虫。
  • Crawler4j:简单的轻量级爬虫。
  • JSoup :刮取、解析、操作和清理HTML。

压力测试

分词、检索

  • Solr,Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
  • Lucene, Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。

计划任务

数据库

其他