-
50-70万占5.42%
-
30-50万占54.05%
-
20-30万占18.92%
-
20万以下占21.62%
2019年IT行业年度薪酬占比 (平均年薪)
-
互联网/IT
-
专业服务
-
金融
-
文化/体育/娱乐
-
电子/通讯
-
教育培训
-
房地产/建筑
-
广告/传媒
-
非盈利机构/其他
-
消费品
2020年第一季度主要行业JMPI指数 (- -级行业)
据IDC统计,全球约有1850万名程序员,中国占10%。随着近年全国互联网创业热潮的兴起,“互联 网+”、“云计算"以及“智能硬件”等 领域发展迅速, 市场对程序员的需求更为旺盛。普遍认为,程序员是一份待遇优厚的职业。
-
简单性
Java语法是C++语法的“纯净”版本,没有头文件、指针运算等 -
面向对象
Java只支持类之间的单继承,但是可以使用接口来实现多继承 -
其他
Java是在解释器中运行的,速度较多数交互式运用程序提高很多 -
移植性
只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行 -
安全性
严格遵循面向对象的规范,封装了数据细节,只提供接口给用户 -
多线程
Java语言支持多个线程同时执行,并提供多线程之间同步机制
以“真实互联网项目”贯彻全部课程
- + 阶段一: Java零基础入门26门课 · 课程总时长:43小时 · 练习题:380 · 大作业:4 · 考试:3 · 教辅资料:121第1周第2周第3周第4周第5周第6-7周环境搭建与语法入门
本周是Java入门的第一步,学习Java语法规则,锻炼编程思维,学会环境搭建,掌握Java程序的执行流程。
课程安排:1、Java基本概念介绍
2、Windows和Mac下开发环境搭建
3、数据类型、变量和常量的使用
4、Java中多种运算符的应用
5、选择结构的执行流程与应用
6、使用运算符和选择与循环结构进行编程
Java语法之循环、数组与方法本周将继续学习语法基础,掌握循环结构、数组和方法的语法规则和应用,最后通过案例对所学知识进行综合应用。学完本周内容可以进行简单的程序逻辑开发。
课程安排:1、基础语法综合案例——数组移位与统计
2、while、do-while和for三种循环结构的使用
3、嵌套循环的应用
4、break和continue语句的特点及应用
5、如何进行程序的调试,debug的使用
6、一维数组和二维数组的应用
7、Java自定义方法和方法调用
8、大作业——学生成绩管理
面向对象之封装与继承面向对象是开发中非常重要的思想,在本周我们将学习到面向对象三大特征中的封装与继承,开始运用面向对象思想进行程序开发。
课程安排:1、封装综合案例——学生信息管理
2、类的定义和对象的创建
3、理解构造方法的概念,并进行应用
4、封装的特点,应用代码实现程序的封装
5、包的创建和导入
6、静态变量和静态方法的应用
7、大作业——部门员工管理
8、继承的概念和特点,父类和子类的概念及应用
9、方法重写的特点及使用
10、通过super关键字对父类方法进行调用
面向对象之单例模式与多态本周将继续学习面向对象中重要的概念,并能够进行代码实现,学完后可以利用面向对象思想开发更复杂的应用。
课程安排:1、所有类的父类Object类的使用
2、使用final关键字定义最终类
3、现阶段开发中涉及到的常用注解的使用
4、单例模式的定义和使用
5、懒汉模式和饿汉模式的特点及代码实现
6、向上转型和向下转型的概念和应用
7、接口和抽象类的定义和使用
8、成员内部类、静态内部类、方法内部类和匿名内部类的应用
9、大作业——使用多态完成马戏团动物表演
常用工具类(上)工具类是Java为我们提供的一些类,可以直接应用于程序开发中。学习工具类不但要学习常用工具类的使用,还要学会阅读工具类的文档,这是开发中非常重要的技能。
课程安排:1、使用try-catch-finally处理异常
2、理解throw和throws的区别,会使用自定义异常和异常链
3、包装类的基本使用,理解装箱和拆箱的概念
4、字符串处理类String和StringBuffer的基本使用和应用场景
5、集合List、Set、HashMap及实现类的特点和应用
常用工具类(下)本周将继续学习常用工具类,通过案例学习复杂业务逻辑的开发,同时实现增删改的功能,为后续课程内容的学习打下扎实的基础。
课程安排:1、阶段综合案例——播放器管理
2、使用Comparator和Comparable两个接口对集合进行排序
3、泛型的使用,包括泛型作为方法参数、自定义泛型类和泛型方法
4、线程的创建,理解线程的生命周期
5、线程同步的使用和如何进行线程间通信
6、使用字节流和字符流进行数据传输
7、应用序列化和反序列化对对象进行读写
8、大作业——学生管理系统
- + 阶段二: 从网页搭建入门Java Web19门课 · 课程总时长:49小时 · 练习题:290 · 大作业:2 · 考试:3 · 教辅资料:70第8周第9周第10-11周第12周第13-14周前端基础之HTML与CSS
前端知识是进行Java Web开发的必备基础,本周将入门前端,学习HTML常用标签和CSS样式,能够应用盒子模型进行布局管理。
课程安排:1、HTML的基本结构和字体、标题、列表、图片等常用标签的使用
2、表格和表单标签使用,二者嵌套使用进行简单布局管理
3、CSS的基本使用和常用样式
4、CSS伪类和伪元素的区别和应用
5、CSS的各种选择器及其应用
6、浮动和定位的使用
7、使用盒子模型进行页面布局管理
前端基础之JavaScript与综合案例JavaScript中是前端的重要基础知识,主要用于数据校验和特效展示。本周将学习JavaScript的基础知识,能够独立完成静态页面开发。
课程安排:1、前端综合案例——企业门户网站首页开发
2、JavaScript变量、运算符、程序控制语句等基本语法
3、JavaScript常用函数和自定义函数
、JavaScript数组的基本使用
5、使用JavaScript对表单元素进行操作
6、使用JavaScript开发简单计算器
7、大作业——校园网首页开发
Java Web基础从本周开始进入Java Web基础知识的学习,这将是一个新的阶段,要注意概念的理解,多动手练习体会开发流程。基础很重要,对于以后职业发展非常有好处,一定要重视。
课程安排:1、XML文件的结构和约束
2、对XML文档进行读写操作
3、掌握Web项目开发流程,独立进行项目开发和运行
4、JSP九大内置对象的使用
5、重定向和转发的区别和应用
6、session和cookie的区别和使用
7、使用JSTL和EL表达式对集合数据进行展示
8、大作业——商品信息管理
常用功能与过滤器在Web开发中还会有一些常用功能的应用,比如局部刷新数据、表单数据校验等,这些功能是由特定的技术来完成,Web基础和这些技术结合,开发出具有良好体验的项目。
课程安排:1、JSON基础语法和FastJSON的应用
2、jQuery的常用语法及应用
3、正则表达式基本语法,完成常见数据验证
4、过滤器的生命周期和开发流程
5、使用过滤器解决中文乱码问题
6、过滤器链的概念和使用
7、使用过滤器完成多端设备自动适配的功能开发
监听器与项目实战接下来继续学习Java Web技术,并学习Web阶段第一个综合项目。通过该项目学会前后台结合的项目开发,掌握项目结构设计,为后续课程内容的学习做准备。
课程安排:1、阶段综合案例——Java Web实现企业门户网站前后台开发
2、监听器的概念和应用场景
3、使用过滤器完成请求流量分析统计和静态数据预加载功能开发
4、使用ECharts完成动态图表开发
5、FreeMarker模板引擎的基本语法和开发步骤,以及与Servlet进行整合开发
6、MVC设计模式的特点和使用
7、项目结构的分层设计
8、大作业——MVC模式完成图书管理系统
- + 阶段三: Java数据库开发与实战18门课 · 课程总时长:49小时 · 练习题:180 · 大作业:2 · 考试:2 · 教辅资料:65第15-16周第17周第18周第19周第20-21周第22周MySQL基础
本周开启Java数据库开发,按照数据库基础——JDBC和MyBatis框架为主线进行学习。接下来的两周主要学习数据库的设计,并结合MySQL学习数据库基本操作。SQL语句的书写是重点,一定要熟练掌握。
课程安排:1、根据数据库规范设计数据库
2、数据库的创建、表的创建和修改等操作
3、数据表的增删改查等基本操作
4、数据库的数字、日期时间、字符等常用函数使用
5、事务的ACID属性和隔离级别
6、SQL文件的导入和导出
Java数据库开发基础JDBC是非常重要的数据库基础知识,是后续数据库框架学习的基础!本周围绕JDBC的基础知识展开学习,应用数据库连接池提升性能,使用DBUtils工具类提高开发效率。
课程安排:1、IntelliJ IDEA开发工具的使用
2、使用JDBC实现数据的增删改查
3、使用PreparedStatment对数据进行预处理,防止SQL注入漏洞
4、数据库连接池Druid和C3P0的使用
5、使用Apache的数据库工具类DBUtils简化代码开发
6、大作业——新闻管理系统
框架前置知识在框架学习前要了解工厂模式和反射的内容,并要学会使用Maven进行管理,还会涉及到Lambda表达式的代码,因此我们把这些知识点放到本周来学习,为框架学习打好基础。
课程安排:1、Maven的常用命令
2、在IntelliJ和IDEA两种开发环境下创建Maven项目
3、工厂模式中简单工厂和工厂方法的特点及应用
4、反射的基本概念和四个反射类Class、Field、Method、Constructor的使用
5、Lambda表达式的基本语法
6、Lambda表达式的静态方法、实例方法、对象方法和构造方法的的引用
7、Stream API的创建、中间操作和终止操作
MyBatis基础本周开始学习MyBatis框架,这也是我们接触的第一个框架。从框架增删改查的基本操作到缓存、批处理等进阶知识点都会在课程中涉及。学习过程中注意框架与之前知识的不同,跟着老师的节奏编写代码。
课程安排:1、MyBatis开发的基本流程
2、MyBatis参数传递
3、MyBatis多表关联查询
4、使用logback进行日志管理
5、使用动态SQL语句进行稍复杂的逻辑开发
6、MyBatis一级缓存与二级缓存的概念和应用
7、MyBatis对象关联查询
8、使用PageHelper插件进行数据分页
9、使用MyBatis进行数据的批量插入和删除
10、MyBatis常用注解
MyBatis实现OA系统项目实战接下来的两周,我们来对MyBatis的知识进行综合应用,完成企业OA项目的实现。 OA项目是第一个与MySQL数据库进行交互的Web项目,意在掌握一个完整的数据库应用分析与设计、开发过程。
课程安排:1、需求分析到数据库的设计至建表的过程
2、手把手搭建底层开发框架
3、基于工作流程开发一个完整的员工请假与审批应用
4、使用RBAC权限模型完成基于角色的权限控制
5、使用动态SQL确定不同角色访问的数据范围
6、使用LayUI框架实现后台页面开发
7、使用MD5加密算法保证数据的安全性
8、大作业——图书后台管理
Linux环境搭建与Redis应用在实际开发中,项目最终要被部署到Linux环境下,本周我们就会学习如何将企业OA项目部署到Linux下,并使用Redis进行数据缓存,提高访问速度。
课程安排:1、CentOS 7系统、以及客户端工具Xshell和XFtp的下载和安装
2、Linux系统目录结构和常用命令
3、文本编辑工具vim
4、使用tar命令进行文件压缩和解压缩
5、使用Bash shell开发自动运维程序
6、使用yum进行软件安装卸载
7、Linux的网络设置
8、Linux下安装、部署并运行Web应用
9、Redis下载安装、基本配置和常用命令
10、使用Jedis对Redis进行操作
- + 阶段四: 从SSM到SpringBoot 项目实战13门课 · 课程总时长:42小时 · 练习题:60 · 大作业:2 · 考试:2 · 教辅资料:50第23-24周第25周第26周第27-28周第29周Spring基础
本阶段将开启Spring家族的框架学习,本周会重点学习Spring框架中的控制反转IoC、依赖注入DI和面向切面编程AOP的内容。框架部分的概念比较抽象,要结合案例进行理解,先学会使用,再进行深入学习。
课程安排:1、Spring IoC、DI和AOP等核心概念
2、Spring实例化和管理Bean的方式
3、Spring注解分类和常用注解应用
4、Spring AOP开发与配置流程
5、Spring五种通知类型与应用场景
6、PointCut切人点表达式的语法规则及应用
7、JDK动态代理和CGLib代理的执行过程及区别
8、JdbcTemplate的使用步骤与增删改查实现
9、声明式事务与编程式事务的区别及开发流程
10、理解声明式事务七种事务传播行为
11、导入交易流水账单案例
Spring MVC基础本周的学习重点是SpringMVC,能够开发RESTful风格的API。至此,SSM框架的基础知识就已经学习完毕,后面将开启整合开发的学习,进行企业级项目开发。
课程安排:1、SpringMVC开发流程与环境配置
2、SpringMVC数据绑定的实现
3、使用RESTful开发规范开发API
4、使用SpringMVC解决跨域问题
5、SpringMVC拦截器的基本使用
6、使用SpringMVC拦截器开发用户流量统计功能
SSM开发社交网站本周会使用SSM实现“仿豆瓣”社交项目,该项目是SSM阶段最重要的项目,也是一个前后台分离的项目,使用移动端展示前台。该项目是我们学习的第一个企业级项目,业务需求也比之前更加复杂,动手写代码更加重要。
课程安排:1、项目的需求分析,用例设计,流程图绘制和数据库设计
2、使用MyBatis-plus敏捷开发插件实现数据的增删改查操作
3、使用Ajax+腾讯ArtTemplate模板进行热门图书查询
4、基于MyBatis实现分页查询,并实现上拉"加载更多"功能
5、采用Redis对访问的图书内容进行缓存
6、用户评价、回复和点赞功能实现
7、应用阿里云短信验证实现注册登录
8、使用Web富文本编辑器进行在线编辑
9、实现评价/回复的后台审核功能
、大作业——图书后台管理系统的短评管理及登录功能
Spring Boot电商项目实战接下来的两周我们将迎来重量级的电商项目,该项目源于企业真实应用,前后端彻底分离,带我们体验企业级开发流程,凭此一项综合实战,足以叩开企业大门。能
课程安排:1、采用前后端分离模式进行开发,覆盖企业开发需求分析、设计、编码、测试和上线全流程能
2、实现用户管理、商品分类管理、商品信息管理、购物车、订单管理等电商核心功能能
3、数据库设计与实现能
4、应用RESTful进行接口设计,并使用Postman进行接口测试能
5、应用MyBatis generator代码自动生成插件,提升开发效率能
6、使用阿里云完成项目的线上部署能
7、使用Swagger2构建强大的API文档能
8、使用Log4j 2进行日志管理能
9、使用Redis对商品分类信息进行缓存能
10、使用JSR-303实现请求参数校验能
面试学习完前面的内容,已经可以满足公司对企业级开发的需求了。为了帮大家准备面试,本周专门为大家设计了面试指导课程,介绍面试中的注意事项,对常见面试问题进行解析。
课程安排:1、面试前的准备,常见问题的解答方式及建议
2、面向对象的特点、类的执行顺序、Java异常体系
3、String与字符串常量池,String与StringBuffer的区别
4、List与Set集合的区别,TreeSet排序,hashCode与equals的区别与联系
5、垃圾回收与JVM内存
6、Servlet执行流程和生命周期
7、请求与响应结构、重定向与转发的区别
8、Spring的核心概念
9、MyBatis的缓存机制
- + 阶段五: Java分布式与微服务实战12门课 · 课程总时长:30小时 · 练习题:50 · 大作业:1 · 考试:2 · 教辅资料:38第30-31周第32周第33-34周第35周多线程与分布式
本周开始第五阶段的内容学习,主要包括分布式与微服务。这些内容也是互联网公司进行开发需要用到的知识点,知识深度也比之前有所提高,学习过程中要注意跟着视频进行操作。
课程安排:1、线程池的基本使用和状态
2、ThreadLocal的基本使用、原理和注意事项
3、分布式核心概念
4、docker的下载、安装和基本命令
5、独立制作docker容器
6、Nginx的安装、基本使用和常用命令
7、使用Nginx搭建文件服务
8、消息队列RabbitMQ的核心概念queue、message和exchange
9、RabbitMQ的四种交换机模式
10、Spring Boot整合RabbitMQ案例
Spring Cloud基础本周进行微服务的课程学习,通过案例完成对SpringCloud基础知识的介绍。
课程安排:1、微服务的基本概念、设计与拆分原则
2、微服务和Spring Cloud的关系
3、微服务常见的组件和功能
4、课程查询案例基本介绍、系统架构设计和接口设计
5、分模块构建Spring Cloud项目
6、完成课程列表、课程价格等服务开发
7、课程服务整合,利用服务注册与发现机制,完成课程查询基本功能
8、整合Feign实现服务间调用
9、网关的集成与开发,并接入服务
10、引入服务的熔断与降级,并进行实操演练
Spring Cloud电商实战下面的两周对Spring Boot电商项目进行重构,应用Spring Cloud进行项目开发,理解服务拆分规则,锻炼微服务项目实战开发能力。
课程安排:1、服务拆分过程分析和经验分享
2、完成用户、商品、购物车和订单等服务开发
3、通用common模块的拆分和应用
4、Eureka server注册中心开发,用Feign完成服务之间的调用
5、共享Session的处理方案
6、统一网关的集成与开发
7、大作业——在项目基础上动手完成广告系统模块开发
Zookeeper+Dubbo应用与面试本周对Dubbo和Zookeeper的应用进行介绍,区分它们与Spring Cloud的异同。最后同样安排了面试课程,对常见的面试问题进行总结。
课程安排:1、Zookeeper的下载、配置与运行
2、数据结构node与常用命令
3、Watcher机制和权限acl介绍
4、使用Zookeeper的Java原生客户端和Curator进行开发
5、RPC调用,在Dubbo架构下各服务的关系
6、整合Dubbo和Zookeeper
7、完成Dubbo开发案例
8、单例模式的多种写法和对比
9、如何选型Dubbo和Spring Cloud
10、阐述Spring Cloud核心组件
企业需求调研+超一线核心研发团队 ,缺一不“课”
-
app终端
小红书分类信息 -
微信开发
微信支付/红包 -
物联网
无人超市/车间 -
秒杀拼购
京东618秒杀 -
智能办公
阿里钉钉 -
智慧交通
滴滴拼车 -
社交
知乎/豆瓣/脉脉 -
游戏
英雄联盟 -
大数据处理
12306平台 -
电子税务
外汇智能核算 -
移动支付
手机安全支付 -
物流
仓储/订单追踪 -
招聘
智联招聘 -
门户信息
58同城 -
房屋租售
租房网/链家 -
跨境电商
天猫全球购 -
医院
网络挂号/分诊 -
商业5G
移动/电信/联通 -
电商
京东商城 -
视频
抖音短视频 -
旅游
携程/途牛 -
WebApp与混合
开发 -
金融
中国银行 -
企业级应用
阿里巴巴
持续学习 理论+实战实力 涨薪每一步
《Java从入门到精通》,作为一本Java技术的入门书,它是绝对出色的。语言通俗易懂,一个星期就能让你明白怎么用Java语言写程序,此书对于没有任何编程语言基础的同学非常友好。
《Effective Java》这本书和《Java编程思想》一样被称为神书,主要讲的是Java的一些优化技巧和规范,高级进阶书,治愈代码洁癖,让你的代码像一件工艺品!内有程序员必看必会必懂案例。
系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能。
这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述,市面上并发编程的书比较少,这一本推荐阅读。
讲师教授内容严谨、实用,一切以真实提升学员实战能力为导向
- 01 Java是什么
在学习Java的过程中会学到HTML5、 css、SpringBoot、SpringCloud、SpringMVC、MyBatis-Plus、Maven+Docker等知识,再加上Java的跨平台特性,很多企业也会用Java来开发网站、网页。
- 02 JAVA有什么优势
作为一种最流行的网络编程语言之一,Java语言在当今信息化社会中发挥了重要的作用。Java语言具有面向对象、跨平台、安全性、多线程等特点,这使得Java成为许多应用系统的理想开发语言。
- 03 java能自学吗
学Java并不容易,如今企业对Java程序员要求已经提高,学习Java并不是努力就够了的,还要有一个好的学习方法,如果你没有一个好的学习方法,那么你的努力也许就是白费的。
- 04 Java工程师需要具备哪些能力
必须要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目,现在企业看重的是你有没有实际的开发经验,真正开发经验的体现就是你做的项目。