零基础怎么学Java
Java开发工资这么高,我能不能学Java呢?零基础怎么学Java呢?这是很多人想要了解的问题。首先,小编可以明确的告诉大家,零基础是可以学Java的,至于怎么学这个问题,请往下看。
零基础怎么学Java
Java作为一门面向对象的编程语言。其学习是有一定难度的,如果大家确定要学习Java,那么需要做好长期学习、学习会遇到困难的准备。如果你做好了这些准备,那么就让小编教你零基础学Java吧。想要零基础学Java,那么建议你需要准备好学习路线图、学习资料、答疑解惑的人这三点。
学习路线图:任何编程语言都是一个系统学习过程,因此你需要找到一份准确的Java学习路线图,这样才能开始你的Java学习。这是因为你是零基础学Java,对Java语言并没有接触过,这时候就需要一份Java学习路线图,告诉你先学什么东西,后学什么东西。这样才能避免想学习却无从下手的尴尬场景。
学习资料:既然是学习,那么可能是需要学习资料的,而这个资料也比较广泛,文档、PPT、视频等等都可以。不过需要注意一点,那就是这些资料都是完整的。一是每个知识点的内容是完整的,不要出现看到一半就没有或者需要付费等情况。二是学习资料**好是整套的,由一个人录制或者撰写的,而不是东拼西凑出来的。
学习本来就是一个系统过程,如果资料是东拼西凑的,你将很难理解作者的意图。比如学习资料是多个版本拼凑的,那么可能出现一个知识点,这个老师认为应该放在后面讲,另外一个老师认为应该放前面讲,到你这可能就是漏过了,这样的学习你认为能学会Java吗?
答疑解惑的人:既然是零基础学Java,那么在学习过程中肯定会遇到问题,这时候你就应该有一个能够帮你答疑解惑的人。上百度谷歌查答案耗时而且还不能找到完全正确的答案,太麻烦。 如果你有了学习路线图、学习资料、答疑解惑的人,那么是可以零基础学Java的。
【阶段一】Java编程
Java基础
开发简单的java应用程序 | 软件的概念、计算机语言的发展、dos常用命令,java概述、jdk与jre、path与classpath环境变量的配置和理解、helloJava程序入门(notepad编写)、单行注释、多行注释、文档注释 |
变量和数据类型 | 变量的声明与使用、标识符命名规范、8大基本数据类型与引用类型、进制的介绍与转换、数据类型的转换 |
运算符 | 表达式概念、算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符、运算符优先级 |
条件结构 | 简单if、简单if…else、嵌套if、多重if、switch条件结构 |
循环结构 | while、do…while、for、break和continue、多重循环 |
数组 | 数组的概念、数组的静态,动态初始化、冒泡排序法、插入排序法、选择排序法、线性查找法、二分查找法、Arrays类使用、二维数组的定义与初始化、数组在内存中的分配原理 |
面向对象编程 | 类和对象概念、对象的创建、方法的声明、方法的执行过程、OverLoad(重载)、变量的作用域、String对象的声明操作、Java内存管理机制、封装概念、UML类图、构造方法、this关键字、static关键字、package(包)、继承、super关键字、OverRide(重写)、final关键字、多态、静态绑定与动态绑定、对象的上下类型转换、Object对象常用方法、抽象类、模板方法设计模式、接口、面向接口的编程思想、简单工厂设计模式、单例设计模式((懒汉式、饿汉式)、策略设计模式 |
Java高级
高级特性 | 内部类概念、成员内部类、静态内部类、匿名内部类、局部内部类、自动装拆箱、枚举类、String、StringBuffer、StringBuilder、Date和SimpleDateFormat类、Canlendar、GregorianCalendar、Math、Random、正则表达式 |
异常处理 | 异常概念、异常分类、异常处理机制、受查异常和非受查异常、try-catch-finally、throw关键字、throws关键字、自定义异常、异常注意事项 |
泛型 | 泛型简介、泛型类、泛型方法、限制泛型可用类型、类型通配符 |
IDE | IDE介绍和Eclipse使用、debug程序调试、junit单例测试 |
集合 | 集合框架的层次结构、Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList类、LinkedList类、Map接口、HashMap类、HashMap底层原理、TreeMap、Comparator和Comparable接口、Set接口、HashSet类、TreeSet类、Collections类的使用。 |
反射 | 反射的概念、类加载的原理、反射属性、反射方法、反射加载配置文件的原理、反射创建对象。 |
多线程 | 进程和线程的概念、多线程概念,掌握多线程的实现方案,如何获取和设置线程名称、线程的生命周期、如何解决线程安全问题、线程同步、Lock锁、死锁问题、线程间通信、线程的状态及状态转换、线程池概念与作用。 |
IO | IO框架介绍、File类的使用、IO流的分类、字节流、字符流、字节缓冲流、字符流、字符缓冲流、打印流、标准输入输出流、对象序列化流、随机访问流、Properties集合、装饰(包装)设计模式 |
网络编程 | 网络基本概念、网络编程的三要素,Socket原理机制、UDP传输、TCP传输、URL编程等。 |
注解 | Annotation简介和标准、常用的java注解、自定义注解、反射注解中的属性 |
XML与json入门 | XML简介、XML的基本语法、XML创建、命名空间概念、DTD和schema的了解、DOM解析、SAX解析、DOM4J解析、XPath的使用、JSON概念、JSON语法、JSON对象、JSON数组、JSON解析 |
阶段贯穿项目:影院订票管理系统、ATM银行管理系统、多人聊天室
【阶段二】数据库开发
Oracle数据库
关系型数据库基础 | 关系型数据库的概念、Oracle简介、Oracle**与安装、Oracle的卸载、Oracle的组成 |
查询语句 | SELECT查询基础语法、*通配符、查询指定列、查询中的算数表达式、NVL函数对null值进行替换、列别名、DISTINCT、ORDER BY ASC/DESC、WHERE 条件中的运算符、BETWEEN…AND、IN、模糊查询、查询中的逻辑运算符、描述条件的优先规则 |
单行函数 | 函数简介、字符函数、数值函数、日期函数、转换函数 |
多表查询 | 多表查询的概、联接类型、检索自然联接的记录、给多表设定别名、 USING 子句创建联接以确定各表之间的特定列、 ON 子句指定任意条件或指定要联接的列、掌握外部联接类型 LEFT、RIGHT 和 FULL |
组函数 | 对组函数进行描述和分类、使用组函数、将 DISTINCT 关键字与组函数配合使用,如何使用组函数处理 NULL、使用 GROUP BY 子句创建数据组、使用多个列来分组数据、使用组函数避免非法查询、使用 HAVING 子句排除数据组 |
子查询 | 子查询的概念、查询结果作为另一个查询的数据表,查询结果作为另一个查询的条件、如何编写高效的sql。 |
数据建模和数据库设计 | 系统开发概念、数据库设计的关键因素、实体关系建模、实体间关联关系的类型、三级范式 |
DDL语句 | 创建表结构(create table)、字段数据类型、约束(主键约束、外键约束、默认约束、检查约束等)、删除表(Drop table)、修改表结构(Alter table)、对表进行重命名等 |
DML语句 | INSERT语句、update语句、delete语句、事务 |
Oracle数据字典 | 使用数据字典查询有用数据、查询各种数据字典 |
常见数据库对象 | 创建视图、从视图中获取数据、创建、维护和使用序列、创建和维护索引、创建同义词(SYNYM)、创建存储过程、掌握触发器、数据备份与还原 |
阶段课程项目: 亚马逊在线书城数据库设计、友邦保险CRM数据库设计、去哪玩数据库设计
JDBC
JDBC基础 | JDBC简介、JDBC驱动的原理及使用、JDBC核心使用、DriverManager、Connection、Statement、ResultSet详细使用,JDBC的CURD操作、防止SQL注入及PrepareStatement使用。 |
JDBC高级 | ORM思想、一对多映射关系、连接池介绍、C3P0、DBCP连接池使用。DBUtils介绍、DbUtils类的使用、QueryRunner类的使用、ResultSetHandler详解、DBUtils实现事务的处理。 |
阶段课程项目: 二嗨租车系统、backStone(数据库备份还原系统)
【阶段三】Web前端开发
Web前端页面开发
HTML | HTML简介,HTML的整体结构、文本标签、行级标签、块级标签、字体标签、列表标签、图片标签、超链接标签、表格标签、表单标签、DIV标签、HEADER标签、多媒体标签。 |
CSS | CSS简介、CSS导入方式(内部样式表、内联样式表、外部样式表)、CSS选择器(ID选择器、类选择器、元素选择器、属性选择器、伪类等)、CSS字体和文本相关属性、CSS边框和背景相关属性、CSS列表和表格相关属性、CSS常用伪类别属性、盒子模型和元素定位(float、position)、DIV CSS实战 |
课程案例:彩妆热卖产品列表、带按钮的轮播广告、 美容产品热点、 商品分类
课程项目:新疆旅游网站、新品游戏网站
Web前端脚本和框架开发
JavaScript | JavaScript简介、JavaScript语法、Javascript数据类型、运算符、表达式、流程控制,JavaScript内置对象、数组、字符串、日期时间、数学函数、正则表达式,JavaScript函数、Javascript自定义函数、Javascript创建对象的方式、BOM介绍、DOM介绍、方法和事件、事件对象、使用DOM操作HTML文档、遍历文档树上的节点、搜索文档中特定的元素、修改文档内容、往文档添加新内容、使用DOM操作 XML文档。 |
jQuery | jQuery简介、JQuery对象与DOM对象的转换Jquery选择器介绍(基本选择器、层次选择器、基本过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单选择器、JQuery操作DOM操作、查找元素/属性节点、创造元素/属性/文本节点、插入节点、删除节点、复制节点、替换节点、包裹节点、属性操作、样式操作、遍历节点、CSS-DOM操作;动画和事件:jQuery中的事件、加载DOM、事件绑定、合成事件、事件冒泡、事件对象的属性、移除按钮上注册的事件、模拟操作、JQuery中的动画、JQuery插件的使用 |
EasyUI | EasyUI概述、常用UI控件学习(Layout、Menu、Tree、DataGrid、Calendar)、后台管理页面实战 |
课程案例: 带按钮的轮播广告、带关闭按钮的浮动广告、对联浮动广告制作、多级菜单的制作、右下角延时广告弹出窗口、
制作伸缩菜单导航条、 百叶窗推拉效果、 画廊、照片墙、、图片放大镜、仿淘宝图片左右切换
阶段课程项目:cloud教育平台系统(前端开发)
【阶段四】JavaEE基础开发
Servlet
Web简介 | Internet介绍、B/S、C/S、HTTP协议详解 |
Servlet基础 | WEB服务器的工作原理、Tomcat的安装与启动运行、Tomcat的体系结构、Tomcat部署web应用的三种方式、设置目录的默认网页、使用Tomcat配置虚拟主机、WAR文件生成与使用。 |
Servlet生命周期 | Servlet API和Servlet生命周期、Servlet生命周期、servlet配置详解、访问servlet路径分析、ServletConfig使用及servlet初始化参数的使用、ServletContext使用、系统初始化参数、web资源获取。 |
Servlet表单处理 | HttpServletRequest处理表单、POST和GET请求的乱码处理、请求转发和重定向 |
会话跟踪 | 会话的概念、Cookie及Cookie的应用、Session的概念、Session跟踪机制、利用Session防止表单重复提交、Session的持久化、URL重写 |
过滤器与监听器 | 监听器介绍及使用、过滤器介绍、过滤器生命周期、过滤器链分析、FilterConfig介绍、邮件发送、自动登录功能的实现。 |
JSP
JSP介绍 | JSP简介、JSP与Servlet的关系、JSP页面的组成、JSP的执行过程、MVC模式的演变(Model 1、Model 2、MVC) |
JSP常见标签 | page指令及其重要的属性,在web.xml文件中设置全局错误处理。JSP常用隐式对象、JSP隐式作用域对象、JSP动作指令介绍。 |
EL表达式&JSTL标签库 | EL获得数据、EL执行运算、EL内置对象、EL函数,JSTL核心标签库、JSTL国际化标签库、JSTL函数。 |
AJAX
Ajax | AJAX简介、XMLHttpRequest对象详解、JQuery的AJAX、Ajax处理服务端返回的文本、XML和JSON格式的数据 |
WEB高级
Web强化 | MD5加密、分页、文件上传、**、动态代理 |
项目管理
SVN&Maven | 掌握SVN的配置和使用,Maven介绍及依赖管理;安装配置;核心概念、与第三方Eclipse的整合、Maven管理Web应用;Maven管理SSH应用;使用Maven进行测试及集成;掌握Maven在Java Web应用的配置、管理和使用等技术。 |
阶段贯穿项目:站内短消息应用系统、个人博客应用系统
阶段课程项目:亚马逊电商系统、 友邦客户关系管理系统
【阶段五】Framework和JavaEE高级开发
JavaEE高级框架开发
Hibernate | ORM简介、Hibernate概述、Hibernate开发步骤和运行过程、Hibernate核心API(Configuration、SessionFactory、Session概述、Transaction、Query和Criteria接口)、HQL检索方式、对象/关系数据库关联映射、持久化对象状态、Hibernate缓存(一级缓存、二级缓存) |
Struts2 | Struts2框架概述、工作原理与架构分析、6大配置文件分析、struts.xml详解及使用,使用通配符定义action、动态方法调用,ActionContext及ServletActionContext使用,模型驱动ModelDriven、属性驱动, Struts2文件上传,默认拦截器分析、自定义拦截器、OGNL表达式、值栈ValueStack分析及操作、Struts2标签。 |
Mybatis | Mybatis架构、Mybatis入门程序、Mybatis开发Dao、SqlMapConfig.xml配置、ParameterType输入映射、ResultType及ResultMap输出映射、动态sql、商品订单数据模型、关联查询(一对一、一对多、多对多)、延迟加载、查询缓存(一级缓存、二级缓存)、Mybatis与Ehcache整合实现二级缓存、Mybatis与spring整合、Mybatis逆向工程。 |
Spring | Spring框架概述,IoC思想、DI依赖注入、Bean的实例方式、Bean种类、Bean作用域范围、依赖注入、SpEL spring表达式、注解装配Bean、整合Junit测试、web开发集成Spring、AOP思想、使用AspectJ切面编程、JdbcTemplate模板使用、C3P0数据源配置、DBCP数据源配置、声明式事务管理、SSH整合。 |
Spring MVC | Spring mvc介绍、Web MVC应用、Spring web mvc架构、springMVC入门程序、非注解处理器映射器和适配器、注解开发处理器映射器和适配器、springmvc整合Mybatis、RequestMapping、Controller方法返回值、参数绑定、springmvc与struts2区别、springmvc上传图片、json数据交互、Validation、异常处理器、RESTful支持、拦截器。 |
框架整合 | SSH&SSM框架和项目配置管理Maven的集成开发(重构贯穿项目) |
阶段贯穿项目: OracleCRM系统、cloud云在线教育平台
毕业项目:Oracle在线教务系统、保险经纪平台、去哪玩旅游网、软件外包平台
JAVA就业前景
JAVA人才社会需求量大,根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达倒全部需求量的60%~70%。同时,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平。80%学员毕业后年薪都超过了5万元。Java平台以其移动性、安全性和开放性受倒追捧。
DateTime是否可以为null?
不能,因为其为Struct类型,而结构属于值类型,值类型不能为null,只有引用类型才能被赋值nul
using() 语法有用吗?什么是IDisposable?它是如何实现确定性终结的。
有用,实现了IDisposiable的类在using中创建,using结束后会自定调用该对象的Dispose方法,释放资源。不明白什么是确定性终结
ASP.NET在Windows XP, Windows 2000, Windows 2003上分别跑在哪个进程里面?
Xp : aspnet_Wp.exe
Windows 2000 : aspnet_Wp.exe (多谢 Tristan提示更正)
Windows 2003 : w3wp.exe
Java目前前景怎么样?还能继续学吗
目前智联,boss,拉勾网的招聘来看,java的需求量还是排名**,但是这个需求是有前提条件的,就是需要有工作经验,因为你没有工作经验,公司就会认为你没有开发项目的能力,自然不会要你,所以你在学习中,一定要培养自己的经验,什么是经验?就是多多遇到问题,然后解决问题,这就是解决,也可以成为解决问题的能力。有人说Java饱和了,这是绝对不可能的,只能说你现在竞争大,学习的人,质量差了而已。所以很多人说找不到工作。其实他自己啥都不会。这只是针对一线城市而言,相对于二三线城市来说对于实际开发经验是稍微的放松的。
Java就业方向:走向管理者
很多程序员都希望走向管理者的职位,无论是从收入还是在公司上班的地位都有相对较高一点。有些程序员年复一年的编程工作,对工作也产生抵触情绪,希望摆脱这种步步紧逼的工作状态。也许会有很多人觉得很难,但软件公司的管理者毕竟不同于一般公司的管理者,专业能力越强,管理起来就越得心应手的,没有专业能力的管理,遇到的问题很多,也很难解决。因此,先要打好基础,这样成功的几率就会高一点。
相关推荐: