知乎4000赞,自学Java怎么入门?

简介: 知乎4000赞,自学Java怎么入门?

这个教程将 Java 的入门基础知识贯穿在一个故事中,逐步深入,可以帮助你快速进入 Java 编程的世界。万事开头难,逐步跟着这个教程走一遍,对 Java 应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地学习其中的某些知识点。


第 1 课 什么是 Java

第 2 课 Java 的历史

第 3 课 Java 的特性

第 4 课 Hello World

第 5 课 Java 程序在编译和运行时发生了什么

第 6 课 JDK,JRE 和 JVM 之间有什么区别?

第 7 课 究竟什么是 JVM?

第 8 课 初识 Java 变量

第 9 课 一文搞懂 Java 中的基本数据类型

第 10 课 Unicode 字符集简介

第 11 课 操作符简介

第 12 课 一文搞懂 Java 的所有关键字

第 13 课 if/else

第 14 课 一文彻底搞懂 Java 命名约定

目前已经连载 41 篇,这里就不再贴了,希望能够对你有所帮助。


入门之后,可以考虑以下学习路径和内容:


1、学习的基本路径


首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把这个环境准备好,之后就可以去做各种尝试,尝试过程中就能逐渐建立信心。初学者往往在环境配置中被各种预想不到的问题弄得很沮丧。


建立起来环境了,改变世界就靠你的代码了。学习一门编程语言没有太多的诀窍,你可能可以去找一本比较好的经典的入门书籍,现在网络上也有非常多的资料,图文或者视频都可以,根据个人喜好选择。最重要的练习,熟能生巧,在不断的练习中去加深自己对程序语言的理解。


事实上要成为一个资深的 Java 开发者,对各种 API 和框架的学习,可能是花时间最多的一个地方。在软件开发中也有二八原则,少数的 API 能够胜任开发中的大部分场景。所以你只需要掌握这些关键部分,当在新场景下遇到不能解决的新问题时,再去查看帮助文档。所以帮助文档的阅读也是技术学习的一个关键因素。了解了基础原理之后一般就能上手开发了,帮助文档可以帮助你在实践中学习。


2、三个神器


三个神器,对于软件开发者来说非常重要。


第一个 Google,虽然因为各种原因的话有时候我们访问不了,但是这基本上是可以去寻找技术资料最好的方式。


第二个是 Github,Github 就是一个可以找到大量第三方库的地方,那是别人给我们封装好的可以复用的代码。比方说造一辆汽车的话,我们经常不要自己造轮子,而 Github 上可以找到很多优质的轮子,这些轮子还是免费(代码都是开源的),我们应该尽量利用它们来拼装自己的汽车。


第三个是 StackOverflow 网站,在这个问答网站上你遇到的几乎任何开发问题都能快速找到答案。


3、Java Web 全栈开发的推荐学习内容


简单总结一下,大概包括下面这些内容。每一部分都可以细化成很多知识点,这只是一个粗略的罗列。把它当做技术地图就好了。


开发环境的建立与项目管理:Intellij IDEA、Maven 和 Git


Java 编程基础:基本语法、面向对象特性、Java8 新特性、更高级库(比如 Guava)的使用等


前端开发技术:HTML、CSS、Vue 和 JavaScript 基础


Spring 基础:依赖注入 IoC、面向切面编程 AOP、SpringBoot


MVC 框架:Spring MVC,包括 URL 路由、模板、表单、Session、拦截器等知识


数据访问:关系型数据库、JDBC、Spring JDBC、事务、ORM 框架(MyBatis)


成熟应用的关键功能实现:邮件发送、异步任务、缓存、日志等


应用的测试和部署


4、Java Web 涉及到的内容


Web 基础,HTTP 协议

C/S 模型,浏览器访问网站过程

URL 基础知识

HTTP 消息——请求和响应

处理 HTTP 请求的应用程序

处理用户输入

HTTP 方法——GET v.s. POST

读取表单数据

构建 MVC 应用


Session


Session&&Cookie 基本概念

通过 Cookie 记录用户状态(类似购物车的例子)

使用 Session 跟踪用户(登录)

5、数据库相关的内容


除了动态的 Web 界面,一个有价值的 Web 应用必然需要进行数据存储,开发上我们一般称之为数据持久化(Data Persistence)。


从业务功能的角度出发,简单的应用可以认为就是数据的增删改查。比如一个产品级的博客应用,最核心的功能就是对博客内容的创建、修改、删除和查询,而这些功能都离不开 Web 服务器背后的数据库系统。


数据库基本概念

实体、关系(表)、记录(行)、列(属性)

主键、外键等

数据库表设计的基本原则

SQL 基础

MySQL 基本使用


SQL 中的 DDL——create,drop,alter,建立主键外键等约束


SQL 中的 DML——insert, select, delete, update,join


JDBC

数据库连接,连接池


使用 JDBC API 访问数据库


分页查询


事务的基本概念


JDBC 代码的封装与数据访问的三层架构


6、Spring 相关的内容


Spring 最重要的两个核心功能是依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。其中 DI 用于管理 Java 对象之间的依赖关系,AOP 用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI 和 AOP 能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用 Spring 框架的基础。


Spring 的核心思想

依赖注入

面向切面编程(AOP)

基于 POJO 的编程模型

预置的模板代码(如 Spring JDBC)

依赖注入的基本原理

依赖注入的优点

依赖注入如何实现

依赖注入的使用

基于 XML 的装配方式

基于 Java Configuration 的装配方式

自动装配

多种装配方式的混用

处理装配的歧义

如何注入属性值

Spring Bean 的作用域

Singleton

Prototype

Request

Session

Global

AOP

切面、目标对象、切点、通知、织入等基本概念

如何定义切点:定义切点的 aspectJ 语法

定义通知

前置通知(Before)

后置通知(AfterReturning)

异常通知(AfterThrowing)

最终通知(After)

环绕通知(Around)

如何给切面传参

7、Spring MVC 相关内容


Spring 作为 Java 系的全栈(full-stack)开发框架,当然也对 Web 开发有着非常好的支持。Spring 的 Web MVC 框架能够使开发者非常容易的开发 Web 应用,同时能够无缝享受到 Spring 本身的诸多好处——IoC 容器、AOP 编程等等。


Spring MVC 基本原理、配置

DispatcherServlet

WebApplicationContext

处理 HTTP 请求过程

实现 Controller

@Controller, @RequestMapping 注解

URL 模板模式,@PathVariable

获取 HTTP 请求参数,@RequestParam

@RequestMapping 方法支持的参数

@RequestMapping 方法支持的返回值

视图解析

处理静态资源

前后端分离

配置其它模板引擎

重定向

表单处理

表单数据绑定

Spring 表单标签

表单验证

文件上传

拦截器 Interceptors

Spring MVC 请求处理流程

HandlerInterceptor 接口

配置 Interceptor

异常处理

配置错误页面

使用 HTTP 状态码

@ExceptionHandler

ControllerAdvice 全局异常处理

REST API

@ResponseBody 和@RequestBody

处理 PUT 和 DELETE 请求

8、MyBatis 相关内容


MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生 Map 使用简单的 XML 或标注,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录


MyBatis 基础

ORM 的概念

如何定义 Mapper 接口

如何定义 XML Mapper 映射

如何使用 Mapper

MyBatis 的基本使用

SqlSessionFactory

SqlSessionFactoryBuilder

SqlSession

MyBatis-Spring

基于 Spring 如何配置和使用 Mapper

SqlSessionFactoryBean 的配置

MyBatis Spring Boot Starter 的使用

增删改查

熟悉 Mapper 配置文件

select 元素

select 的 resultType 属性

insert 元素

update 元素

delete 元素

复杂查询

resultMap 元素

association 元素

嵌套结果与嵌套查询

collection 元素

discriminator 元素

动态 SQL

分页查询(分页插件)

9、Java Web 应用的部署


War 包规范和结构

在 IDE 中调试和部署

使用 IDE 导出 War 包

将 War 包部署到服务器

基于 Spring Boot 的部署

10、其它主题


缓存:EhCache、Spring Cache Manager、数据层缓存、服务层缓存、页面缓存、Redis


安全:Spring Security(HTTP 基本验证,角色验证,权限验证)


任务调度:Spring 任务执行器(Executor)


邮件发送:SMTP 协议、spring-boot-starter-mail


Web Socket:@SubscribeMapping, WebSocketConfig


日志:SLF4J 与 Logback、 Spring Boot Logging、 ConsoleAppender/RollingFileAppender 、Sentry、ELK


11、设计模式


12、更进一步


分布式、深入 Java 虚拟机、针对不同场景的 Java 技术框架,到这个阶段已经不仅仅是 Java 的学习了,而是大型应用场景的技术积累、架构设计的精进了。


相关文章
|
1月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
253 0
|
2月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
404 0
|
2月前
|
SQL 算法 Java
适合自学的史上最强 Java 学习路线图分享
本路线图系统讲解Java从入门到进阶的学习路径,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架如Spring、数据库操作及项目实战,助你全面掌握Java开发技能,适合零基础及进阶学习。
885 0
|
2月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
599 0
|
2月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
482 3
|
2月前
|
监控 Java API
2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
653 0
|
3月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
393 1
|
3月前
|
Java 测试技术 API
Java IO流(二):文件操作与NIO入门
本文详解Java NIO与传统IO的区别与优势,涵盖Path、Files类、Channel、Buffer、Selector等核心概念,深入讲解文件操作、目录遍历、NIO实战及性能优化技巧,适合处理大文件与高并发场景,助力高效IO编程与面试准备。
|
3月前
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
3月前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
570 3
下一篇
oss云网关配置