我是通过自学C语言转做软件开发工作的,后来用C++、JavaScript、Java、Scala、OC等语言,也都是自学。我觉得,自学一门编程语言,遵循下面的步骤比较容易学会:

  1. 先看一遍书,学习基础语法,包括关键字、语句、面向对象、类库等,能知道就成,不理解没关系
  2. 搭建开发环境,可以Google、百度,都可以
  3. 做编程书后的习题,独立做出来,在IDE中都运行出结果来
  4. 设计一些小的示例,能够融合多个知识点的,在IDE中去做,要运行出结果来
  5. 设计综合示例(或者复制别人的示例),开发出来,运行出结果来
  6. 阅读开源的应用,可以到github上找,也可以到sourceforge上找,要把示例跑起来,熟悉功能,然后再对着功能看代码实现。这个期间,遵循先小后大的顺序。
  7. 做实际的能解决生活中某个问题的项目,通过这样的综合实践,加强对语言和框架的掌握,培养项目开发经验

我认为最基本的学习姿势就是:不断设计小目标,带着问题带着目标去学习,这样就能不断收到正向激励,容易学习下去

Java 目前还是多用于网站开发,下面就以 Java WEB 方向为主,一起来看看如果要成为一个合格的 Java Web 开发工程师,都需要掌握哪些基本知识技能。

一、Java 基础知识内容

Java 基础入门有需要Java课程及资料的可以私信博主免费领取噢

1.基础语法

- Java 概述及版本

- 常量

- 变量

- 数据类型

- 运算符

- 关键字和语句

- 方法

- 流程控制

- 数组

- 用户输入操作

2.面向对象

- 面向对象基本概念

- 类

- 构造函数

- 对象

- 封装

- 继承

- 引用与对象实例

- static

- 方法重载与重写

- 多态

- 构造器

- super

- this

- 接口

权限修饰符

- Package

- Scope

- final

- 内部类

3.常用类

- Random

- Date

- Calendar

- System

- ArrayList

- String

- StringBuilder

- Arrays

- Math

4.泛型与集合

- Collection

- 泛型

- List

- Set / HashSet

- Collections

- Map

- HashMap

- 算法

5.异常

- 异常概述

- Stack Trace / Call Stack

- 异常分类

- 声明及抛出

- 多个捕获

- 自定义异常

6.Lambda

- 什么是函数式编程

- Lambda 格式

- 函数式接口

- Predicate

- java.util.function

- Streams

- FlatMap

http://7.IO

- 文件

- 顺序读写

- 随机读写

- 文件操作

- 目录读取

- 字节流

- 字符流

- 转换流

- 高效流

- Stream 流

- NIO

8.数据库

- 数据库简介

- SQL 简介

- JDBC

- 创建数据库

- 数据库操作

执行查询

- 视图

- 事务

- 插入数据

9.调试和单元测试

- 调试概述

- 检查点

- Java 调试高级用法

- 单元测试概述

- JUnit

- Assert

10.正则表达式

- 简介

- 匹配

- And/Or/Not

Java 基础进阶

1.多线程

- Java多线程的介绍

- 一个线程的生命周期

- 线程的优先级

- 创建一个线程

- 通过实现Runnable接口来创建线程

- 通过继承Thread来创建线程

- Thread常用方法介绍有需要Java课程及资料的可以私信博主免费领取噢

2.网络编程

- Java网络介绍

- Socket编程

- Socket客户端实例

- Socket服务端实例

- ServerSocket类方法介绍

- Socket类方法介绍

- InetAddress类方法介绍

3.常用设计模式

- Java设计模式的介绍

- 单例模式讲解

- 工厂模式讲解

- 代理模式讲解

- 中介者模式

责任链模式

4.Java反射

- 什么是反射

- 反射能做什么

- 反射的具体实现

- 反射的总结

二、Java 开发工具

Tomcat入门基础

1.Tomcat简介

- Tomcat是什么

- Tomcat与其它Web服务器的区别

- Tomcat重要目录

- Web工程发布目录结构

2.Tomcat安装

- Windows环境下安装

- Linux环境下安装

3.tomcat常用配置项讲解

- Server node讲解

- Service node讲解

- Executor node讲解

- Connector node讲解

- Context node讲解

- Engine node讲解

- Host node讲解

- Cluster node讲解

4.Tomcat的使用

- Tomcat部署方式

- Idea中集成Tomcat以及使用

Jetty入门基础

1.Jetty简介

- Jetty是什么

- Jetty与其它Web服务器的区别

- Jetty的重要目录

- Web工程发布目录结构

2.Jetty安装

- Windows环境下安装

- Linux环境下安装

3.Jetty常用配置项讲解

- 创建Server

- 配置Connector

- 配置Hardler

- 配置Servlet

- 启动Server

4.Jetty的使用

- Jetty部署方式

- Idea中集成Jetty以及使用

Maven入门基础

1.Maven简介

- Maven是什么

- Maven的生命周期

- Maven的标准工程结构

- Maven的“约定优于配置”

- Maven的版本规范

2.Maven的安装配置

- 官方下载地址

- 配置环境变量

- 本地仓库配置

3.创建第一个Maven工程

- 配置Maven插件

- 配置Maven环境变量

- 创建Maven工程

- 使用Maven进行构建

4.使用指导

- 如何添加外部依赖jar包

- 如何寻找jar包

- 如何使用Maven插件

- 常用Maven插件

- 常用Maven命令

5.常见问题

- [ ] dependencies和dependencyManagement,plugins和pluginManagement有什么区别

Gradle入门基础

1.Gradle简介

- Gradle是什么

- 它有哪些优势

2.Gradle的安装配置

- 官方下载地址

- Gradle的安装

- 环境变量的配置

3.创建第一个Gradle工程

- 配置Gradle插件

- 配置Gradle环境变量

- 创建Gradle工程

- 使用Gradle进行构建

4.Gradle基本用法

- settings.gradle配置讲解

- build.gradle配置讲解

- 常用Gradle命令

三、MyBatis/Hibernate 框架

Mybatis入门基础

1. Mybatis简介

-Mybatis介绍

- Mybatis框架原理

- Mybatis与Jdbc、Hibernate的区别

2. Mapper.xml 详解

- CRUD标签

- “#{}和${}”

- resultMap

- sql片段

3. 配置文件

- 配置文件结构

- environments 环境配置

- 其他配置

4. 动态SQL

- if

- choose when otherwise

- where 和set

- foreach

5. 高级查询有需要Java课程及资料的可以私信博主免费领取噢

- 一对一查询

- 一对多查询

- 多对多查询

6. 搭建Spring Boot + Mybatis + Mysql + Maven项目

- 下载安装配置Mysql

- 创建Maven Spring Boot项目

- Spring Boot中集成Mybatis

- MVC层的代码编写

- 单元测试

hibernate入门基础

1. hibernate简介

- 什么是hibernate

- 与JDBC比较,hibernate有哪些优势

- Hibernate的原理结构

2. hibernate配置对象

- SessionFactory 对象

- Session 对象

- Transaction 对象

- Query 对象

- Criteria 对象

3. hibernate会话

- 会话

- Session接口方法讲解

4. hibernate映射类型

- 原始类型

- 日期时间类型

- 二进制和大数据对象

- JDK相关类型

5. hibernate O/R映射

- 集合映射

- 关联映射

- 组件映射

6. hibernate注释

- Entity注解

- Table注解

- Id 和 @GeneratedValue注解

- Column注解

7. hibernate查询语言

- FEOM语句

- AS语句

- SELECT语句

- WHERE语句

- ORDER BY语句

- GROUP BY 语句

- 使用命名参数

- UPDATE 语句

- DELETE 语句

- INSERT 语句

8. hibernate原生SQL

- 标量查询

- 实体查询

- 指定SQL查询

9. 搭建Spring Boot + hibernate + Maven项目

四、Spring基础/SpringBoot

Spring入门基础

1. Spring 概述

- 概述

- 使用Spring框架的好处

依赖注入(DI)

- 面向切面程序设计(AOP)

2. Spring 体系结构

- 体系结构

- 核心容器

- 数据访问

- Web

3. Spring 环境配置

- 安装 JDK

- 安装 Apache Commons Logging API

- 安装 idea

- 安装 Spring 框架库

4. Spring Hello World实例

- 创建java项目

- 添加必须的jar包

- 创建源文件

- 创建bean的配置文件

- 运行程序

5. Spring IoC 容器

- Spring BeanFactory 容器

- Spring ApplicationContext 容器

- Spring Bean 定义

- Spring Bean 作用域

- Spring Bean 生命周期

6. Spring 依赖注入

- Spring 基于构造函数的依赖注入

- Spring 基于设值函数的依赖注入

- Spring 注入内部 Beans

- Spring 注入集合

7. Spring Beans 自动装配

- Spring 自动装配 `byName`

- Spring 自动装配 `byType`

- Spring 由构造函数自动装配

8. Spring 基于注解的配置

- Spring @Required 注释

- Spring @Autowired 注释

- Spring @Qualifier 注释

- Spring JSR-250 注释

- Spring 基于 Java 的配置

9. Spring 框架的 AOP

- Spring 中基于 AOP 的 XML架构

- Spring 中基于 AOP 的 @AspectJ

10. Spring JDBC 框架

- Spring JDBC增

- Spring JDBC删

- Spring JDBC改

- Spring JDBC查

11. Spring 事务管理

- Spring编程式事务管理

- Spring申明式事务管理

12. Spring Web MVC 框架

- [ ] Spring Web Hello World例子

- [ ] Spring MVC表单处理例子

- [ ] Spring页面重定向例子

- [ ] Spring异常处理例子

Spring boot实战有需要Java课程及资料的可以私信博主免费领取噢

1. Spring Boot 初尝:第一个 Spring boot 项目

- Spring Boot介绍

- maven构建Spring Boot项目

- Spring Boot实现 WEB 项目

2. Spring Boot中集成Mybatis

- 添加Mysql和Mybatis的依赖包

- application.properties中添加数据库配置

- Controller、Service、Dao中编写增、删、改、查方法

- 在对应的Mapper.xml中编写增、删、改、查语句

- Junit测试

3. Spring Boot中集成Redis

- 添加Redis的依赖包

- application.properties中添加Redis配置

- 封装RedisTemplate的RedisUtil类

- Spring Boot整合Redis Cluster集群

- Service调用RedisUtil类,编写增、删、改、查方法

- Junit测试

4. Spring Boot中集成RabbitMQ

- 添加RabbitMQ的依赖包

- application.properties中添加RabbitMQ配置

- 封装RabbitMQ的RabbitConfig类

- 创建生产者

- 创建消费者

- Junit测试

五、Spring Cloud 入门基础

Spring Cloud 实战

1. Spring Cloud介绍

- 什么是微服务架构

- 与单体系统的区别

- 为什么选择Spring Cloud

- Spring Cloud简介

2. Spring Cloud Eureka服务治理

- Spring Cloud Eureka简介

- Eureka Server

- Service Provider

- 测试

3. Spring Cloud Ribbon负载均衡

- Ribbon是什么

- LB方案分类

- Ribbon的主要组件与工作流程

- Ribbon的核心组件

- Ribbon提供的主要负载均衡策略介绍

- 改造 Provider

- 改造Ribbon Consumer

- 开启服务负载均衡

- 测试负载均衡

4. Spring Cloud Feign申明式服务调用

- Feign简介

- 导入第三章中的的Eureka Service作为服务注册中心

- 导入第三章中的Eureka Provider作为服务提供者

- 在项目中添加Feign Consumer配置和依赖

- 测试服务

5. Spring Cloud hystrix容错保护

- 什么是断路器

- 断路器示意图

- 导入第三章中的的Eureka Service作为服务注册中心

- 导入第三章中的Eureka Provider作为服务提供者

- 在项目中添加Ribbon Hystrix配置和依赖

- 测试断路器

6. Spring Cloud Zuul网关服务

- 什么是服务网关

- 为什么需要服务网关

- 服务网关技术选型

- 新建spring-cloud-zuul-service 项目

- 添加相关依赖

- 开启服务注册

- 添加配置

- 测试访问

7. Spring Cloud Config分布式配置中心

- Spring Cloud Config简介

- 新建Config Server项目

- 添加相关依赖

- 开启服务注册

- 添加配置

- 测试服务

8. Spring Cloud Bus消息总线

- 消息总线

- 消息代理

- RabbitMQ简介

- 安装RabbitMQ

- 新建Config Server项目、添加依赖和配置

- 新建Config Client项目、添加依赖和配置

- 测试服务


以上内容,主要是针对 Java 技术领域需要掌握的知识内容。但是我们需要认识到,要成为一个合格的 Java Web 开发工程师。仅仅单方面了解 Java 方向的知识是不够的。作为计算机的基础知识体系。必要的数据库知识、计算机网络、操作系统的内容都是必不可少的技能。暂时先不展开进行说明,后续有需要再进行补充。

大体需要掌握的知识内容,有了一个清楚的认识了。那么我们接下来开始说说如何学习这些内容吧!有需要Java课程及资料的可以私信博主免费领取噢

1.针对基础知识的学习,还是建议能够选择一本比较系统的书籍进行学习。这样能够对各方面的理解以及系统的框架有比较清晰的认识。

2.针对常见的框架内容,最权威的教程,当然是官方的文档作为参考是最佳了。当然了如果觉得官方文档有一定难度,也可以选择市面上一些通俗点的书籍和教程。

当然,题主也提到了看视频教程和代码能看懂 ,但是自己写不出来的问题。解决这个问题,还是得多练。刚开始写代码可能问题较多,比较痛苦,但是熟练后应该会轻松不少。下面根据大纲内容,给你按照由浅入深整理了实验楼的 Java Web 课程内容,希望你能够在实验楼这种边看教程边写代码的模式中,轻松掌握 Java 相关的知识技能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值