首页 > 编程知识 正文

java自学成功率,java程序员进阶之路

时间:2023-05-04 18:50:29 阅读:164357 作者:1163

文章: http://obj coding.com/2018/02/07/Java we B- learning /

最近,一些网友向我打听如何自学Java后端,还想从另一个方向调头,但Java后端到底需要学什么,到底从哪里学,主流的Java后端技术是哪些,这些都很清楚我是过来人的经验,在这个博客上写着。 不一定都是正确的,但都是我根据自己的经验总结出来的。 仅供参考。

Java基础知识

由于Java是一种纯面向对象的编程语言,除了基础语法外,还必须了解oop特性,即封装、继承和多态性。 另外,还有通用性、反射的特性,很多框架的技术都依赖于此。 例如,Spring核心的Ioc和AOP被用于反射。 而且,Java自身的动态代理也是利用反射来实现的。 在这里,特意写了Java动态代理的原理分析。 另外,Java的标准库中,集合、I/O、并发等在Web开发中几乎随处可见,有些在面试中经常被听到,所以在自学Java后端之前,要把这些基础打好另外,还有Java8的新功能,请注意Lambda表达式、集合的流操作、新功能等

关于书的推荐,我不建议初学者从一开始就带着“Java编程思想”去啃。 因为当初,我是那天下午决定自学Java,晚上抱着这本书啃的人。 说实话,我真的不知道在说什么。 因为我没有一点面向对象语言编程的基础。 因为这本书太考究了,对当时的我来说完全是天书。 但是,我想这一点我没能理解,在这里,我建议您先阅读《Java核心技术》。 这本书很容易理解,初学者也能接受。

视频推荐,我当初从一位客人冷酷的牛排老师那里听说了Java的基础教程。 淡淡的牛排故事真是生动有趣。 不知不觉把我带到Java的洞里无法自拔。 有时听了他的视频会笑。 可能是我自学阶段wxdmn的时候。

数据库

关于SQL:SQL教程,MySQL教程

我了解了一些基础语法后,直接跟着视频老师做了表格查询、多表格查询等表格操作的实战练习。 我建议学习sql。 不是高手,必须好好练习。 不能只是理解了。 因为工作中简洁写的sql非常重要。 这里,我在项目中继承sql语句的原因是,如果可以避免查询多表,就可以避免查询多表,如果可以划分多个语句,就可以划分多个语句。 这是因为这里涉及到多表查询的性能和数据库扩展问题。

关于JDBC:JDBC教程,使用JDBC分析连接对象的源代码

您需要了解如何使用JDBC API,但实际上它只是一组规范接口。 所有数据库驱动程序只要实现了JDBC,就可以通过标准API调用相应的驱动程序,完全不知道驱动程序是如何实现的,这是面向接口编程的优点。 然后,直接看了视频就理解了JDBC。 为了配合视频,根据Apache Dbutils工具制作了事务性的小工具。 特意用思维导图进行了总结:

基于网络

曾经开源中国的创始人红薯说:“我开始学习Java Web开发。 请远离各种框架,从servlet开始开发”的文章。 我觉得他说得对。 在现在的Java开发中,很多开发人员只知道框架的使用方法,但完全不知道Web的知识点。 实际上框架很多,但基本上是一条路,所以在学习哪个框架之前,请先打好Web的基础

关于Http协议,本文写得很清楚。 Http协议

关于基于Web的数据推荐,我看了《Tomcat和Java Web开发技术的详细内容》。 我详细说明了整个Java Web开发的技术知识点,现在看,我觉得里面确实有一点古老的技术,但是知道Java Web开发的历史也不错。 所以,在网络基础这一方面,我在看一位客户yydhj说的《超全面Java网络视频教程》。 既详细又生动,还有实战项目。

关于JSP,你只要知道它实际上是servlet就可以了。 关于那个标签的使用方法,除了旧的项目,我觉得可以直接无视。 因为现在几乎没有公司在网上使用JSP。 现在是只做API接口的时代,前后端隔离、单页APP应用、后端,所以时间很宝贵。 把这些时间重点放在servlet规格上吧。

至于Tomcat,它是一个Web容器,我们写的所有后端项目都必须部署到Web容器中才能运行。 实际上,它是一个Tomcat结构和处理请求流程,这是一个符合Http并通过套接字通信与客户端交互的服务器端程序

Web主流框架

Java Web框架多如牛毛。 有了一定的经验后,可以写Web框架。 在网上很多人都说Spring、Struts2、Hibernate是Java的三架马车。 那是很古老的事情。 我不太推荐Struts2,Hibernate。 请相信我。

特别是 Spring 框架,其实 Spring 家族的框架都是很不错的。

但是提醒一点就是,千万不要沉迷于各种框架不能自拔,以会多种用法而沾沾自喜,导致知其然而不知其所以然。

Spring其核心思想就是 IOC 和 AOP:

谈谈对 Spring IOC 的理解

Spring 面向切面编程

SpringMVC 它的思想是全部请求统一用一个 Servlet 去做请求转发与控制,这个 Servlet 叫 DispatcherServlet:

SpringMVC 初始化过程

SpringMVC 处理请求过程

Mybatis 它可实现动态拼装 sql,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集:

mybatis 入门教程

Mybatis 深入浅出系列

Web 框架进阶

使用了 SSM 框架后,你会觉得框架也不过这么回事,如果你对 Spring 有过大概了解,你也会产生想写一个「山寨版」Spring 的心思了,一个轻量级 Web 框架主要具备以下功能:

可读取用户自定义配置文件,并以此来初始化框架;
具备 Bean 容器,管理项目的类的对象生命周期;
具备依赖注入,降低类之间的耦合性;
具备 AOP 功能,使项目可进行横向编程,可不改变原有代码的情况增加业务逻辑;
具备 MVC 框架模式。
其实除了 SSM 之外,Web 框架可谓是百家齐放,其中以 Spring 全家桶最为耀眼,在这里我极力推荐两个 Spring 家族框架:SpringBoot 和 SpringCloud。

SpringBoot 弥补了 Spring 配置上的缺点,再也不用为繁杂的 xml 费劲精力了,堪称是 Java 后端开发的颠覆者,推荐书籍「Java EE 开发的颠覆者:SpringBoot实战」

SpringBoot 构建 web 项目

SpringBoot 自动化配置源码分析

自定义 SpringBoot Starter

spring-boot-starter-tutorial

SpringCloud 是一个微服务架构,能够将项目按照业务分成一个个微服务,每个微服务都可独立部署,服务之间互相协调。当一个项目越来越大时,随之而来的是越来越难以维护,此时将项目拆分成若干个微服务、单独维护、单独部署,也可以降低项目不同业务间的耦合度。推荐书籍「Spring Cloud 与 Docker 微服务架构实战」,这本书将 Docker 与微服务完美地结合在一起,堪称完美!

Spring Cloud 中文官网

史上最简单的 Spring Cloud 教程

我写的有关于 Spring Cloud 的博客:

SpringCloud微服务架构之服务注册与发现

SpringCloud微服务架构之服务消费者

SpringCloud微服务架构之断路器

SpringCloud微服务架构之服务网关

其它技术

Redis:一个高性能的 key-value 数据库,当有并发量很高的请求时,将数据缓存在 Redis 中,将提高服务器的响应性能,大大减轻数据库的压力。

redis 中文官网

redis 教程

Git:世界上最先进的分布式版本控制系统,建议所有初学者从命令行开始使用 Git!

关注 stormzhang 公众号「googdev」,回复「github」,即可免费获取一份 GitHub 教程电子书,我觉得写得很不错。

Git 官网

最全 Git 教程

Git 的一些常用命令

Maven:一个用于构建项目的工具,将项目间的依赖通过 xml 完美地组织到一起,可通过编译插件将项目编译成字节码文件。还有类似的 Gradle 也是不错的选择。

maven 的 pom.xml 文件详解

Linux:至少要求常用的命令会用,能够在 linux 环境下部署项目。

Linux 命令大全

最全的 SSH 连接远程终端教程

Docker:简直是项目部署神器啊,来不及解释了,看我 Docker 系列博客,开启 Docker 之旅吧!推荐书籍「Docker 技术入门与实战」,中国首部 Docker 著作!

Docker 实战(一)

Docker 实战(二)

Docker 实战(三)

docker-deploy-tutorial

开发工具

工欲善其事,必先利其器,以下是我推荐的一些开发工具:

Intellij IDEA:Java 开发最好的 IDE,这个是公认的,我一开始是用 Eclipse 的,后来用了 Intellij IDEA,才发现 Eclipse 就是一坨屎,所以我以过来人劝你们不要使用 Eclipse,直接 Intellij IDEA!

IntelliJ IDEA 使用教程

Iterm2:macOS 最好用的终端!

Iterm2 使用指南

Chrome:人生苦短,请用 Chrome,来不及解释了,快上车!

Postman:很好用的一个接口调试工具。

Postman 官网

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。