最近在入坑Java,Java基础知识了解的差不多了,听过很多人的建议,但是从别人那里听到的都是一些比较琐碎的东西,根据打听来的,结合网上自己找到的建议,开始详细地记录一下初学Java,应该掌握哪些具体的内容?

总的说来包括以下八点内容:

1.Java基础入门

2.Java高级阶段

3.数据库和JDBC

4.Html&Javascript

5.Jsp&Servlet

6.Spring MVC框架

7.Spring框架

8.MyBatis框架

相信初次看到上面这些内容的人都很头大,有的词听都没有听到过,更别谈理解了,接下来就来看看这些内容都是关于哪些方面的知识。

Java基础入门

Java基础是新手的敲门砖,千里之行,始于足下,基础打好,以后学习就会一帆风顺了。那么Java基础具体要学习哪些内容呢?

1.Java简介

  • 了解什么是Java;代码语法基本格式;输出表达式。
  • 了解Java的大致编译以及执行过程。

2.Java语言基础、循环、数组;了解类和对象。

  • 掌握Java的基本数据类型和引用数据类型有哪些。
  • 掌握强制数据类型转换和自动类型提升规则。
  • 常量如何声明及赋值。
  • 循环的语法及作用。
  • 掌握类的概念及什么是对象。

3.OOP封装、继承、多态

  • 面向对象的三大特征。(这块内容非常重要,相对来说较为难以理解)

4.java.util.* 包下的常用类。

  • lang包下的基本数据类型对应的包装类(Byte, Short, Integer, Long, Double, Float, Character, Boolean);
  • 字符串相关的类String、StringBuffer、StringBuilder.

5.IO流操作,多线程以及Socket

  • 掌握IO读写流相关的类,了解字节流,字符流和字符流缓冲区;
  • 掌握线程的概念,多线程的创建、启动方式,锁和同步的概念及运用;
  • 掌握Socket通信的概念,如何声明客户端服务端,如何完成双端通信;

6.数据库基础(Mysql)及JDBC

  • 掌握数据库的基本概念,Mysql的安装、启动与停止;
  • Mysql数据库客户端的安装与使用;
  • JDBC的概念,在Java中使用Mysql驱动包连接Mysql.

通过第一阶段的学习掌握Java语法和常用类,数据库入门技术相关知识。让自己对于存储,IO,这些有个大概的了解。这时候,暂时不需要花大量的精力以及篇幅去学习多线程和Socket,当然这里不是说他们不重要,而是对于现阶段的你,或许很难非常清晰的明白以及了解他们具体的作用。这里第一节忽略掉了Swing,Swing章节的内容可以不学,因为在实际的工作中基本上没有用武之地。新手在第一阶段的学习是最难熬的,因为这个阶段需要记的东西特别多,但是又不像看小说一样,什么东西都能看明白,建议大家先过一遍基础内容,不明白的地方可以先放一边,回头可以慢慢捡。此外,不建议开始学就抱一本书在那里慢慢啃,可以找一些讲的比较好的视频跟着学。

Java高级阶段

学习了java的基础知识后,下面我们就进入java的高级阶段,这个阶段的内容其实不仅仅只是学习java,还包括作为一个java程序所必须掌握的其他知识,比如XML,Linux等等,当然我们也会学习到java的一些高级内容,包括:泛型、对象的克隆、枚举、foreach循环、可变参数、静态导入、日志文件、反射和元数据Annotation这部分的内容有些比较难理解,在以后的编程中我们会不断使用这些技术,如果你不想一直做一个菜鸟,那么必须好好理解这些技术,另外我们也得简单学习一下设计模式。Java高级阶段需要学习一下内容:

1.XML的简介和语法认识

  • XML的简介;
  • XML的语法;
  • XML的文档构建模块的定义;

2.数据建模和java解析XML的多种API

  • 使用java的Dom4J解析XML和封装javaBean对象;
  • 使用java的Dom4J操作XML;
  • 使用SAX解析XML文档;

3.Java高级内容

  • 泛型;
  • 对象的克隆;
  • 枚举;
  • foreach循环,可变参数和静态导入;
  • 日志文件;
  • 反射;
  • 元数据Annotation;

4.设计模式简介

  • 什么是设计模式;
  • 代理模式;
  • 单例;
  • 简单工厂模式;

数据库和JDBC

虽然我们主要学习是java和android的开发,但是百分之八十的应用程序都离不开数据库。尤其是java的应用程序,大部分的数据都是保存在数据库中,作为程序员不可能不接触数据库的。大家千万不要轻视这个阶段的内容,可以说如果你的数据库没有学好,就算你的java学得再好也不会有公司要你的。我们也是从零基础开始简介数据库的,先了解一下什么是数据库,数据库的发展历史。然后我们将会重点以Oracle数据库作为学习对象,学习基本sql语言,并了解如何设计数据库等,重点会学习数据库的查询。然后我们就会进入jdbc的学习,比较sql语言还是需要嵌入到程序中,那么就需要认真学习一下jdbc,我们会深入的学习如何使用jdbc链接数据库,同时也会重点讲解一下如何封装一个BaseDao类,以更方便的操作数据库。接着我们会学习一下数据库的高级内容,包括:PL/SQL简介、和语句块结构、条件结构、循环、游标、函数、触发器和存储过程等等。

1.数据库介绍和oracle的安装:

  • 数据库简介

  • oracle的安装

  • 增删改等操作的封装

  • 客户端介绍

  • 基本sql的认识

2.建表操作和约束的定义:

  • 建表操作

  • 定义约束

  • 约束的操作

  • 外键约束

3.数据库建模理论:

  • E-R图的设计

  • 三大范式

  • PowerDesigner进行数据库建模

4.基本查询:

  • oracle自增和简单查询

  • 条件查询和排序

  • 分组查询

5.增删改操作和高级查询:

  • 增删改

  • 集合查询

  • 子查询

  • 多表连接查询

6.备份事务和其他数据库介绍:

  • 导入和导出

  • 事务

  • mysql等其他数据库的介绍

7.JDBC入门:

  • jdbc的连接步骤

  • Resultset查询

  • oracle等其他数据库连接

  • PrepareStament

8.BaseDao封装和连接池:

  • Basedao封装和应用

  • 事务

  • 连接池c3p0和DBCP

9.批处理、高级BaseDao的封装:

  • 批处理和元数据

  • 通过反射完成resultSet到Object的转换

  • 高级BaseDao封装

10.PLSQL入门:

  • PL/SQL简介

  • 条件结构

  • 循环

  • 游标

11.函数、触发器和存储过程:

  • 函数和视图

  • 触发器

  • 存储过程

  • 使用JDBC访问存储过程

html&javascript

从这个阶段开始我们就会进入一个崭新的阶段了,就是学习如何做基于web网络的应用程序,当然这个阶段我们还不会涉及到服务器端的知识,我们先学习一下客户端的相关知识,web应用程序的客户端一般就是指浏览器了,浏览器的基本知识主要就是包括html、css和javascript,这三个知识必须一起使用才能做出丰富多彩的客户端。

1.html标签,超链接和表格:

  • 理论学习和配置tomcat

  • html初步认识

  • 常用的html标记

  • table的基本介绍

2.表单和框架css和div:

  • 表单

  • 框架

  • css入门

  • 网页排版实战

3.javasctipt入门:

  • js入门

  • 基本语法和基本对象

  • 时钟实现

  • 计算器的实现

4.javascript常见示例:

  • 数组和(全选全不选)

  • 级联

  • 表单验证

  • js修改html的css样式

5.javasctipt的框架:

  • json

  • jqeuery入门

  • jquery示例

jsp&servlet

这个阶段无疑是一个重点中的重点。因为我们就要学习javaEE的知识了,也就是服务器端的知识,我们会对jsp和servlet的相关知识进行一个非常详细和深入的学习,有关web方面的概念非常多,而且和我们以前的C/S结构差异也非常大,需要面对的问题也更加复杂,但是大家必须要对着个阶段的所有的知识点都牢固掌握。虽然以后我们开发项目的时候也许很少直接就是使用jsp和servlet,但是对我们下一个框架学习阶段来说这里的知识点是非常重要的,只要这个阶段大家学好的话,那么理解后面的框架就会很简单了。

1.什么是JSP页面:

  • jsp的实质是什么?

  • jsp的页面元素

  • 内置对象

  • 示例

2.servlet 详解:

  • get和post方法提交,mvc三层模式介绍和servlet的生命周期

  • mvc演示和手动建立servet

  • 转发和重定向和用户列表的示例

  • 注册示例

3.EL 表达式和服务器的作用域:

  • jstl和EL表达式

  • 服务器端作用域

  • 示例1、dao层的实现

  • 示例--完成登录操作和条件查询

  • 示例3-增删改

4.过滤器和实战:

  • 过滤器
  • 分页实现——数据库的分页

  • 分页实现——分页的dao实现

  • 分页实现——分页的页面实现

5.常见示例:

  • 验证码

  • 事件监听器.

  • 上传文件

  • tomcat部署项目

三大框架的变迁

从这个阶段开始,我们就进入java框架的学习了,之前比较流行的是SSH框架,分别代表Struts、Spring和Hibernate三个框架,当然这三个框架并不是同一个公司的,只是一个比较松散的结合而已。

其中Struts框架以前指的是Struts1框架,不过现在使用的人已经慢慢减少了,而且Apache对Struts1也不再发布新版本了,所以现在一般指的是Struts2框架。Struts2框架是目前非常流行的MVC框架,它是一个免费、开源框架,使用struts2我们可以建立一个扩展性良好的现代javaweb网络应用程序,我们只需要简单的配置就可以搭建出一个非常专业的MVC框架了。Struts2是是在WebWork的技术基础上开发了全新MVC框架,虽然和Struts1名字有点类似,但是其实和Struts1的关系比不是很大。当然我们在学习Struts2框架的过程中也会接触到更多的web应用程序高级知识,比如:验证框架,国际化应用等等。

Spring框架是一个非常神奇的框架,因为它把一切高深的知识都变得非常简单,你会感觉它什么都做,好像也什么都没有做。初学Spring会给它很多概念吓着了,但是如果你继续学习,你会发现其实Spring的使用是非常简单。相信你会喜欢上Spring框架的。Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,目的是为了解决企业应用开发的复杂性,使用基本的JavaBean代替EJB,并提供了更多的企业应用功能,不仅仅是在web中使用,Spring可以在任何java应用程序中使用。

Hibernate是一个开源的对象关系映射框架。它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用面向对象编程思维来操纵数据库。因为长久以来,java等编程语言都是使用面向对象的思维,而数据库表都是使用面向关系的,这两个思维总是感觉有一堵墙一样。对象映射就是像把所有的表都是用对应的Pojo对象进行映射,其实你会发现我们一直都是这样做的,只是Hibernate做得更完美。Hibernate也是可以在任何java应用程序中使用,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

现在已经用SSM框架来替代SSH框架了,SSM是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。

Spring MVC属于Spring Framework的后续产品,已经融合在Spring Web Flow里面,它原生支持的Spring特性,让开发变得非常简单规范。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。可以这么理解,MyBatis是一个用来帮你管理数据增删改查的框架。

新手学习Java,该从哪里学起?的更多相关文章

  1. 新手学习java路线

    关于新手学习java的路线 笔者也是根据这个路线学习的,希望对你们有所帮助. 首先你要确定你是学习java 并且能够踏踏实实的走下去.一定要多学习,我也可以一直陪你走下去的. 笔者一年工作经验,科班毕 ...

  2. 零基础新手学习Java必须知道的市场行情

    Java如今的市场不如从前,竞争很大,工资非常高,标准非常高,想要胜任一份高薪的工作不是那么容易,只有掌握最新的行情才能更好的了解Java,才能更好的在这个领取发展,让新手小白了解Java市场行情如下 ...

  3. 新手学习Java,如何快速从入门到精通!

    首先我要给你说的是,任何一个东西从零到精通,都是需要一个过程的,就相当于我们在小学的时候学乘法口诀表,背文言文一样,都是需要我们慢慢的去渡过这个阶段,我们才能慢慢的掌握,其次,毕竟这是一门编程语言,你 ...

  4. 给新手学习Java的建议

    有很多的朋友都在问我一个同样的问题:新手应该如何能学好Java.我做了一个简单的总结,分享给大家: 1-信念:无论你是选择JAVA,C,C#,C++....还是其他的语言编程,信念是第一位,只有相信自 ...

  5. 【软帝学院】女生不适合学习java?其实女生学java更有优势,更好就业!

    女生适合学java吗?女生做IT怎么样 首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见. 不少人潜意识里认为女生不适合从事IT开发岗位的工作,因为他们 ...

  6. 通过这些示例快速学习Java lambda语法

    对于那些不熟悉函数式编程的人来说,基本的Java lambda语法起初可能有点令人生畏.但是,一旦将lambda表达式分解为它们的组成部分,语法很快就会变得有意义并变得非常自然. Java中lambd ...

  7. JavaSwing仿QQ登录界面,注释完善,适合新手学习

    使用说明: 这是一个java做的仿制QQ登录界面,界面仅使用一个类, JDK版本为jdk-11 素材包的名字为:素材(下载)请在项目中新建一个名字为“素材”的文件夹. 素材: https://pan. ...

  8. 新手如何学习java(java学习建议路线图)

    怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:     首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). ...

  9. Java新手学习路线

      转自网络     分享个JAVA学习路线[新手可以参考看下]觉得不好的,大家可以提出来我补充. 第一阶段 技术名称 技术内容 J2SE(java基础部分) java开发前奏 计算机基本原理,Jav ...

随机推荐

  1. 6.iptables常用规则

    开启ip段192.168.1.0/24端的80口 开启ip段211.123.16.123/24端ip段的80口 # iptables -I INPUT -p tcp --dport 80 -j DRO ...

  2. HTML-★★★★★表单★★★★★

    表单 <form id="" name="" method="post/get" action="负责处理的服务端" ...

  3. java面向对象概念2

    一.理解“万事万物皆对象”. 1.在java语言范畴中,我们都将功能.结构等封装到类中,通过类的实例化,来调用具体的功能结构. 2.涉及到java语言与前端html.后端的数据库交互时,前后端的结构在 ...

  4. 线性代数与simplex

    线性方程组: \(i:1-n\) \(j:1-m\) \({\begin{cases}a_{11}x_1+a_{12}x_2+a_{13}x_3+\cdots+a_{1n}x_n=b_1\\a_{21 ...

  5. adb的常用命令及如何查看被占用的端口

    adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...

  6. JRebel idea 热部署

    下载链接:https://pan.baidu.com/s/1CUvEarKVARJF46LJ2W90Lg 提取码:s46w 下载完以后是个ZIP(jr-ide-intellij-7.1.5_13-17 ...

  7. Android中判断service是否在运行

    /** * 判断服务是否开启 * * @return */ public static boolean isServiceRunning(Context context, String Service ...

  8. JDK,JRE,JVM的基础理解

    1.JVM -- java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类 ...

  9. springboot整合security实现基于url的权限控制

    权限控制基本上是任何一个web项目都要有的,为此spring为我们提供security模块来实现权限控制,网上找了很多资料,但是提供的demo代码都不能完全满足我的需求,因此自己整理了一版. 在上代码 ...

  10. MySQL查询操作select

    查找记录 SELECT select_expr [,select_expr ...] [ FROM table_references(表的参照) [WHERE where_condition](条件) ...