专栏首页编程Java开发必须要知道的知识体系

Java开发必须要知道的知识体系

Java是超高人气编程语言,拥有跨平台、面向对象、泛型编程等特性。在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属。今天只是梳理下Java知识体系,后续会针对各类目有更详细的经验分享。

知识体系

JDK

Java8

Lambda 语句

方法引用

日期/时间处理API

等等,不一一列举,详细的参考这些文档

URL:http://www.oracle.com/technetwork/cn/java/javase/documentation/index.html

说明: Java8增加了很多新的重要特性,比如:

Java8特性(英文):http://www.tutorialspoint.com/java8/java8_overview.htm

Java8特性(中文):http://www.importnew.com/11908.html

IDE

IntelliJ IDEA: - URL:http://www.jetbrains.com/idea/- 推荐指数: 5星 - 评价: JetBrains公司旗下有很多非常棒的IDE,例如PHP开发:PHPStorm,Python开发:Pycharm等,用了很多年的Eclipse,后来发现IDEA,如获至宝,果断放弃了Eclipse,并在团队中分享,技术同学都切到IntelliJ IDEA,用过的都说好,具体咋好,自己去体验吧!

URL:http://www.eclipse.org/

评价:最流行的Java开发IDE,国内很多团队使用MyEclipse,基于EclipseIDE的扩展,集成了很多插件,功能也很强大,非开源,收费。 MyEclipse的URL:http://www.myeclipsecn.com/

Eclipse

Web服务器

Apache

URL:https://projects.apache.org/project.html?httpd-http_server

说明: 具有的跨平台性和安全性,广泛使用,最流行开源Web服务器。

Nginx

Tomcat

Jetty

URL:http://www.eclipse.org/jetty/

说明: Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境,相对于Tomcat,更轻量级,更灵活,扩展性好。

备注: 关于tomcat 与 nginx,apache的区别,参见知乎上的一篇文章:https://www.zhihu.com/question/32212996

构建工具

Maven

Gradle

推荐指数: 个人比较推荐Gradle,代码简洁,设置灵活,但也需要根据具体业务场景和技术架构评估。

URL:http://gradle.org/

gradle和maven区别参照知乎这篇文章:https://www.zhihu.com/question/29338218

Ant: 过时的东东,就不要用了。

框架

Spring Framework

URL:http://spring.io/

推荐指数: 5星

说明: 学Java不知道Spring,没用过Spring,那就太low了,DI、AOP、MVC、ORM这些概念自不必说,必须要学的,围绕着Spring的生态圈很全,各种组件基本都已经齐备,结合自己的业务,做些扩展就run!

Github上各种Spring组件代码:https://github.com/spring-projects

Play!

URL:https://www.playframework.com/

说明: Play!是在设计时考虑了可伸缩性的 新一代反应式 Web 框架,Play 还带来了开发友好的特性,比如原生的 XML 和 JSON 处理,开发模式下的浏览器内错误报告,内置的测试帮助器,以及Selenium集成。

模版引擎

Thymeleaf

URL:http://www.thymeleaf.org/

说明: 支持用XML/XHTML/HTML5写模版,用于Web与非Web环境中的应用开发。Spring Boot中推荐用Thymeleaf作为前端渲染模版引擎。

数据访问

JPA

URL:http://projects.spring.io/spring-data-jpa/

说明: JPA是基于Hibernate的作的扩展,提供了简单的编程模型,JPA定义了独特的JPQL,不写SQL文,就能进行简单的进行数据CRUD操作。

MyBatis

URL:http://mybatis.org/mybatis-3/

说明: MyBatis的前身就是iBatis,是一个数据持久层(ORM)框架,简单易学,轻巧灵活,封装了绝大多数的JDBC样板代码,使得开发者只需关注SQL本身。

日志

Logback

SLF4J

单元测试

JUnit

URL:http://junit.org/junit4/

说明: 没啥好介绍的,老牌的Java代码自动话测试工具。

testNG

URL:http://testng.org/doc/index.html

说明: 类似于JUnit和NUnit, 功能都差不多,只是功能更加强大,使用也更方便。

JMockit

URL:http://jmockit.org/

说明: 单元测试mock框架,尤其在测试框架底层复杂代码时,JMockit是很好的武器,另外还有一个工具:Djunit也是Mock框架,场合Junit结合使用。 ### 常用类库

jackson

URL:https://github.com/FasterXML/jackson

说明: 操作JSON的类库。

GSON

URL:https://github.com/google/gson

说明: Google开源java对象和JSON对象进行影射的类库。

CSV

Excel

URL:https://poi.apache.org/

说明: 操作Excel,Word的类库。

Apache PDFBox

URL:https://pdfbox.apache.org/index.html

说明: 操作PDF的类库。

Jsoup

URL:https://jsoup.org/

说明: 一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

Ehcache

Quartz

URL:http://quartz-scheduler.org/

说明: 作业调度框架。

代码质量

FindBugs

CheckStyle

PMD

URL:https://pmd.github.io/

说明: 和FindBugs功能类似。

JVM语言

Scala

URL:http://www.scala-lang.org/

说明: Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。

Groovy

URL:http://groovy-lang.org/

说明: Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与Java代码很好地结合,也能用于扩展现有代码。

本文来自企鹅号 - 互联网科技变更媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring、Spring MVC、MyBatis 整合文件配置详解

    使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了。先总结一下SSM整合的文件配置。其实具体的用法最好还是看官方文档。 Spring:http://sp...

    企鹅号小编
  • 那些实用的Nginx规则

    1. 概述 大家都知道Nginx有很多功能模块,比如反向代理、缓存等,这篇文章总结下我们这些年实际环境中那些有用的Nginx规则和模块,大部分是用法的概括及介绍...

    企鹅号小编
  • 小程序来了,APP将成为历史?

    自2017年1月9日,微信推出小程序以来,小程序就话题不断。至今小程序已经迎来蓬勃的发展。这, 只是一个开始,因为小程序的使命不仅限于此。微信创始人张小龙说,任...

    企鹅号小编
  • nodejs初印象

    初学Nodejs,特意在此记录学习过程,算是对这段时间的一个summary吧,相互勉励,共同进步嘛,Now Begin: 1、什么是nodejs nodejs ...

    用户1141560
  • tomcat使用manager GUI应用和script分别reload应用的注意事项

    一个小陷阱:如果用tomcat manager应用,即html页面点击reload,发起的HTTP请求的url:http://localhost:9032/ma...

    Jerry Wang
  • Go 标准库 http.FileServer 实现静态文件服务

    访问 http://127.0.0.1:8080,即可看到类似 Nginx 中 autoindex 目录浏览功能。

    李海彬
  • Spring使用外部属性文件以及常见错误(内附大量图片,很有借鉴意义)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

    大黄大黄大黄
  • 再次赞一下LODOP打印控件,帮我搞定条码打印

    不得不说[URL=http://mtsoftware.v053.gokao.net]LODOP[/URL]越来越强大了,昨天使用最新的Lodop6.122版又搞...

    崔文远TroyCui
  • spring 整合c3p0连接池

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • SpringBoot-01-之初体验

    张风捷特烈

扫码关注云+社区

领取腾讯云代金券