设为首页 收藏本站
查看: 592|回复: 0

[经验分享] from: Java开发必须要知道的知识体系

[复制链接]

尚未签到

发表于 2017-3-1 09:25:36 | 显示全部楼层 |阅读模式
  from:  https://zhuanlan.zhihu.com/p/21895647

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

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

  •   Tomcat

    •   URL: http://tomcat.apache.org/
    •   说明: Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

  •   Jetty

    •   URL: http://www.eclipse.org/jetty/
    •   说明: Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境,相对于Tomcat,更轻量级,更灵活,扩展性好。
    •   备注: 关于tomcat 与 nginx,apache的区别,参见知乎上的一篇文章:https://www.zhihu.com/question/32212996

构建工具

  •   Maven

    •   URL: http://maven.apache.org/

  •   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作为前端渲染模版引擎。

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

  •   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

    •   URL: http://logback.qos.ch/
    •   说明: Logback是log4j的升级版本,通常会和SLF4J配合使用。

  •   SLF4J

    •   URL: http://www.slf4j.org/
    •   说明: SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统,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

    •   URL: http://opencsv.sourceforge.net/
    •   说明: 操作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

    •   URL: http://www.ehcache.org/
    •   说明: 纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。

  •   Quartz

    •   URL: http://quartz-scheduler.org/
    •   说明: 作业调度框架。

代码质量

  •   FindBugs

    •   URL: http://findbugs.sourceforge.net/
    •   说明: 代码静态分析工具,帮助提高代码质量以及排除隐含的缺陷。

  •   CheckStyle

    •   URL: http://checkstyle.sourceforge.net/
    •   说明: 检查Java编码规范的静态分析工具。

  •   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代码很好地结合,也能用于扩展现有代码。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348617-1-1.html 上篇帖子: SpringMVC+Shiro权限管理【转】 下篇帖子: 如何配置在eclipse下配置Heritrix
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表