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

Posted 跬步者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了from: Java开发必须要知道的知识体系相关的知识,希望对你有一定的参考价值。

from:  https://zhuanlan.zhihu.com/p/21895647

 

作者:靳洪飞
链接:https://zhuanlan.zhihu.com/p/21895647
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Java

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

知识体系

JDK

IDE

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

    • URL:

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

    • Eclipse

Web服务器

  • Apache

  • nginx

    • URL:

    • 说明: 轻量级Web服务器、反向代理服务器,Nginx相较于 Apache、lighttpd 具有占有内存少,稳定性高,并发能力强等优势,丰富的模块库以及友好灵活的配置而闻名。

  • Tomcat

    • URL:

    • 说明: Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

  • Jetty

    • URL:

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

    • 备注: 关于tomcat 与 nginx,apache的区别,参见知乎上的一篇文章:

构建工具

框架

  • Spring Framework

    • URL:

    • 推荐指数: 5星

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

    • Github上各种Spring组件代码:

  • Play!

    • URL:

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

模版引擎

  • Thymeleaf

    • URL:

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

  • Velocity - URL: - 说明: 一个基于java的模板引擎,它允许任何人使用简单但是强大的模板语言, 引用java代码中的对象。

数据访问

  • JPA

    • URL:

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

  • MyBatis

    • URL:

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

日志

  • Logback

  • SLF4J

    • URL:

    • 说明: SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

单元测试

代码质量

JVM语言

  • Scala

    • URL:

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

  • Groovy

    • URL:

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

以上是关于from: Java开发必须要知道的知识体系的主要内容,如果未能解决你的问题,请参考以下文章

理论+实战 构建完整JVM知识体系

Java是什么?只需5分钟,了解java必须要知道的知识点

理论+实战 构建完整JVM知识体系

Java面试你必须要知道的那些知识,逆袭面经分享

Java面试:Java开发者必看避坑指南

Java面试你必须要知道的那些知识,保准看明白!