本文目录一览:
新手学JAVA都要学哪些知识啊
这样的问题,我已经回答了很多次,现在很多新手,特别是刚刚进入学生的学生,不知道该从哪里入手,我整理了一些java的知识点,一共分为一个阶段,273个技能点,第一阶段、第二阶段、第三阶段、第四阶段是必须要掌握的,第五阶段和第六阶段就是高薪、高职的保障,就说说想高薪必须得把后面两个阶段的给掌握了。
第一阶段:java基本功修炼
- 认识计算机硬件
- 计算机组成原理
- 计算机软件知识
- 计算机网络知识
- 常用网络应用操作
- 认识计算机病毒
- 逻辑训练
- 初识Java
- 变量和数据类型
- 选择结构
- 循环结构for
- 循环结构do-while
- 循环结构while
- 多重循环及程序调试
- 循环进阶
- 一维数组及经典应用
- 二维数组
- 认识类与对象
- 方法及方法重载
- 封装与继承
- 方法重写与多态
- 项目实战-汽车租赁系统
- 抽象类和接口
- 异常
- 项目实战-QuickHit
- Java 中的集合类型
- List 集合
- Set 集合
- HashMap 集合
- Iterator
- Collections 算法类及常用方法
- enum
- 包装类及装箱拆箱
- String、StringBuffer 类常用方法操作字符串
- Date、Calendar
- Math 类常用方法
- IO/NIO
- 字节输入流(InputStream、FileInputStream、BufferedInputStream)
- 字节输出流(OutputStream、FileOutputStream、BufferedOutputStream)
- 字符输入流(Reader、InputStreamReader、FileReader BufferedReader)
- 字节输出流(Writer、OutputStreamWriter、FileWriter、BufferedWriter)
- 文件复制
- Serialize、Deserialize
- 职场晋升力:四象限时间管理与精力管理
- 多线程(Thread、Runnable)
- Thread LifeCycle
- 线程的调度
- 线程的同步和死锁
- Thread Pool
- 职场晋升力:团队合作
- Socket(TCP、UDP)
- XML 概念、优势、规范
- XML 中特殊字符的处理
- 使用DOM 读取、添加、删除、解析 XML 数据
第二阶段:javaweb开发
- 搭建和配置MySQL 数据库
- 数据库增、删、查、改语句
- 事务
- 视图
- 数据库备份与恢复
- 数据库用户管理
- 数据库设计
- 项目实战-银行ATM 存取款机系统
- 走进 HTML 和CSS
- 列表表格及表单美化
- CSS 高级操作
- Bootstrap
- CSS 组件
- JavaScript 面向对象
- JavaScript 判断、循环
- JavaScript 闭包
- JavaScript 语法
- Bootstrap 综合案例
- HTML5、CSS3
- jQuery 基础
- jQuery 基本操作
- jQuery 事件与特效
- jQuery Ajax
- jQuery 插件
- 搭建Web 环境初识JSP
- JSP 九大内置对象
- JSP 实现数据传递和保存
- JDBC
- 单例模式、工厂模式
- MVC、三层模式
- Commons-fileupload、CKEditor
- 分页查询
- EL 与 JSTL
- Servlet 与Filter
- Listener 与MVC
- Ajax 与 jQuery
- jQuery 的Ajax 交互扩展
- 项目实战—使用Ajax 技术改进新闻发布系统
- 反射
- Linux 系统的安装
- 在Linux 中管理目录和文件
- 在Linux 中管理用户和权限
- 在Linux 服务器环境下安装软件和部署项目
- 职场晋升力:职场沟通
第三阶段:企业级框架开发
- MyBatis 环境搭建
- SQL 映射文件
- 动态SQL
- MyBatis 框架原理
- Spring IOC
- 构造注入、依赖注入、注解
- Spring 整合MyBatis(SqlSessionTemplate、MapperFactoryBean、事务处理)
- Spring 数据源(属性文件、JNDI)、Bean 作用域
- Spring 框架的运行原理
- SpringMVC 体系概念
- SpringMVC 之数据绑定、数据效验
- SpringMVC 之视图及视图解析
- SpringMVC 之文件上传、本地化解析
- SpringMVC 之静态资源处理、请求拦截器、异常处理
- Oracle 数据库环境搭建、安装
- Oracle 数据库 SQL、分页、备份、还原
- Hibernate 概念、依赖
- HQL 查询语言
- Hibernate 中配置关联映射
- HQL 连接查询与 Hibernate 注解
- Struts 2 概念、依赖
- Struts 2 配置
- OGNL 表达式
- Struts 2 拦截器
- SSH 框架整合
- 使用Maven 构建项目
- 使用Struts 2 实现Ajax
- Jsoup 网络爬虫
- 多线程网络爬虫
- 反爬及反反爬策略
- 通用爬虫设计
- Echart 图表分析
- IKAnalyzer 分词
- 企业框架项目实战-代理商管理系统
- 企业框架项目实战-SL 会员商城
- 企业框架项目实战-会员管理系统
- 企业框架项目实战-互联网招聘信息采集分析平台
第四阶段:前后端分离开发
- GitHub
- Git 基础(checkout、pull、commit、push、merge 等)
- Git 进阶(多分支协作)
- GitLab
- IDEA 的使用
- Maven 介绍(概念、仓库、构建、命令)
- 使用Maven 构建WEB 项目
- 使用Maven 构建多模块项目
- 使用Maven 搭建私服仓库
- Scrum 框架介绍(三个角色、三个工件、四个会议)
- Scrum Team 组建团队
- 产品需求和用户故事
- 每日立会
- 使用敏捷-Scrum 方式开发管理实战
- 前后端分离、分布式集群架构、垂直架构
- SSM(SpringMVC+Spring+MyBatis)整合实战
- Git、Maven 私服Nexus
- 第三方接入技术(微信、阿里)
- MySQL 电商实战
- Redis(缓存服务)
- 搜索引擎-Solr
- 集成API Doc 工具-Swagger
- 图片自动化处理:Tengine+LUA+GraphicsMagic
- 手机、邮箱注册
- 单点登录 Token
- OAuth2.0 认证
- Jsoup 网络爬虫(多线程爬虫/代理 IP 爬虫)
- ExecutorService 线程池
- IK 中文分词
- Postman
- ReactJS
- webpack
- 职场晋升力:简历撰写
- 程序猿面试宝典之项目面试
- 大型互联网旅游电商项目实战-爱旅行
第五阶段:分布式微服架构开发
- Spring Boot 环境搭建
- Spring Boot 常用技能
- Spring Boot 整合Redis
- Spring Boot 整合Mybatis
- 微服务架构及架构设计
- 消息队列 ActiveMQ\RabbitMQ
- 分布式事务
- 分布式锁 Redis-setnx
- Zookeeper 注册中心
- 基于 ActiveMQ 实现高并发
- Docker 环境搭建
- Docker 镜像加速
- Docker 容器管理
- Docker 镜像管理
- Docker 容器文件备份
- Dockerfile
- Docker 私服仓库
- 真实互联网高并发电商项目实战-双十一抢购
- 可视化监控 Portainer
- Docker Compose 容器编排
- Docker Compose 扩容、缩容
- Docker Swarm 集群编排
- Jenkins 安装、插件配置
- Jenkins 配置普通任务
- Jenkins 配置管道任务
- Jenkins 自动发布服务
- Spring Cloud Eureka
- Spring Cloud Feign
- Spring Cloud Ribbon
- Spring Cloud Zuul
- Spring Cloud Config
- Spring Cloud Hystrix
- Spring Cloud Sleuth
- Spring Boot Admin
- Eureka 注册原理探秘
- Spring Cloud 大坑解读
- Zipkin
- Zipkin 整合RabbitMQ
- Zipkin 整合MySQL
- ELK 日志收集
- Kafka
- Elasticsearch 映射管理
- Elasticsearch 查询/复合查询
- Elasticsearch 集群/集群规划
- Elasticsearch 聚合
- Elasticsearch 集群监控
- Elasticsearch 插件 (Head/BigDesk)
- Mycat 读写分离
- Mycat 一主多从
- Mycat 多主多从
- Mycat 数据分片
- Redis
- Redis-Redlock
- Elasticsearch 环境搭建
- Elasticsearch 客户端
- Elasticsearch 索引管理
- Elasticsearch 文档管理
- Mycat 集群
- Jmeter 并发测试
- Jmeter 生成测试报告
- 微信登录
- 微信支付
- 支付宝支付
- 百度地图
- Sonar 本地检测
- Sonar +Jenkins 线上检测
- CI/CD
- Spring Boot 改造爱旅行项目实战
- 大型互联网票务类电商项目实战-大觅网
- ES6 概念(les、const)
- ES6 对象和数组
- ES6 函数扩展
- VUE 环境搭建
- VUE.JS 指令
- VUE 交互
- VUE 实例生命周期
- VUE 组件
- VUE 项目环境配置及单文件组件
- VUE 路由
第六阶段:cc服务
- Spring Cloud Gateway
- Consul
- Nacos
- Eureka、Consu、lNacos、Zookeeper 对比分析
- Prometheus + Grafana
- ES 分布式存储原理
- NoSQL 数据库解决方案(Redis、MongoDB)
- OAuth2.0 认证( authorization code 模式)
- OAuth2.0 认证( implicit 模式)
- OAuth2.0 认证( resource owner password credentials 模式)
- OAuth2.0 认证( client credentials 模式)
- NAS/FastDFS 分布式文件存储
- Python 基础
- Python 爬虫
- 大数据及 Hadoop 概述
- 分布式文件系统 HDFS
- 分布式计算框架MapReduce
- 分布式列式数据库 HBase
- Hadoop 综合应用
- 面试大局观
- 职业规划
- 项目面试
- 具体业务场景化解决方案
- 更多技术专题持续增加中
想要系统学习java到底要学习哪些知识
一、java基础
学习任何一门编程语言,首先要学习的是基础语法,开启Java学习的第一步,当然就是深入掌握计算机基础、编程基础语法,面向对象,集合、IO流、线程、并发、异常及网络编程,这些我们称之为JavaSE基础。当你掌握了这些内容之后,你就可以做出诸如:电脑上安装的迅雷下载软件、QQ聊天客户端、考勤管理系统等桌面端软件。 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学习:
- 基础语法,可帮助你建立基本的编程逻辑思维;
- 面向对象,以对象方式去编写优美的Java程序;
- 集合,后期开发中存储数据必备技术;
- IO,对磁盘文件进行读取和写入基础操作;
- 多线程与并发,提高程序效率;
- 异常,编写代码逻辑更加健全;
- 网络编程,应用服务器学习基础,完成数据的远程传输。 学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。
技术树
二、数据库
互联网最具价值的是数据,任何编程语言都需要解决数据存储问题,而数据存储的关键技术是数据库。MySQL和Oracle都是广受企业欢迎的数据库管理系统。Java程序和数据库通信的最常见技术是JDBC,Druid和C3P0。学习这些数据库技术后,可以掌握数据库运维技术、复杂业务表结构设计规范、工作中常见的SQL操作、软件数据存储等。 数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。用于对交互过程中客户的数据进行存储。 该板块包括关系型数据库和非关系型数据库。 例如:MySQL、oracle、redis、MongoDB等。数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。
技术树
三、前端技术
浏览器展示给用户看到的网页就是前端,前端有三大基础技术分别为Html、CSS、JavaScript,这些学完后,为了做出更好、更炫的交互式体验效果,我们还需要学习jQuery、ElementUI、Vue、Ajax,以及打包工具webpack。学完这些技术后,我们可以开发微信小程序、响应式网站、移动端网站、开发类似京东一样的B2B2C商城、管理后台等。 Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门课程,是学习后面高进阶课程的基础。 首先,我们先看一下前端板块。该板块主要包括如下几个模块:
- HTML5,网页制作标记语言;
- CSS,对HTML制作网页进行美化;
- JavaScript,嵌入在页面中的脚本语言,具备逻辑性;
- Vue,前端框架,简化了与服务器端交互的操作,用户良好的交互体验是必不可少的。 学习前端技术后,可以完成类似京东、淘宝的前端工程的编写。
技术树
四、动态网页
掌握前端技术只能做静态网站,但它页面数据一成不变,而动态网站可以根据数据库中变更的数据实现不同的内容展示,应用更广泛,因此程序员必须要学会做动态网站。使用Java做动态网站,我们需要学习Servlet、Filter、Session、Cookie、JSP、EL表达式、JSTL等做动态网站的完整知识体系,学完可研发出OA系统、内容网站、BBS等。 动态网页是中级程序员服务器端编程的基础,是高级框架学习的必备课程,后期学习的框架、服务底层都是基于动态网页技术之上的。 该板块包括Javaweb核心技术、包括Servlet、Request、Response、Cookie和Session等,通过这些技术的学习可以完成动态站点开发,可更好的完成服务器端与客户的交互,让页面的数据“动”起来,做出小型的应用系统。
技术树
五、编程强化
前面学了JavaSE基础,但它在企业级应用中程序处理业务的效率并不高、扩展差,编程强化是对JavaSE基础的加强,将针对性的提高程序处理业务的执行效率、增强程序扩展性。编程强化将加强多线程高级学习,涉及线程内存、线程通信等技术。学完以后,能增加一个中级程序员的知识储备,无论在面试过程中还是将来技术的深入打一个良好的基础。 编程强化是对解决实际问题方面做一个深入的了解和应用,是对JavaSE基础的加强,对后期自动以框架和对一些服务框架的底层理解做支撑。 编程强化板块主要包括如下几个模块:
- 多线程高级、涉及线程内存、线程通信等;
- JVM优化,对JVM底层进行调优来提高项目执行效率;
- NIO,同步非阻塞IO来提高效率。 学习该阶段,可以对原有项目进行优化从而使程序更快更稳定。
技术树
六、软件项目管理
公司开发都是团队协同开发,为更好的掌握实际开发,我们还需要学习常用的项目管理平台、版本控制器、项目构建工具以及自动化部署工具。项目开发一定是有版本升级的,管理好项目进度和版本需要Git、Maven、Sonar这样的系统平台。学习完软件项目管理后,将掌握整个项目实际开发过程以及整个项目开发过程中所使用协同开发工具。 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学习:
- 基础语法,可帮助你建立基本的编程逻辑思维;
- 面向对象,以对象方式去编写优美的Java程序;
- 集合,后期开发中存储数据必备技术;
- IO,对磁盘文件进行读取和写入基础操作;
- 多线程与并发,提高程序效率;
- 异常,编写代码逻辑更加健全;
- 网络编程,应用服务器学习基础,完成数据的远程传输。 学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。
技术树
七、热门技术框架
Javaweb掌握后,已经具备企业中实际项目的开发能力了,但它开发效率低,代码量大,开发周期长、开发成本高。企业中广泛使用一些优秀的框架技术来解决上述问题,因此我们还需要学习框架技术,项目开发中主流的Java框架技术有SpringMVC、Spring、MyBatis、MyBatis Plus、SpringData等。这些框架技术都是一个优秀程序员所必备的技能。 使用Javaweb进行企业级开发是完全可以的,但是开发效率比较低,所以对常用的逻辑操作进行封装就形成了框架,因此框架是企业开发的入门技能。 热门框架板块主流框架有如下几个:
- Spring框架,占据统治地位,其生态系统涉及各个方面解决方案;
- MyBatis框架,使用ORM思想对数据库进行操作。 该板块学习后,就可以进行真实企业级项目开发了,做出的项目也会更加符合企业要求。
技术树
八、分布式架构
需要用到分布式微服务的技术。学习完该阶段课程,可以具备大型SOA架构和微服务架构能力,能掌握大型微服务项目必备技术和实际经验。企业发展过程中,业务量和用户量逐渐增加,为了保证系统的可用性,系统越做越复杂,研发人员增多,大家很难共同维护一个复杂的系统,往往修改部分内容,导致牵一发而动全身,所以我们需要升级系统架构, 随着互联网的发展,业务的复杂性和用户的体验性都需要提高,所以分布式架构出现了。该板块主要讲解的是分布式架构的相关解决方案。 主要包括如下模块:
- Dubbo,高性能的 RPC 服务发布和调用框架;
- SpringBoot,简化Spring应用的初始搭建以及开发过程;
- Spring Cloud,一系列框架的有序集合,如服务发现注册、配置中心、负载均衡、断路器、数据监控等。 该板块的学习,可以具备大型互联网项目开发的必备技术和实际经验,为进入BATJ打下基础。
技术树
九、服务器中间件
在分布式系统架构中,服务与服务之间的异步通信,是非常常见的需求之一,消息中间件的诞生正是为了解决这类问题。目前市面上的主流消息中间件有RabbitMQ、RocketMQ、Kafka,我们将学习这3个消息中间件,实现分布式项目中的异步通信。学习完这些后,可以实现分布式项目的异步通信、分布式应用日志收集、分布式事务等。 中间件板块是大型互联网项目中必备的。服务中间件可以帮助各子模块间实现互相访问,消息共享或统一访问等功能。其包括远程服务框架中间件,例如阿里(Apache)的RPC框架Dubbo等;消息队列中间件,例如:阿里巴巴开源分布式中间件RocketMQ、高吞吐量消息发布和流处理服务Kafka等。 学习服务中间件是中级JavaEE工程师必要技术,也是JavaEE架构师必须精通的技术。
技术树
十、服务器技术
程序开发完成后,我们把它们打包部署到服务器中运行,所以我们需要学习常见的服务器技术,常见的服务器有Linux和Window server,Linux性能高,是当前主流。我们写好的项目需要用一个软件运行起来,这个软件叫web容器,我们需要在服务器上安装web容器来发布项目,当前主流的web容器有tomcat、jetty、nginx、undertow。 不管是使用原生Javaweb进行开发,还是使用框架进行开发,项目最终需要对外发布才能供全世界的人访问到,而服务器板块就可以解决这个问题,所以服务器是项目发布的必要技术。该板块包括虚拟化和web应用服务器的学习,主要包括如下几个模块:
- Vmware,虚拟机软件;
- Linux,专门用于服务器的系统;
- Nginx,集群部署时反向代理服务器;
- Tomcat,项目发布时主要使用的服务器。 该板块学习后,我们就可以把开发好的项目发布到服务器中,然后供你的小伙伴远程访问了,超酷!
技术树
十一、容器技术
具备了服务器操作系统及web容器,我们就可以部署单机的站点,在分布式系统中,几十上百的服务,如果使用单机这种部署方式,会投入很高的人力,同时出错的几率也大。所以服务器虚拟化技术Docker也称为如今的必备技术了,Docker可以帮助运维人员实行快速部署,批量维护.使用Kubernetes实现自动化部署、大规模可伸缩、应用容器管理。 容器化技术是近两年超级火的一个专题,通过容器化技术可以对环境进行打包,方便移植,大大提高了开发效率。该板块包括容器化技术Docker和其平台管理引擎Kubernetes,其中,Docker 是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。而Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。通过该板块的学习,你可以通过上述技术快速搭建环境,节省开发时间,提高开发效率。
技术树
十二、业务解决方案
企业开发中会遇到一些通用的业务场景,诸如:搜索引擎、缓存、定时任务、工作流、报表导出、日志管理、系统监控等,那么这些通用的解决方案也有现成优秀的免费开源中间件,可供使用。诸如:ElasticSearch、Lucene、Solr、redis、MongoDB、slf4J、ECharts、Quartz、POI等。业务解决方案课程的业务方案和技术难点,解决了企业开发中90%以上的痛点和难点。 虽然我们已经具备了基础技术和高阶技术,但是要想与企业开发相接轨,还需要对实际项目的业务解决方案进行探究。而此版块就是在实际业务场景中的真实解决方案集合,常用的业务解决方案有如下:
- 搜索业务场景解决方案
- 日志收集与分析场景解决方案
- 工作流引擎场景解决方案
- 任务调度场景解决方案
- 地图开发平台场景解决方案
- 支付开放平台场景解决方案
- 图表可视化场景解决方案 通过分析实际业务来学习这个解决方案技术集,完全可以达到中级甚至高级工程师水平。
技术树
java学习路线大陆传送门
java培训都讲什么东西
如需java培训推荐选择【达内教育】,Java培训学习课程分四部分,大致如下:
- Java语言基础知识的学习与应用,掌握常见的数据结构和实用算法;
- 数据库的学习与应用,熟练使用oracle数据库;
- 熟练运用【Java脚本语言编程】,掌握HTML的基本原理与运用;
- 学习软件项目开发。 java是一门面向对象的编程语言。java语言具有功能强大和简单易用两个特征,具有简单性、面向对象、分布式等特点,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。 想了解更多有关java的相关信息,推荐咨询【达内教育】。作为国内IT培训的领导品牌,达内的每一名员工都以“帮助每一个学员成就梦想”为己任,也正因为达内人的执着与努力,达内已成功为社会输送了众多合格人才,为广大学子提供更多IT行业高薪机会,同时也为中国IT行业的发展做出了巨大的贡献。达内IT培训机构,试听名额限时抢购。
Java培训班一般都教什么内容?
Java培训一般会教下面四种内容:
- 掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。编程有关的操作系统基本使用,HTML5规范、HTML5文档结构、HTML5元素、Web语义化;CSS3规范、CSS3选择器、层叠与继承、盒模型与视觉格式化模型、现代CSS布局、CSS3基本属性千锋教育就有线上免费Java线上公开课。
- 掌握Java Web开发技术:Java开发中使用到的Web前端技术,HTML5+CSS3,JavaScript操作BOM和DOM,JQuery的选择器、事件处理、动画效果,MySQL数据库技术,JDBC技术、JSP、Servlet、EL和JSTL、过滤器和监听器、AJax异步请求等,Linux技术、SVN、Linux环境下项目发布部署等。
- 掌握使用流行框架SSM\SSH技术实现企业级项目开发:重点学习MyBatis、Spring、Spring MVC框架的应用,Git、Java设计模式等,重点学习Struts2 、Spring、Hibernate框架的应用,Maven、Oracle数据库应用技术,了解大数据生态体系,Hadoop基础入门。
- JavaWeb框架:Spring体系结构、Spring IOC、AOP、FactoryBean与BeanFactory、声明性事务处理、Spring 5新特性。Maven与Gradle的使用。Spring Boot自动配置、Spring Boot CLI与Initializr、Spring Boot Starter、Actuator。SpringMVC工作原理和工作流程;拦截器、数据绑定转换和格式化、全局异常处理、转发与重定向、AJAX请求处理如果想了解更多相关知识,建议到千锋教育了解一下。千锋教育目前在18个城市拥有22个校区,年培养优质人才20000余人,与国内20000余家企业建立人才输送合作关系,院校合作超600所。