学习java需要哪些知识才能去应聘工作?_ansongqianca1423的博客-程序员秘密

技术标签: java  测试  数据库  

首先我们学习Java需要有目标!应该知道先学哪些再学哪些 !不是盲目的去乱学去!

  • Java基础入门

  • Java高级阶段

  • 数据库和JDBC

  • Html&Javascript

  • Jsp&Servlet

  • Struts2框架讲解

  • Spring框架讲解

  • Hibernate框架讲解

  • 流行技术学习

1、Java入门基础

如果你没有任何的编程基础,那么本栏目的内容对你来说是至关重要的。打好基础,以后学习就会一帆风顺了。我们会先讲解了Java程序的开发环境的搭建、编写流程、工作原理等内容,接着学习有关Java编程的基本知识:包括变量、条件语句、循环语句、数组等内容,然后我们需要花几天的时间学习什么是面向对象。有了面向对象的基础后,然后我们可以分别学习jdk提供的包的各个常用类的使用,包括lang包,io包,util包等等。接着学习线程,swing和网络编程。最后我们会完成一个多人聊天项目,结束这个阶段。这部分的内容都比较重要,而且学习时间也比较长,入门总是比较难的,希望大家能够坚持下去。这部分内容必须非常熟练。

第一天、java开发环境的搭建和第一个java程序的运行:

  1. jdk的安装

  2. 第一个java程序——hello world

  3. java的运行原理

  4. 集成开发环境(IDE)介绍

第二天、变量、数据类型和运算符:

  1. 变量的声明和数据类型

  2. 基本数据类型的变量

  3. Java的表达式和运算符

  4. 运算符的优先级别

第三天、程序流程控制:

  1. 条件判断

  2. 循环结构

  3. 多重

  4. 循环和break、continue语句

  5. 数组

第四天、面向对象(1):

  1. 面向对象的基本概念

  2. 属性和普通方法

  3. 构造方法

第五天、面向对象(2):

  1. 继承

  2. 多态

  3. 访问修饰符

  4. static和final修饰符

第六天、面向对象(3):

  1. abstract抽象类

  2. 接口

  3. 问题总结;值传参,对象作为参数时的值传参

第七天、字符串(String)对象和数学(Math)对象:

  1. String字符串

  2. StringBuffer和StringBuilder

  3. Math类

第八天、java的异常处理:

  1. 异常的基本概念和处理流程

  2. 各种常见的异常

  3. 异常的嵌套和级联

  4. 自定义异常和throw、throws的使用。

第九天、java的工具(Util)包(1):

  1. Date类

  2. Calendar类

  3. Random随机数类

  4. ArrayList

  5. LinkedList

第十天、java的工具(Util)包(2):

  1. Set接口,HashSet实现

  2. TreeSet介绍

  3. Map接口和HashMap实现

  4. properties属性文件

第十一天、java的输入/输出(IO)包(1):

  1. File文件的基本操作

  2. 字节流

  3. 字符流

第十二天、java的输入/输出(IO)包(2):

  1. 带缓冲的流

  2. datainputstream和dataoutputstream

  3. randomaccessfile

第十三天、java的输入/输出(IO)包(3):

  1. serializable序列化

  2. 压缩与解压(1)

  3. 压缩与解压(2)

第十四天、线程:

  1. 线程概念和两种实现方法

  2. 线程示例和传参问题

  3. 线程的同步

  4. 死锁

第十五天、swing的简单介绍:

  1. swing的入门

  2. 实例讲解

  3. 控件、事件处理和布局介绍

  4. 弹出框和多个窗口之间的切换

第十六天、网络编程——socket的认识:

  1. 网络相关理论基础

  2. URL类统一资源定位和Inetaddress类简介

  3. socket的通讯

  4. 使用多线程监听多客户端

第十七天、多人聊天系统:

  1. 项目概述和界面设计

  2. 服务器端的实现

  3. 客户端实现

  4. Java高级阶段

  5. 学习java需要会哪些知识才能够去应聘工作?

  6. 学习java需要会哪些知识才能够去应聘工作?

    学习java需要会哪些知识才能够去应聘工作?

2.Java高级阶段

学习了java的基础知识后,下面我们就进入java的高级阶段,这个阶段的内容其实不仅仅只是学习java,还包括作为一个java程序所必须掌握的其他知识,比如XML,Linux等等,当然我们也会学习到java的一些高级内容,包括:泛型、对象的克隆、枚举、foreach循环、可变参数、静态导入、日志文件、反射和元数据Annotation这部分的内容有些比较难理解,在以后的编程中我们会不断使用这些技术,如果你不想一直做一个菜鸟,那么必须好好理解这些技术,另外我们也会简单介绍一下设计模式。最后,我们会把入门阶段的多人聊天项目部署在Linux服务器上,让大家更好体验java跨平台的特性

第一天、XML的简介和语法认识:

  1. xml的简介

  2. XML的语法

  3. XML的文档构建模块的定义

第二天、数据建模和java解析XML的多种API:

  1. 使用java的Dom4J解析XML和封装javaBean对象

  2. 使用java的Dom4J操作XML

  3. 使用SAX解析XML文档

第三天、java高级内容(1):

  1. 泛型

  2. 对象的克隆

  3. 枚举

  4. foreach循环、可变参数和静态导入

第四天、java高级内容(2):

  1. 日志文件

  2. 反射

  3. 元数据Annotation

第五天、设计模式简介:

  1. 什么是设计模式

  2. 代理模式

  3. 单例

  4. 简单工厂模式

第六天、linux的介绍和安装:

  1. Linux的简介

  2. Linux的安装

  3. 配置字符界面和客户端链接

  4. 文件操作

第七天、linux的文本编辑、jdk安装和基本软件安装:

  1. 用户和用户权限

  2. vi文本编辑器

  3. jdk的环境搭建

  4. 打包和部署

3.数据库和jdbc

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

第一天、数据库介绍和oracle的安装:

  1. 数据库简介

  2. oracle的安装

  3. 增删改等操作的封装

  4. 客户端介绍

  5. 基本sql的认识

第二天、建表操作和约束的定义:

  1. 建表操作

  2. 定义约束

  3. 约束的操作

  4. 外键约束

第三天、数据库建模理论:

  1. E-R图的设计

  2. 三大范式

  3. PowerDesigner进行数据库建模

第四天、基本查询:

  1. oracle自增和简单查询

  2. 条件查询和排序

  3. 分组查询

第五天、增删改操作和高级查询:

  1. 增删改

  2. 集合查询

  3. 子查询

  4. 多表连接查询

第六天、备份事务和其他数据库介绍:

  1. 导入和导出

  2. 事务

  3. mysql等其他数据库的介绍

第七天、JDBC入门:

  1. jdbc的连接步骤

  2. Resultset查询

  3. oracle等其他数据库连接

  4. PrepareStament

第八天、BaseDao封装和连接池:

  1. Basedao封装和应用

  2. 事务

  3. 连接池c3p0和DBCP

第九天、批处理、高级BaseDao的封装:

  1. 批处理和元数据

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

  3. 高级BaseDao封装

第十天、PLSQL入门:

  1. PL/SQL简介

  2. 条件结构

  3. 循环

  4. 游标

第十一天、函数、触发器和存储过程:

  1. 函数和视图

  2. 触发器

  3. 存储过程

  4. 使用JDBC访问存储过程

4.html&javascript

从这个阶段开始我们就会进入一个崭新的阶段了,就是学习如何做基于web网络的应用程序,当然这个阶段我们还不会涉及到服务器端的知识,我们先学习一下客户端的相关知识,web应用程序的客户端一般就是指浏览器了,浏览器的基本知识主要就是包括html、css和javascript,这三个知识必须一起使用才能做出丰富多彩的客户端。当然我们也不是要把大家培训成为一个网页的美工,所以有关图片的编辑等方面就不会讲解的了,如果大家对网页美工有兴趣,可以阅读其他的书籍。

第一天、html标签,超链接和表格:

  1. 理论学习和配置tomcat

  2. html初步认识

  3. 常用的html标记

  4. table的基本介绍

第二天、表单和框架css和div:

  1. 表单

  2. 框架

  3. css入门

  4. 网页排版实战

第三天、javasctipt入门:

  1. js入门

  2. 基本语法和基本对象

  3. 时钟实现

  4. 计算器的实现

第四天、javascript常见示例:

  1. 数组和(全选全不选)

  2. 级联

  3. 表单验证

  4. js修改html的css样式

第五天、javasctipt的框架:

  1. json

  2. jqeuery入门

  3. jquery示例

5.jsp&servlet

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

第一天、什么是JSP页面:

  1. jsp的实质是什么?

  2. jsp的页面元素

  3. 内置对象

  4. 示例

第二天、servlet 详解:

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

  2. mvc演示和手动建立servet

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

  4. 注册示例

第三天、EL 表达式和服务器的作用域:

  1. jstl和EL表达式

  2. 服务器端作用域

  3. 示例1、dao层的实现

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

  5. 示例3-增删改

第四天、过滤器和实战:

  1. 过滤器

  2. 分页实现——数据库的分页

  3. 分页实现——分页的dao实现

  4. 分页实现——分页的页面实现

第五天、常见示例:

  1. 验证码

  2. 事件监听器.

  3. 上传文件

  4. tomcat部署项目

第六天、项目实战:

  1. 购物系统需求分析

  2. 数据库设计

  3. 导入界面和新建项目

第七天、项目实战:

  1. 商品类别管理

  2. 商品管理

  3. 首页的分页

第八天、项目实战:

  1. 购物车

  2. 确认下单

  3. 订单查询

第九天、项目实战:

  1. 自适应mysql和oracle(1)

  2. 自适应mysql和oracle(2)

  3. 邮件的发送

6.Struts2框架讲解

从这个阶段开始,我们就进入java流行框架的学习了,目前比较流行的还是SSH框架,分别代表Struts、Spring和Hibernate三个框架,当然这三个框架并不是同一个公司的,只是一个比较松散的结合而已。所以我们可以分别进行学习。其中Struts框架以前指的是Struts1框架,不过现在使用的人已经慢慢减少了,而且Apache对Struts1也不再发布新版本了,所以现在一般指的是Struts2框架。

Struts2框架是目前非常流行的MVC框架,它是一个免费、开源框架,使用struts2我们可以建立一个扩展性良好的现代javaweb网络应用程序,我们只需要简单的配置就可以搭建出一个非常专业的MVC框架了。Struts2是是在WebWork的技术基础上开发了全新MVC框架,虽然和Struts1名字有点类似,但是其实和Struts1的关系比不是很大。

当然我们在学习Struts2框架的过程中也会接触到更多的web应用程序高级知识,比如:验证框架,国际化应用等等。

第一天、自定义MVC三层框架:

  1. 自定义MVC三层框架思路

  2. 实现MVC三层框架

  3. 自定义三层框架的使用

第二天、搭建Struts2框架:

  1. Sturts2框架的简介和下载

  2. struts2框架的搭建

  3. Struts.xml的配置文件的讲解

  4. struts demo完整示例

第三天、struts配置信息;result结果集;原始request和response:

  1. struts2的静态配置信息

  2. action中取得原始的rquest、response和session的方法

  3. result结果集类型说明

  4. 扩展——自定义resulttype

第四天、拦截器:

  1. interceptor-使用系统的拦截器

  2. 自定义拦截器

  3. 方法拦截器

  4. 登陆示例

第五天、文件上传下载、国际化和注解:

  1. 文件的上传

  2. 文件的下载

  3. 国际化

  4. 注解

第六天、标签和验证:

  1. ognl和ui标签

  2. 通用标签和静态调用

  3. 使用java代码实现验证

  4. xml的验证

第七天、ajax的入门和jquery对ajax的支持:

  1. ajax理论基础

  2. 原始的ajax的实现

  3. jquery实现异步操作

  4. ajax对json的解析

第八天、dwr和strus2的json实现:

  1. dwr的入门

  2. dwr示例

  3. struts2对json和ajax的支持

第九天、图表jfreechart、jschart和POI:

  1. 使用原始的JFreeChart

  2. struts2的整合Jfreechart

  3. jschart

  4. 导出Excel——POI的使用

7.spring框架讲解

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

第一天、Spring基本概念:

  1. spring入门

  2. spring容器的概念和依赖注入的多种方式.

  3. 导入外部文件,自动装配,作用域

第二天、spring整合jdbc和整合struts2:

  1. spring整合jdbc(1)

  2. spring整合jdbc(2)

  3. spring和struts2的整合

第三天、邮件发送和定时器:

  1. 邮件发送(1)

  2. 邮件发送(2)

  3. 定时器

  4. 练习

第四天、事务管理和AOP:

  1. aop入门和通知模式

  2. 通知者和自动代理

  3. 使用注解的方式实现aop

  4. 事务

8.hibernate框架讲解

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

第一天、hibernate介绍和映射表:

  1. hibernate的介绍

  2. 第一个class实例

  3. hibernate三种状态

第二天、hibernate反转和s2sh框架的搭建:

  1. myeclipse的hibernate反转工具

  2. 使用工具整合spring和hibernate

  3. 自搭建s2sh框架

第三天、多表关系:

  1. 一对多关系的配置

  2. 一对一配置

  3. 多对多配置

  4. 延时查询

第四天、高级查询:

  1. hql入门

  2. 参数查询和关联查询

  3. 分页和统计查询

  4. criteria的使用

第五天、高级操作:

  1. hibernate的二级缓存

  2. 批处理

  3. 延时加载和注解介绍

转载于:https://www.cnblogs.com/MYY720/p/6895101.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ansongqianca1423/article/details/101948119

智能推荐

开发小哥的困惑:为何要用第三方推送?_「已注销」的博客-程序员秘密

在《测试妹子的呐喊:为什么总是收不到推送?》这篇文章中,小树解决了测试妹子收不到推送的反馈后,小树对推送就异常感兴趣,把项目里面所有有关推送的代码都阅读了一遍。但细心的小...

51单片机自学--可连续运算的加减乘除数码管显示计算器_连续输入数码管显示算法_智者知已应修善业的博客-程序员秘密

教程及网络上大部分只有单一简单的4则运算的例子,这里写一个可以连续运算功能的,清零则重新开始.代码如下:可在=运算后还能连续运算,除非清零从新开始,都可以连续运算,如:1+2+3+4+5+6+7+8+9=45-5=40+1+2+10=53可以做这样的连续运算。代码可优化:运算符选择减少判断语句与次数,使整个代码更简约,绝对经典连续运算功能之作,改变输出也可节省。优...

Tensorflow教程2:使用卷积神经网络的图像分类器_卷积神经网络分类器_Together_CZ的博客-程序员秘密

在本Tensorflow教程中,我们将使用Tensorflow构建基于卷积神经网络的图像分类器。如果您刚刚开始使用Tensorflow,那么最好在这里阅读基本的Tensorflow教程。 为了演示如何构建基于卷积神经网络的图像分类器,我们将构建一个六层神经网络,该网络将识别并分离出狗的图像和猫的图像。我们将建立的这个网络是一个非常小的网络,您也可以在CPU上运行它。擅长进行图像分类的传统神经网络具有更多参数,并且如果在CPU上进行训练会花费大量时间。但是,在本文中,我的...

sqoop ERROR manager.CatalogQueryManager: Failed to list databases java.sql.SQLException: Access deni_SupAor的博客-程序员秘密

困扰了我一天的巨坑问题!原因很简单!修改IP!在用sqoop连接Mysql查看Mysql数据库报错:20/04/19 11:08:30 ERROR manager.CatalogQueryManager: Failed to list databasesjava.sql.SQLException: Access denied for user 'root'@'localhost' at c...

jvm内存参数配置_跟我学Java内存管理----JMM精华6(JVM调优+案例分析+经验总结)..._weixin_39747568的博客-程序员秘密

1.JVM参数1.1. 通用JVM参数-server如果不配置该参数,JVM会根据应用服务器硬件配置自动选择不同模式,server模式启动比较慢,但是运行期速度得到了优化,适合于服务器端运行的JVM。-client启动比较快,但是运行期响应没有server模式的优化,适合于个人PC的服务开发和测试。jdk6之后默认server模式。-Xmx设置java heap的最大值,默认是机器物理内存的1/4...

Tp5生成带头像二维码海报(带文字描述,居中调整)_tp5生成头像_彦飝的博客-程序员秘密

Tp5生成带头像二维码海报(带文字描述,居中调整) 三张海报中随机生成一张展现 /** * 获取随机海报 * Author: yanjie <[email protected]> * Date: 2018/9/12 0012 */ public function getPoster() { $id=in...

随便推点

百鸡问题_Yinger_2000的博客-程序员秘密

这个神奇的发现来源于我的一个朋友。鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。问百钱买百鸡时,,鸡翁、鸡母和鸡雏各几何?最初设计的代码如下:#include <stdio.h>int main(){ int x=0,y=0,z=0; for(;x<=20;x++) for(;y<=100-x;y++) { ...

arm linux下交叉编译valgrind工具进行内存泄露检测和性能分析_cnhui2016的博客-程序员秘密

C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题。如果crash的地方正是内存使用错误的地方,说明你人品好。如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,编译器不能发现这些问题,.运行时才能捕获到这些错误并且还是随机出现的,那就比较麻烦了。当然,祼看code打log是一个办法,但其效率不是太高,尤其是在运行成本高或重现概率

Linux内存管理图解【转】_weixin_34010566的博客-程序员秘密

转自:http://www.360doc.com/content/13/0505/15/12218157_283128759.shtmlLinux内存管理图解2013-05-05果儿的百科文章来源Linux内存管理图解作者:wdy二、线性地址转物理地址前面说了Linux中逻辑地址等于线性地址,那么线性地址怎么对应到物理地址呢?...

软件设计——2016年上半年选择题重要知识点_weixin_30314631的博客-程序员秘密

1、主存与Cache的地址映射方式中,(全相联)方式可以实现主存任意一块装入Cache中任意位置,只有装满才需要替换。A:全相联B:直接映射C:组相联D:串并联【解析】:直接映射(directmapping):将一个主存块存储到唯一的一个Cache行。多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。优点:硬件简单,容易实现缺点...

(HDOJ)1001——超级楼梯(递推)_hdoj 超级楼梯_灰羽吖的博客-程序员秘密

Problem Description有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。Output对于每个测试实例,请输出不同走法的数量Sample Input2 2 3Sample Output1 2AuthorlcyS

推荐文章

热门文章

相关标签