精华内容
下载资源
问答
  • 前面刚刚整理过了「Java后端开发学习路线」,很多小伙伴也说让推荐一些对应的书籍瞧瞧。 推荐是没问题,但是有些话还是想聊聊看。 首先毫无疑问的是,对于 「编程基础」 部分,有大量经典的书籍值得阅读,每一本都是...

    image

    本文 Github开源项目:github.com/hansonwang99/JavaCollection 中已收录,有详细自学编程学习路线、面试题和面经、编程资料及系列技术文章等,资源持续更新中…


    先唠会嗑

    前面刚刚整理过了「Java后端开发学习路线」,很多小伙伴也说让推荐一些对应的书籍瞧瞧。

    推荐是没问题,但是有些话还是想聊聊看。

    首先毫无疑问的是,对于 「编程基础」 部分,有大量经典的书籍值得阅读,每一本都是大师们若干年经验的汇聚,所以学好编程基础,对于我们普通人来说,看书是一个直接有效的方式。

    很多经典书看一遍可能远远不够,正所谓 「初看懵、再看迷、三看发现有点小意思」 讲的就是这个道理,这事急不得,而且有些东西的确需要一个反反复复的过程,有些甚至是在工作后的实践中才会遇到,所以珍惜每一次回炉重造的过程吧。

    而对于 「应用框架」 部分,实不相瞒,初学的时候我看了很多「从XX到XX」这类快餐书,花了不少钱。应该说大部分对于我这种非科班自学党来说还算可以的,是有点收获;但有些也不乏有很多毛病,比如讲得技术太过陈旧、甚至有知识性或理解性的偏差等。

    对于这部分,如果完全0基础倒是可以看书入门,而当基本用法通了,有了一定的实际运用经验之后,最有效的学习方式还是研究开发文档。实际使用过程中遇到的很多问题,我们发现到最后还是文档救了我们。

    所以接下来偏着重推荐一些基础的经典好书,应用框架部分的书籍视情况推荐了。

    那我们就对着之前文章:《Java后端开发学习路线:一文串起所有主流技术点》 中归纳总结的Java学习路线脑图,一项项来盘点吧。


    Java语言

    《Java核心技术(Core Java)》

    image

    一看到「机械工业出版社」,我就知道事情并不简单。是的,这本讲的很全面,书中的代码示例都很好,很适合Java通用学习。

    不过现在最新版貌似出到了「第11版了」,有新版用最新的即可。

    《Java编程思想》

    image

    好家伙,又是「机械工业出版社」,还是黑皮书,Java的“圣经”。如果是纯新手还是上面的《Java核心技术》稍微好接受一些,当然待我们有些基础之后,这本书也可以啃一啃,从圣经里多吸收一些思想总是好的。

    不说了,我先肝为敬!

    《Effective Java》

    image

    怎么还是「机工社」的!

    是的,这本算是进阶书籍了,里面讲的全是Java使用的经验技巧和指导意见,等Java比较熟之后再看看一定会非常有收获的

    《深入理解 Java 虚拟机》

    image

    我Fo了,还是「机工社的」!都知道JVM虚拟机对于Java而言极其重要,这本是理解JVM机制比较好的书了

    《实战Java高并发程序设计》

    image

    终于来了一本不是机工社的书了,太好了!

    的确,这本用来入门学习Java并发编程知识点还是很适合的,基础、全面、能看懂,看完之后心里对于Java并发这一块的东西可以保个底。

    《Java并发编程实战》

    image

    这本书的原文作者们本来就是Java并发工具专家组的主要成员,所以权威性杠杠滴,但如果学Java并发上来就钻这本书,而这本书又是翻译过来的,确实是有点晦涩了,如果看完了上面那本,可以用这本对比升华一下。


    数据结构和算法

    《数据结构与算法分析 Java语言描述》

    image

    这本书它本来它就是国外数据结构与算法分析的经典教材,系统全面且严谨,适合对Java语言比较熟,而且数据结构和算法有些了解的同学,当然既然是黑皮书,压力肯定是有的,肝了它吧。

    《算法 第4版》

    image

    这是另外一本Java语言描述的经典数据结构和算法书。


    计算机网络(TCP/IP协议)

    《TCP/IP详解 卷1:协议》

    image

    计网的东西乍看起来好像很杂,但抓住分层的思想梳理总结之后其实也还好。就像这本书,表面看起来有点晦涩,但沉下心来完全能看懂。

    《计算机网络:自顶向下方法》

    image

    说上面那本晦涩的,那就看这本吧。

    《图解TCP/IP》《图解HTTP》

    image

    image

    如果觉得上面那两本都晦涩,那就只能看这两本了。


    数据库/SQL

    《MySQL必知必会》

    image

    书不厚,主讲SQL用法,入门不错,也可以当小册子查阅。

    《高性能MySQL》

    image

    上面的用法熟了,学习原理、提升数据库性能,可以读这本,不过书很厚,是一个长期攻坚战没跑了。


    操作系统

    《深入理解计算机系统(CSAPP)》

    image

    如果说这本是纯讲操作系统的书好像也不尽然,它更像是计组和操作系统的组合。说实话,看操作系统的书都不容易啊,经典的书就那么几本,想要系统地学明白是得掉层皮啊。

    《现代操作系统》

    image

    这本也比较系统和全面。


    设计模式

    《Head First设计模式》/《大话设计模式》

    image

    image

    设计模式入门款,文字轻松、配图丰富、逻辑清晰,通过它步入设计模式之门没问题。

    《设计模式:可复用面向对象软件的基础》

    image

    有了一定的编码经验,进阶深入再学习和理解看这本比较好,这是理论提高。


    Linux使用/基本Shell编程

    当然这里说的基本使用层面的,常见的不管是像《鸟哥的Linux私房菜》这种经典,还是《Linux命令行与shell脚本编程大全》这种大全,都可以做手册来用,书实在太厚了。


    应用框架相关

    从这里开始都是「应用框架」部分的内容了,就像文章开头说的,很多都是快餐书,而且框架部分迭代太快,网上的各种博文帖子更是满天飞,加上官方文档,所以可参考的还是很多的,至于书,象征性地提几本吧。

    • 《Spring实战》
    • 《深入浅出Spring Boot 2.x》
    • 《Redis设计与实现》
    • 《深入理解Kafka:核心设计与实践原理》
    • 《Netty In Action》
    • 《从Paxos到Zookeeper 分布式一致性原理与实践》
    • 《分布式服务框架 原理与实践》
    • 《微服务架构设计模式》
    • 《高可用可伸缩微服务架构》
    • 《Docker容器与容器云》

    收 工

    感谢小伙伴们能看到这里。

    看书不是目的,看书只是学习的一种输入途径而已,重要的是理解、实践和输出。由于时间仓促,文中所列书籍仅供参考,如有什么遗漏或者其他好书推荐,小伙伴们也可以安利起来。

    后记:本文 Github开源项目:github.com/hansonwang99/JavaCollection 中已收录,有详细自学编程学习路线、面试题和面经、编程资料及系列技术文章等,资源持续更新中…

    每天进步一点点,慢一点才能更快

    展开全文
  • Java后端开发路线.pdf

    2021-03-16 15:23:41
    Java后端开发路线.pdf
  • java后端开发学习路线 ,详细的知识框架和技术栈;java后端开发学习路线 ,详细的知识框架和技术栈
  • java后端开发dtd文件

    2021-03-17 16:01:16
    这是java后端开发的dtd文件,里面包含spring、mybatis、struct、dubbo、springMVC、spring整合mybatis
  • Java后端开发的自学路线
  • Java后端开发学习.xmind.zip
  • java后端开发学习路线

    2021-05-31 11:47:59
    尽早确定自己的学习工作方向,有利于学习效率的提升。对于java后端开发感兴趣的同学,可以看看java后端开发的路线,以下是路线图。

        尽早确定自己的学习工作方向,有利于学习效率的提升。对于java后端开发感兴趣的同学,可以看看java后端开发的路线,以下是路线图。

    视频链接:https://www.bilibili.com/video/BV1GQ4y1N7HD?t=1296

    一 、总体模块

     

    你看,要学的东西也不多嘛,就三块。

    一步步来,先别急奥。

    二、模块细分

    小分一下,就可以分为以上几大模块。

    三、最终路线

    小朋友,你是否有很多问号????


        对计算机及互联网行业的学习任重道远,要一步一个脚印,最终构建起自己的知识大厦,形成体系。前途似海,来日方长,广阔天地,大有作为。

    四、归宿

    最后祝大家尽早走上成神之路!

     

    展开全文
  • 最专业的Java后端开发学习路线
  • Java后端开发框架

    万次阅读 多人点赞 2019-09-09 15:31:22
    Java web开发框架了解 ...后端–对外提供(类)RESTful风格的API—数据库交互-- web应用服务器(tomcat)-- Spring 技术栈开发 交互–HTTP协议通信-- JSON格式–RESTful 风格 java web开发框架的变迁 ...

    Java web开发框架了解

    web开发

    • 前端–页面的设计、路由、展示—静态资源(HTML、CSS、JS)–web服务器(nginx)-- Vue 技术栈开发

    • 后端–对外提供(类)RESTful风格的API—数据库交互-- web应用服务器(tomcat)-- Spring 技术栈开发

    • 交互–HTTP协议通信-- JSON格式–RESTful 风格

    java web开发框架的变迁

    1. SSH ——Struts、Spring、Hibernate
    2. Spring +SpringMVC + Hibernate/ibatis
    3. SSM —— Spring+SpringMVC+Mybatis—— 主流
    4. Springboot+Mybatis——兴起
    5. 微服务框架——springboot+dubbo、springcloud—— 前沿

    后端服务器的主要功能

    接收外界的API请求,解析后去执行数据库操作,最后将数据包装好返回给调用者(当然,中间还包含其他业务逻辑)

    和数据操作有关的

    这类框架一般负责和数据库进行连接,负责SQL的处理,以及将查询到的数据映射成指定的java对象。

    1. mybatis:易学,SQL手动编写,移植性差,支持动态SQL,数据量大、高并发、表关联复杂度高、要求对数据库可控性好可深度调优的项目,半智能效率快些

    2. hibernate:难学,SQL封装好,移植性好,不支持动态SQL,中小企业变化不多的项目,全智能效率慢

    和API请求响应有关的

    这类框架一般负责根据不同的API请求来调用程序中不同的处理方法,负责将调用者传入的数据映射成java对象,也负责处理程序返回给客户端的响应数据格式等。

    1. struts2: 类级别的拦截,每次发一次请求都会实例一个action,每个action都会被注入属性。
    2. springmvc: 方法级别的拦截,是单例的,一个方法对应一个request上下文,而方法同时又跟一个url对应,性能好开发效率高零配置。

    和业务逻辑有关的

    这类框架主要用到了两个特性,以此来简化程序的复杂性:控制反转(IOC)和依赖注入(DI)。在程序中结合这类框架,写出来的程序具有更好的维护性扩展性,也更加清晰简洁。

    1. spring: 非侵入性的方式,以一种完全外部化的方式来对待对象依赖关系。在 Spring 里,你可以使用 XML、SpringJavaConfig 或者 Groovy-Spring DSL 来连接对象依赖关系,也可以使用其它的方案。一站式解决方案,能够解决绝大部分框架类问题。
    2. guice:代码将和容器紧密耦合在一起。

    常用的框架

    • 数据层:mybatis
    • API层:spring mvc
    • 业务层:spring
    • 外加重要的:spring boot——进一步简化基于 spring 框架的项目的构建工具

    web后端开发框架

    企业最常用

    1. Spring:是 Java 后端框架家族里面最强大的一个框架,其拥有 IOC(控制反转) 和 AOP(面向切面) 两大利器,大大简化了软件开发复杂性。并且,Spring 现在能与所有主流开发框架集成,可谓是一个万能框架,Spring 让 JAVA 开发变得更多简单。
    2. SpringMVC:API层,处理|响应请求,获取表单参数,表单校验等。HTTP协议中的请求/响应特性,在该框架中,用户的每一个请求都声明了一个需要执行的动作。而这主要是通过将每个请求URI映射到一个可执行的方法来实现。同时,也将请求参数映射到对应方法的参数。
    3. SpringBoot:Spring 组件一站式解决方案,简化使用 Spring 框架的难度,简省繁重的配置。
    4. SpringCloud:微服务框架首选,它利用Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等
    5. Mybatis:一种轻量级的对象关系映射持久层(ORM)框架,数据层,数据库相关,连接、处理、映射。
    6. Swagger-UI:前后端协作的利器,解析代码里的注解生成JSON文件,通过Swagger UI生成网页版的接口文档,可以在上面做简单的接口调试 。
    7. ApachePOI:POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

    关系型数据库

    1. MySQL:中小型数据库
    2. Oracle:大型数据库,大并发,大访问量

    NoSQL

    1. Redis:内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,配合关系型数据库做高速缓存,一个key-value型的数据库,解决应用服务器的cpu和内存压力、减少io的读操作、减轻io的压力,适用于数据高并发的读写、海量数据的读写、对扩展性要求高的数据等场景。
    2. MongoDB:更类似 MySQL,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询 JSON 数据,能存储海量数据,但是不支持事务。

    消息中间件

    解决分布式系统之间消息的传递,异步处理(放入消息队列,提高吞吐量)、应用解耦(写入-订阅)、流量削峰(秒数或者团抢活动),大型电子商务类网站消除高并发访问高峰,加快网站的响应速度

    1. ActiveMQ:中小型公司,万级,非常成熟,功能强大,在早些年业内大量的公司以及项目中都有应用,主要是基于解耦和异步来用的,较少在大规模吞吐的场景中使用。
    2. RabbitMQ:万级,延时很低,是erlang语言本身带来的问题。很难读源码,很难定制和掌控。
    3. RocketMQ:大型公司,十万级,阿里,接口简单易用,可以做到大规模吞吐,性能也非常好,分布式扩展也很方便,社区维护还可以,可靠性和可用性都是ok的,还可以支撑大规模的topic数量,支持复杂MQ业务场景。
    4. Kafka:十万级,大数据领域的实时计算、日志采集,超高的吞吐量,ms级的延迟,极高的可用性以及可靠性,而且分布式可以任意扩展。

    SOA(面向服务)相关

    系统集成—有序,系统的服务化—复用,业务的服务化—高效

    1. SpringCloud.Dubbo:阿里,分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案。RPC 指的是远程调用协议,也就是说两个服务器交互数据。透明化的远程方法调用,像调用本地方法一样调用远程方法,配置简单,无API侵入;软负载均衡以及容错机制,可在内网替代F5等硬件负载均衡器,降低成本;服务的自动注册与发现,不需要写死服务提供方的地址,注册中心基于接口名查询服务提供着的IP地址,并且可以平滑的添加或者删除服务提供者;采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需要Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

    2. Zookeeper: 分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。zookeeper=文件系统+监听通知机制,客户端注册监听它关心的文件目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。

      假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在把这些配置全部放到zookeeper上去,保存在zookeeper 的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到zookeeper 的通知,然后从zookeeper 获取新的配置信息应用到系统中。

    搜索相关

    全文搜索搜索引擎,计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。

    1. Elasticsearch: 一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。分布式、多租户、某些节点出现故障时会自动分配其他节点代替其进行工作、接近实时的搜索。自身带有分布式协调管理功能、仅支持json文件格式、在处理实时搜索应用时效率明显高于Solr、适用于新兴的实时搜索应用。
    2. Solr: 基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。成熟、稳定;不考虑建索引的同时进行搜索,速度更快;建立索引时,搜索效率下降,实时索引搜索效率不高。用 Zookeeper 进行分布式管理、支持更多格式的数据、传统的搜索应用中表现好于 Elasticsearch、传统搜索应用的有力解决方案。互联网巨头,如Netflix,eBay,Instagram和亚马逊(CloudSearch)都使用Solr,因为它能够索引和搜索多个站点。
    3. Lucene:一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。一个Java全文搜索引擎,完全用Java编写。Lucene不是一个完整的应用程序,而是一个代码库和API,可以很容易地用于向应用程序添加搜索功能。

    通讯相关

    1. Netty: 异步高性能的通信框架,往往作为基础通信组件被 RPC 框架使用。典型的应用有:阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信。淘宝的消息中间件 RocketMQ 的消息生产者和消息消费者之间,也采用 Netty 进行高性能、异步通信。大数据领域,经典的 Hadoop 的高性能通信和序列化组件 Avro 的 RPC 框架,默认采用 Netty 进行跨节点通信,它的 Netty Service 基于 Netty 框架二次封装实现。

    文件存储

    1. FastDFS: 一个轻量级分布式文件系统,对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)。

    项目构建类

    1. Maven:主要功能主要分为5点,分别是依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。

    1. Gradle:构建包括编译主代码、处理资源、编译测试代码、执行测试、上传归档等,基于灵活的任务模型,因此很多事情包括覆盖现有任务,跳过任务都非常易于实现。

    Gradle作为一款基于Groovy语言的构建工具,已经吸引众多的ant,maven使用者转投gradle的怀抱,和Gradle相比,ant显得冗余复杂,maven显得有些死板落后,而gradle基于DSL语法,特点明显:简洁、灵活、可读性强。Gradle和maven有很多相似点,gradle充分考虑到maven库的价值,在jar包管理上完全支持mavenRepository,很多属性乍眼一看就能反应过来maven中对应的是什么标签,大大降低maven到gradle的迁移难度,并在构建方面改善了很多maven的不足,,同时,gradle对比maven更好的面向ant用户,使用maven时,虽然能通过plugin来跑ant的命令,但是maven在任务实现主要靠的是插件以及自身的固定框架,Gradle在定义任务方面思想与ant非常相似,做了很好的集成。

    IDE

    1. IntellijIDEA: 更好的调试、更高的开发效率、更智能的重构、目录分层少而清。
    2. Ecplise: 最大化控制台、项目结构支持更强大、插件编写更容易、免费。
    展开全文
  • JAVA后端开发规范

    2018-06-27 10:03:52
    原文链接: JAVA后端开发规范
    展开全文
  • Java后端开发需要掌握什么? 需要熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉面向对象的设计原则,熟悉基于JSP和Servlet的Java Web开发,熟练使用JSTL和EL编写无脚本动态...
  • 我从事java后端开发,对大数据领域工作有些了解,但不深入。本文描述一下我对java后端和是否转大数据开发的个人见解。 目的 分析大数据领域分类 分析大数据工作工资高的原因 分析造成觉得java后端开发不够前景的原因...
  • 编程之JAVA后端开发与python后端开发的区别及类的方法技巧[图] 今天总算闲了一会,趁着这个闲暇来写篇文章。 今天我想以个人观点来简单说说Java后端开发和Python后端开发的区别。 Java&PythonBackEnd 公众号老粉...
  • 用HBuilder X开发微信小程序,java后端开发工具idea,mysql数据库,主要功能有:用户管理、诗词管理、诗人管理、评论管理、收藏管理、系统设置、权限分配
  • Java后端开发一个月速成八股文,考研失败参加春招,常见java基础,集合,设计模式,JVM,MYSQL,计算机网络,redis,spring,springmvc,springboot,Mybatis,多线程,JUC并发编程,分布式理论,常见面试问题
  • 用HBuilder X开发微信小程序,java后端开发工具idea,mysql数据库,主要功能有:用户管理、文档资料、收藏列表、下载管理、系统设置、权限分配
  • java后端开发模块

    2020-08-11 10:45:42
    java后端开发模块 后端模块 ezdev-system-modules为后端模块,后端模块都采用modules为后缀,以项目名称为前缀,基于maven模块化开发方式进行项目构建,下图为后端模块结构: bin文件夹为批处理命令,包括发版,...
  • Java后端开发常用工具

    千次阅读 2018-12-22 17:55:02
    Java后端开发常用工具推荐: 俗话说,工欲善其事,必先利其器。不过初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronized,在IDE中输入sync...
  • Java后端开发学习路线

    2020-12-31 14:15:44
    二话不说,先把肝了近一周时间总结出来的 「Java后端开发学习路线」 给发出来吧,基本把Java后端开发主流知识、技术点、框架都串起来了。 直接看图,看完再聊几个问题吧: 所以接下来,聊聊几个问题吧。 到底什么是...
  • Java后端开发面经

    2020-04-18 10:12:47
    Java后端开发面经引言转:游标的作用,如何知道游标已经到了最后?转:函数和存储过程的区别[转:SQL 注入攻击](https://blog.csdn.net/carol980206/article/details/87905304) 引言 其实基本的计网、数据库、java...
  • 用HBuilder X开发微信小程序,java后端开发工具idea,mysql数据库,主要功能有:用户管理、分类列表、分类金额、众筹列表、订单列表、系统设置、权限分配
  • 各大公司Java后端开发面试题总结

    万次阅读 多人点赞 2017-03-01 11:31:11
    Java虚拟机规范中将Java运行时数据分为六种。 1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,181
精华内容 4,872
关键字:

java后端开发

java 订阅