第一篇:java工程师学习必须掌握的的知识
第一学期课程学习完成之后,成为一名熟练操作数据库并可以基于数据的Java应用程序的高级程序员,Java的软件工程师、JSP web
开
发
工程师,可承担java高级程序设计及电子商务开发工作。
具体目标如下:
1.熟练掌握Java跨平台的原理,JAVA的分类,JAVA面向对象类的实现,异常处理,AWT与SWING组件与布局管理,多线程,APPLET的使用,SQL Server数据库设计和实现等;
2.掌握软件编程规范,软件集成开发环境,面向对象的分析与设计方法;
3.掌握JSP执行过程,Servlet技术的应用,数据库技术的应用,标签语言,JSP在实际项目开发中的应用;
4.熟练掌握JDK,eclipse和MyEclipse,sqlserver,apache-tomcat的安装、配置和使用,熟练运用JDBC进行数据库连接;
5.亲自参与企业级实际项目程序设计与开发,快速提升软件开发经验。第二学期课程学习完成之后,成为一名熟练操作数据库并可以基于数据库的JAVA软件开发工程师,J2EE系统工程师,Oracle数据库管理,软件架构设计师,Linux操作系统管理员,可承担J2EE系统工程师及大型电子商务开发工作。
具体目标如下:
1.掌握Linux 基础操作及常用指令、Linux及配套软件的安装、启动和权限、用户管理和文件系统管理文件查找、备份和自动化、进
程;系统优化,内核设置等;
2.掌握Web配置文件,Struts配置文件,Spring配置文件,控制器;WebLogic Server的安装与配置;
3.Java对象持久化技术,Java代理机制与AOP入门,Spring提供的IOC初步内容,Rose建模工具的使用,OOAD UML 用例图,对象图、类图
;
4.熟练掌握Oracler大型企业数据库基本操作以及数据库设计和实现等; 5.亲自参与企业级实际项目程序设计与开发,快速提升软件开发经验。
授课内容:第一学期课程:
序号
课程名称
课程内容简介 JAVA程序设计
Java基础:数据类型,运算符表达式,JAVA条件流程控制语句;
JAVA面向对象编程: 类,内部类,对象,类的继承,抽
象类,接口,包,数组,String类,StringBuffer类,JAVA语言编码规范等;
JAVA图形界面设计,多线程,JAVA网络通信技术,APPLET的使用,项目程序设计实践。SQL Server数据库
熟练掌握SQL Server企业管理器的基本操作,SQL Server数据库表管理,数据查询,T-SQL编程,数据库的设计,事务、索引和视图,存储过程,触发器,SQL Server数据管理等。HTML及Javascript 基本标记与超链接,在 HTML 文档中插入图像,使用表,使用层,在 HTML 文档中插入多媒体,使用表单和框架
与样式表,JavaScript 语法基础与核心语言对象,JavaScript中的浏览器对象与处理表单和表单元素事件。软件集成开发环境
Eclipse,apache-tomcat服务器和MyEclipse的安装、配置和使用。JSP web开发
JSP 页面的各种构成元素,JSP页面的执行过程,JSP 脚本元素的组成及语法,JSP 指令的组成及语法,分页技术,上传
技术,jsp网站实例开发等 Servlet核心技术
Servlet 基础语法,Servlet 的生命周期,Servlet间通信,Servlet异常,过滤器Filter,会话和监听等 WEB框架的使用
掌握 Model I体系结构,掌握 Model II体系结构,掌握 MVC 应334157810
这群更多java技术资源分享 用程序 Java技术综合应用
基于JAVA、JSP、SERVLET、JAVABEAN、JDBC的应用实训 实战项目
信息管理系统,基于JSP开发的企业网站系统等实训项目
第二学期课程:
序号
课程名称
课程内容简介
Linux系统
Linux 基础操作及常用指令、Linux及配套软件的安装、启动和权限、用户管理和文件系统管理文件查找、备份和自
进程的管理和控制;Linux开发环境; 面向对象的分析与设计UML OOAD UML 用例图,对象图、类图,动态模型、构件与部署,了解常用的 UML 绘图工具,掌握rose建模工
具的使用,UML建模工具及在软件开发中的应用等 Struts开发模型
掌握Struts框架的基本应用,配置文件,控制器,Struts视图组件,Struts标签库,Struts国际化,Validator验证
框架,Struts与Apache的通用日志包等 Hibernate应用开发
创建Hibernate应用,域对象在持久化层的状态,Hibernate检索策略和方式,Hibernate与Struts集成,映射一
对多关联关系,Hibernate的检索策略和检索方式等 Spring应用开发
Java代理机制与AOP入门,切入点的三种类型,Bean注入的三种形式,属性设定、自动绑定、集合对象注入,Bean的 生命周期等 WebLogic Server WebLogic Server的安装与配置、高级管理,分布式体系结构和WebLogic体系结构,WebLogic Server中的JDBC,WebLogic Server中的会话Bean开发,WebLogic Server下的Servlet开发等 Oracle数据库设计和实现
Oracle 的安装和卸载,数据库和表的创建及操作,数据库的查询和子查询,oracle的常用的SQL函数,掌握
视图的用法,PL/SQL介绍,存储过程和触发器,系统的安全管理、序列、锁和表分区,数据库的备份和恢复等 实战项目
根据SUN、Oracle等知名IT企业对软件人才市场的要求,确定相应的实训项目
授课教师:所有教师,专业技术强,实战经验丰富,思想道德高尚.掌握世界前沿技术的年轻师资。每位教师都在不断地汲取新的养分,参
加各种世界顶级的学术交流会议。在部分资深教师提出的独特教学方法和培养学员新颖的思维方式受到同行学者们的一致赞赏。使用
教材:《C语言教材》、《VB语言教材》、《C++教材》、《JAVA教材》、《SQL教材》试听承诺:包教包会,考试未通过者免费重学。
其他说明:在第一学期结束后,要求学员能够达到以下就业目标:
1.使用JAVA技术进行简单的C/S架构应用系统开发 2.使用JSP和Servlet进行B/S架构商务企业开发
3.SQL数据库开发具体岗位如下:JAVA程序员,企业网站开发,各种商务网站开发; 企业级的管理信息系统开发和维护人员。
在第二学期结束后,要求学员能够达到以下就业目标: 运用J2EE框架技术实现J2EE企业级应用开发和部署
4.Oracle数据库的维护、管理和应用具体岗位如下:JAVA工程师,J2EE系统工程师Oracle数据开发工程师,软件架构设计 LINUX操作系统
管理员、软件项目经理
本人想要成为JAVA工程师,请问我要在全国计算机考试中除了考二级JAVA以外,还334157810
这群更多java技术资源分享 要考什么啊??? 好评率:100%如果要往java方向
发展的话,下面的都要学JDBC、Hibernate、HTML、JavaScript、Struts、Servlet、JSP、Spring、EJB.当然服务器的安排运用也要学
如:Tomcat、JBoss、Weblogic。数据库操作也要会,自己学的话用MySQL。其实每个公司的框架都不一样,学框架也很重要。
Sun 在 UNIX领域一直是技巧上和市场占有率的领先者;近年来又推出Java技巧,更成为业界的标准。所以Sun公司所举办的认证考试
必然成为Java和UNIX在全球信息界公认的标准。
Sun推出的专业认证包含下列三种:
Java认证考试
关于Java方面,Sun推出七项认证:
Sun Certified Java Programmer for the Java 2 Platform、Sun Certified Developer for the Java 2 Platform
Sun Certified Web Component Developer for the Java 2 Platform, Enterprise Edition 1.4 Sun Certified Business Component Developer for the Java 2 Platform, Enterprise Edition Sun Certified Web Services Developer for the Java 2 Platform, Enterprise Edition Sun Certified Enterprise Architect for the Java 2 Platform, Enterprise Edition
Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition Solaris系统管理认证考试
Sun 公司为用户供给支持 Solaris 10 操作系统的高品质培训和认证服务,可辅助企业最大限度地快速实现该创新操作系统的重要价值。请点击此处以查看更多详情!
对Solaris/Sun OS系统管理员,Sun推出Certified Solaris Administrator。SCSA分辨为两个等级(Part I 和 Part II),测试您对Solaris 系统管理的懂得程度。
Solaris网络管理认证考试
为了测试使用者对于Solaris网络管理能力,Sun推出Certified Network Administrator(SCNA)。内容包含基础网络概念、Routing and Subnet、Security、Performance、DNS、NIS+等
通过Sun任何一门专业认证后,您将全收到Sun Microsystems 总公司寄发的资格证书及徽章,并有权将通过Sun认证的标记印在个人名片上,作为个人技巧能力的肯定。
Java程序员是美国SUN公司国际认证的程序员,她是目前全球最受重视、最受欢迎的程序员资格认证之一,具备这一认证就可以获得极好的工作机遇和丰富待遇。
Java跨平台等许多特性使之成为当代成长最快的软件产品:它受到了大约150个许可证颁发机构、200所大学和50万开发者的拥戴;1000多个应用程序是用它编写的;有关它的书籍有800余种;Java开发套件的下载次数超过一百万次;Java BEANS? 开发套件的下载次数超过10万次;受到了全球所有主要计算机厂商的支持,而这一切都发生在其发表后的800天内;Java闯入企业计算的心脏正成为大众传媒111ttt.com的推动力量,正在改变企业的计算环境。它通过为因特网商务供给安全和稳健平台的方法改变商业自身。Java计算是各行各业中倍受信赖的企业解决计划。独立于平台的Java计算环境可以降低企业的总成本,缩短产品上市周期,安全地扩展公司的网络。不少国度到中国寻求合作伙伴时,都把能否用Java进行编程作为合作的前提条件。
334157810
这群更多java技术资源分享
=============
J2EE和J2ME没有联系.J2EE是做B/S软件或网站的
但如果懂得J2EE的一些特性对J2ME也是有好处的,但是J2SE必须学得很好,基本很稳固才能做J2ME,我承认,J2ME有1-2个月就可以掌握,但是里面的精髓如果没有好的J2SE基本是无法掌握的J2EE和J2ME都是很热门的技巧.J2EE技巧虽然还在发展中,也还有些问题,不过感到已经较为成熟了,毕竟是这么多巨头凑在一起捣鼓出来的,有了很多成功的案例,也得到了大范畴的应用。很多公司都有这方面的项目,比较容易找到活干,毕竟技巧沾上企业两个字还是很吃香的。但是感到EJB重复开发的多,经常是一个项目,EJB开发,功效组装,安排都一条龙做了。大家期望的EJB市场还没有出现,J2EE全称为Java2 Platform, Enterprise Edition。
“J2EE平台实质上是一个分布式的服务器应用程序设计环境——一个Java环境,它供给了:
·宿主应用的一个运行基本框架环境。
·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高等编程》)?
J2EE用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。
J2ME个人感到前景还是很不错的,得到了很多大厂商和开发者的认同,看了很多在手持设备上用j2me写的程序,做得很美丽,自己也编了些东西,不过现在的J2ME也还有些问题:
一是移动终端的庞杂性(如内存大小,显示屏大小,永续存储空间大小等),不同的厂商有不同的实现方法,统一的规范并不能体现设备的特点,很多厂商不得不加入了自己的专属API(如震动,背光,声音等),这样给移植带来了困难,虽然JCP制定了OptionalPackages,但是目前市面上的J2ME平台还是相当的凌乱。
二是移动设备的发展,更新的速度是相当惊人的,j2me规范的制定也要跟得上发展的速度。说不定哪天j2me就和j2se兼容了(很早前就看人在智能手机上玩古墓丽影了,不过目前看起来还是不现实)。(Pjava和jdk1.1.8很相近的,不过SUN已经把它放到J2ME规范中了)
三还是老问题,缺少KillerApplication,杀手级的应用,J2ME的发展缺少一个应用点,现在也就局限于游戏几个方面,中国手机用户比PDA用户为多,而手机用户用得最多的就是通话和短信,上网,彩信的都很少,游戏还是单机的多,如何收费是个问题。
334157810
这群更多java技术资源分享
第二篇:java工程师应掌握的知识
1.入门级:《java就业培训教材》张孝祥(可下载配套视频)
2.j2ee准备:《JavaScript网页开发-体验式学习教程》张孝祥(可下载配套视频)这个不用太认真学,懂得表单,和基本的javascript操作就可以了。
3.j2ee入门:<
4.j2ee高级:<<精通Struts>><<精通spring>><<精通Hibernate>>这部分是重点,也可以下载一套夏忻的笔记,那个介绍的不全面,但作为入门很
第一学期课程学习完成之后,成为一名熟练操作数据库并可以基于数据的Java应用程序的高级程序员,Java的软件工程师、JSP web
开
发
工程师,可承担java高级程序设计及电子商务开发工作。
具体目标如下:
1.熟练掌握Java跨平台的原理,JAVA的分类,JAVA面向对象类的实现,异常处理,AWT与SWING组件与布局管理,多线程,APPLET的使用,SQL Server数据库设计和实现等;
2.掌握软件编程规范,软件集成开发环境,面向对象的分析与设计方法;
3.掌握JSP执行过程,Servlet技术的应用,数据库技术的应用,标签语言,JSP在实际项目开发中的应用;
4.熟练掌握JDK,eclipse和MyEclipse,sqlserver,apache-tomcat的安装、配置和使用,熟练运用JDBC进行数据库连接;
5.亲自参与企业级实际项目程序设计与开发,快速提升软件开发经验。第二学期课程学习完成之后,成为一名熟练操作数据库并可以基于数据库的JAVA软件开发工程师,J2EE系统工程师,Oracle数据库管理,软件架构设计师,Linux操作系统管理员,可承担J2EE系统工程师及大型电子商务开发工作。
具体目标如下:
1.掌握Linux 基础操作及常用指令、Linux及配套软件的安装、启动和权限、用户管理和文件系统管理文件查找、备份和自动化、进
程;系统优化,内核设置等;
2.掌握Web配置文件,Struts配置文件,Spring配置文件,控制器;WebLogic Server的安装与配置;
3.Java对象持久化技术,Java代理机制与AOP入门,Spring提供的IOC初步内容,Rose建模工具的使用,OOAD UML 用例图,对象图、类图
;
4.熟练掌握Oracler大型企业数据库基本操作以及数据库设计和实现等; 5.亲自参与企业级实际项目程序设计与开发,快速提升软件开发经验。
授课内容:第一学期课程:
序号
课程名称
课程内容简介 JAVA程序设计
Java基础:数据类型,运算符表达式,JAVA条件流程控制语句;
JAVA面向对象编程: 类,内部类,对象,类的继承,抽
象类,接口,包,数组,String类,StringBuffer类,JAVA语言编码规范等;
JAVA图形界面设计,多线程,JAVA网络通信技术,APPLET的使用,项目程序设计实践。SQL Server数据库
熟练掌握SQL Server企业管理器的基本操作,SQL Server数据库表管理,数据查询,T-SQL编程,数据库的设计,事务、索引和视图,存储过程,触发器,SQL Server数据管理等。3 HTML及Javascript 基本标记与超链接,在 HTML 文档中插入图像,使用表,使用层,在 HTML 文档中插入多媒体,使用表单和框架
与样式表,JavaScript 语法基础与核心语言对象,JavaScript中的浏览器对象与处理表单和表单元素事件。软件集成开发环境
Eclipse,apache-tomcat服务器和MyEclipse的安装、配置和使用。JSP web开发
JSP 页面的各种构成元素,JSP页面的执行过程,JSP 脚本元素的组成及语法,JSP 指令的组成及语法,分页技术,上传
技术,jsp网站实例开发等 Servlet核心技术
Servlet 基础语法,Servlet 的生命周期,Servlet间通信,Servlet异常,过滤器Filter,会话和监听等 WEB框架的使用
掌握 Model I体系结构,掌握 Model II体系结构,掌握 MVC 应用程序 Java技术综合应用
基于JAVA、JSP、SERVLET、JAVABEAN、JDBC的应用实训 实战项目
信息管理系统,基于JSP开发的企业网站系统等实训项目
第二学期课程:
序号
课程名称
课程内容简介
Linux系统
Linux 基础操作及常用指令、Linux及配套软件的安装、启动和权限、用户管理和文件系统管理文件查找、备份和自
进程的管理和控制;Linux开发环境; 面向对象的分析与设计UML OOAD UML 用例图,对象图、类图,动态模型、构件与部署,了解常用的 UML 绘图工具,掌握rose建模工
具的使用,UML建模工具及在软件开发中的应用等 Struts开发模型
掌握Struts框架的基本应用,配置文件,控制器,Struts视图组件,Struts标签库,Struts国际化,Validator验证
框架,Struts与Apache的通用日志包等 Hibernate应用开发
创建Hibernate应用,域对象在持久化层的状态,Hibernate检索策略和方式,Hibernate与Struts集成,映射一
对多关联关系,Hibernate的检索策略和检索方式等 Spring应用开发
Java代理机制与AOP入门,切入点的三种类型,Bean注入的三种形式,属性设定、自动绑定、集合对象注入,Bean的 生命周期等 WebLogic Server WebLogic Server的安装与配置、高级管理,分布式体系结构和WebLogic体系结构,WebLogic Server中的JDBC,WebLogic Server中的会话Bean开发,WebLogic Server下的Servlet开发等 Oracle数据库设计和实现
Oracle 的安装和卸载,数据库和表的创建及操作,数据库的查询和子查询,oracle的常用的SQL函数,掌握
视图的用法,PL/SQL介绍,存储过程和触发器,系统的安全管理、序列、锁和表分区,数据库的备份和恢复等 实战项目
根据SUN、Oracle等知名IT企业对软件人才市场的要求,确定相应的实训项目
授课教师:所有教师,专业技术强,实战经验丰富,思想道德高尚.掌握世界前沿技术的年轻师资。每位教师都在不断地汲取新的养分,参
加各种世界顶级的学术交流会议。在部分资深教师提出的独特教学方法和培养学员新颖的思维方式受到同行学者们的一致赞赏。使用
教材:《C语言教材》、《VB语言教材》、《C++教材》、《JAVA教材》、《SQL教材》试听承诺:包教包会,考试未通过者免费重学。
其他说明:在第一学期结束后,要求学员能够达到以下就业目标:
1.使用JAVA技术进行简单的C/S架构应用系统开发 2.使用JSP和Servlet进行B/S架构商务企业开发 3.SQL数据库开发具体岗位如下:JAVA程序员,企业网站开发,各种商务网站开发; 企业级的管理信息系统开发和维护人员。
在第二学期结束后,要求学员能够达到以下就业目标: 运用J2EE框架技术实现J2EE企业级应用开发和部署
4.Oracle数据库的维护、管理和应用具体岗位如下:JAVA工程师,J2EE系统工程师Oracle数据开发工程师,软件架构设计 LINUX操作系统
管理员、软件项目经理
本人想要成为JAVA工程师,请问我要在全国计算机考试中除了考二级JAVA以外,还要考什么啊??? 好评率:100%如果要往java方向
发展的话,下面的都要学JDBC、Hibernate、HTML、JavaScript、Struts、Servlet、JSP、Spring、EJB.当然服务器的安排运用也要学
如:Tomcat、JBoss、Weblogic。数据库操作也要会,自己学的话用MySQL。其实每个公司的框架都不一样,学框架也很重要。
Sun 在 UNIX领域一直是技巧上和市场占有率的领先者;近年来又推出Java技巧,更成为业界的标准。所以Sun公司所举办的认证考试
必然成为Java和UNIX在全球信息界公认的标准。
Sun推出的专业认证包含下列三种:
Java认证考试
关于Java方面,Sun推出七项认证:
Sun Certified Java Programmer for the Java 2 Platform、Sun Certified Developer for the Java 2 Platform
Sun Certified Web Component Developer for the Java 2 Platform, Enterprise Edition 1.4 Sun Certified Business Component Developer for the Java 2 Platform, Enterprise Edition Sun Certified Web Services Developer for the Java 2 Platform, Enterprise Edition Sun Certified Enterprise Architect for the Java 2 Platform, Enterprise Edition
Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition Solaris系统管理认证考试
Sun 公司为用户供给支持 Solaris 10 操作系统的高品质培训和认证服务,可辅助企业最大限度地快速实现该创新操作系统的重要价值。请点击此处以查看更多详情!
对Solaris/Sun OS系统管理员,Sun推出Certified Solaris Administrator。SCSA分辨为两个等级(Part I 和 Part II),测试您对Solaris 系统管理的懂得程度。
Solaris网络管理认证考试
为了测试使用者对于Solaris网络管理能力,Sun推出Certified Network Administrator(SCNA)。内容包含基础网络概念、Routing and Subnet、Security、Performance、DNS、NIS+等
通过Sun任何一门专业认证后,您将全收到Sun Microsystems 总公司寄发的资格证书及徽章,并有权将通过Sun认证的标记印在个人名片上,作为个人技巧能力的肯定。
Java程序员是美国SUN公司国际认证的程序员,她是目前全球最受重视、最受欢迎的程序员资格认证之一,具备这一认证就可以获得极好的工作机遇和丰富待遇。Java跨平台等许多特性使之成为当代成长最快的软件产品:它受到了大约150个许可证颁发机构、200所大学和50万开发者的拥戴;1000多个应用程序是用它编写的;有关它的书籍有800余种;Java开发套件的下载次数超过一百万次;Java BEANS? 开发套件的下载次数超过10万次;受到了全球所有主要计算机厂商的支持,而这一切都发生在其发表后的800天内;Java闯入企业计算的心脏正成为大众传媒111ttt.com的推动力量,正在改变企业的计算环境。它通过为因特网商务供给安全和稳健平台的方法改变商业自身。Java计算是各行各业中倍受信赖的企业解决计划。独立于平台的Java计算环境可以降低企业的总成本,缩短产品上市周期,安全地扩展公司的网络。不少国度到中国寻求合作伙伴时,都把能否用Java进行编程作为合作的前提条件。
=============
J2EE和J2ME没有联系.J2EE是做B/S软件或网站的
但如果懂得J2EE的一些特性对J2ME也是有好处的,但是J2SE必须学得很好,基本很稳固才能做J2ME,我承认,J2ME有1-2个月就可以掌握,但是里面的精髓如果没有好的J2SE基本是无法掌握的J2EE和J2ME都是很热门的技巧.J2EE技巧虽然还在发展中,也还有些问题,不过感到已经较为成熟了,毕竟是这么多巨头凑在一起捣鼓出来的,有了很多成功的案例,也得到了大范畴的应用。很多公司都有这方面的项目,比较容易找到活干,毕竟技巧沾上企业两个字还是很吃香的。但是感到EJB重复开发的多,经常是一个项目,EJB开发,功效组装,安排都一条龙做了。大家期望的EJB市场还没有出现,J2EE全称为Java2 Platform, Enterprise Edition。
“J2EE平台实质上是一个分布式的服务器应用程序设计环境——一个Java环境,它供给了:
·宿主应用的一个运行基本框架环境。
·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高等编程》)?
J2EE用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。
J2ME个人感到前景还是很不错的,得到了很多大厂商和开发者的认同,看了很多在手持设备上用j2me写的程序,做得很美丽,自己也编了些东西,不过现在的J2ME也还有些问题:
一是移动终端的庞杂性(如内存大小,显示屏大小,永续存储空间大小等),不同的厂商有不同的实现方法,统一的规范并不能体现设备的特点,很多厂商不得不加入了自己的专属API(如震动,背光,声音等),这样给移植带来了困难,虽然JCP制定了OptionalPackages,但是目前市面上的J2ME平台还是相当的凌乱。
二是移动设备的发展,更新的速度是相当惊人的,j2me规范的制定也要跟得上发展的速度。说不定哪天j2me就和j2se兼容了(很早前就看人在智能手机上玩古墓丽影了,不过目前看起来还是不现实)。(Pjava和jdk1.1.8很相近的,不过SUN已经把它放到J2ME规范中了)
三还是老问题,缺少KillerApplication,杀手级的应用,J2ME的发展缺少一个应用点,现在也就局限于游戏几个方面,中国手机用户比PDA用户为多,而手机用户用得最多的就是通话和短信,上网,彩信的都很少,游戏还是单机的多,如何收费是个问题。
第三篇:Java程序员必须掌握的线程知识
Java程序员必须掌握的线程知识 Callable和Future Callable和Future出现的原因
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。
这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。
而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。
Callable和Future介绍
Callable接口代表一段可以调用并返回结果的代码;Future接口表示异步任务,是还没有完成的任务给出的未来结果。所以说Callable用于产生结果,Future用于获取结果。
Callable接口使用泛型去定义它的返回类型。Executors类提供了一些有用的方法在线程池中执行Callable内的任务。由于Callable任务是并行的(并行就是整体看上去是并行的,其实在某个时间点只有一个线程在执行),我们必须等待它返回的结果。
java.util.concurrent.Future对象为我们解决了这个问题。在线程池提交Callable任务后返回了一个Future对象,使用它可以知道Callable任务的状态和得到Callable返回的执行结果。Future提供了get()方法让我们可以等待Callable结束并获取它的执行结果。
Callable与Runnable
java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:
publicinterfaceRunnable{
publicabstractvoid run();}
由于run()方法返回值为void类型,所以在执行完任务之后无法返回任何结果。
Callable位于java.util.concurrent包下,它也是一个接口,在它里面也只声明了一个方法,只不过这个方法叫做call():
publicinterfaceCallable
/**
* Computes a result, or throws an exception if unable to do so.*
* @return computed result
* @throws Exception if unable to compute a result
*/
V call()throwsException;}
可以看到,这是一个泛型接口,call()函数返回的类型就是传递进来的V类型。
那么怎么使用Callable呢?
一般情况下是配合ExecutorService来使用的,在ExecutorService接口中声明了若干个submit方法的重载版本:
第一个submit方法里面的参数类型就是Callable。
暂时只需要知道Callable一般是和ExecutorService配合来使用的,具体的使用方法讲在后面讲述。
一般情况下我们使用第一个submit方法和第三个submit方法,第二个submit方法很少使用。
Future
Future就是对于具体的Runnable或者Callable任务的执行结果进行取消、查询是否完成、获取结果。必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果。
Future类位于java.util.concurrent包下,它是一个接口:
publicinterfaceFuture
boolean cancel(boolean mayInterruptIfRunning);
boolean isCancelled();
boolean isDone();
V get()throwsInterruptedException,ExecutionException;
V get(long timeout,TimeUnit unit)
throwsInterruptedException,ExecutionException,TimeoutException;}
在Future接口中声明了5个方法,下面依次解释每个方法的作用:
cancel方法用来取消任务,如果取消任务成功则返回true,如果取消任务失败则返回false。参数mayInterruptIfRunning表示是否允许取消正在执行却没有执行完毕的任务,如果设置true,则表示可以取消正在执行过程中的任务。如果任务已经完成,则无论mayInterruptIfRunning为true还是false,此方法肯定返回false,即如果取消已经完成的任务会返回false;如果任务正在执行,若mayInterruptIfRunning设置为true,则返回true,若mayInterruptIfRunning设置为false,则返回false;如果任务还没有执行,则无论mayInterruptIfRunning为true还是false,肯定返回true。isCancelled方法表示任务是否被取消成功,如果在任务正常完成前被取消成功,则返回 true。
isDone方法表示任务是否已经完成,若任务完成,则返回true;
get()方法用来获取执行结果,这个方法会产生阻塞,会一直等到任务执行完毕才返回;
get(long timeout, TimeUnit unit)用来获取执行结果,如果在指定时间内,还没获取到结果,就直接返回null。
也就是说Future提供了三种功能:
1)判断任务是否完成;
2)能够中断任务;
3)能够获取任务执行结果。
因为Future只是一个接口,所以是无法直接用来创建对象使用的,因此就有了下面的FutureTask。FutureTask
FutureTask实现了RunnableFuture接口,这个接口的定义如下:
publicinterfaceRunnableFuture
void run();}
可以看到这个接口实现了Runnable和Future接口,接口中的具体实现由FutureTask来实现。这个类的两个构造方法如下 :
publicFutureTask(Callable
if(callable ==null)
thrownewNullPointerException();
sync =newSync(callable);
}
publicFutureTask(Runnable runnable, V result){
sync =newSync(Executors.callable(runnable, result));
} 如上提供了两个构造函数,一个以Callable为参数,另外一个以Runnable为参数。这些类之间的关联对于任务建模的办法非常灵活,允许你基于FutureTask的Runnable特性(因为它实现了Runnable接口),把任务写成Callable,然后封装进一个由执行者调度并在必要时可以取消的FutureTask。
FutureTask可以由执行者调度,这一点很关键。它对外提供的方法基本上就是Future和Runnable接口的组合:get()、cancel、isDone()、isCancelled()和run(),而run()方法通常都是由执行者调用,我们基本上不需要直接调用它。
一个FutureTask的例子
publicclassMyCallableimplementsCallable
privatelong waitTime;
publicMyCallable(int timeInMillis){
this.waitTime=timeInMillis;
}
@Override
publicString call()throwsException{ Thread.sleep(waitTime);
//return the thread name executing this callable task
returnThread.currentThread().getName();
}
}
publicclassFutureTaskExample{
publicstaticvoid main(String[] args){
MyCallable callable1 =newMyCallable(1000);// 要执行的任务
MyCallable callable2 =newMyCallable(2000);
FutureTask
FutureTask
ExecutorService executor =Executors.newFixedThreadPool(2);// 创建线程池并返回ExecutorService实例
executor.execute(futureTask1);// 执行任务
executor.execute(futureTask2);
while(true){
try{
if(futureTask1.isDone()&& futureTask2.isDone()){// 两个任务都完成System.out.println(“Done”);
executor.shutdown();// 关闭线程池和服务
return;
}
if(!futureTask1.isDone()){// 任务1没有完成,会等待,直到任务完成 System.out.println(“FutureTask1 output=”+futureTask1.get());
}
System.out.println(“Waiting for FutureTask2 to complete”);
String s = futureTask2.get(200L,TimeUnit.MILLISECONDS);
if(s!=null){
System.out.println(“FutureTask2 output=”+s);
}
}catch(InterruptedException|ExecutionException e){
e.printStackTrace();
}catch(TimeoutException e){
//do nothing
}
} }}
运行如上程序后,可以看到一段时间内没有输出,因为get()方法等待任务执行完成然后才输出内容.输出结果如下:
FutureTask1 output=pool-1-thread-1WaitingforFutureTask2 to completeWaitingforFutureTask2 to completeWaitingforFutureTask2 to completeWaitingforFutureTask2 to completeWaitingforFutureTask2 to completeFutureTask2 output=pool-1-thread-2Done
第四篇:消防安全知识(必须掌握)
消防安全知识
(全员培训、全员熟记、达到“一口清、问不倒”)
一、怎样报火警?
答:
1、拨打火警电话119,并确认;
2、不要慌张,讲明起火单位名称,所在位置,起火物质是什么,有无人员被困,讲明报警人和联系电话;
3、到主要路口接应消防车。
二、怎样补救初期火灾?(着火了怎么办)
火灾发生后迅速形成灭火第一力量和第二力量。
第一力量:发现起火后,迅速大喊声召集起火点周围职工,并按下手动报警按钮,向消防控制室发出火警信号。同时利用就近的水、灭火器、消火栓、灭火毯进行灭火。(一分钟内)
第二力量:单位的义务消防队(保安人员)确认火警后,迅速报火警119,并赶
赴起火点灭火。
(一)熟练使用干粉灭火器
1、拔掉保险销
2、手握胶皮管对准火源根部
3、用力按下压把进行灭火
(二)熟练使用室内消火栓(需要两个人操作)
1、打开消火栓箱
2、按手动报警按钮
3、连接水带、水枪展开水带
4、打开阀门至最大位置进行灭火
(三)熟练掌握距离自己最近的室内消火栓和灭火器的位置
三、怎样在火场逃生?
答:
1、在烟雾浓重时,用湿毛巾捂住口鼻,尽量身体贴近地面弯腰前进;
2、从最近的安全出口迅速逃出,不要贪恋财务;
3、电器设备火灾应及时断电源。
四、消防安全“四个能力”建设内容是什么?(必须掌握)答:
1、检查消除火灾隐患能力
2、补救初起火灾能力
3、组织疏散逃生能力
4、消防宣传教育培训能力
第五篇:Java工程师要掌握哪些技能
Java工程师要掌握哪些技能
Java是目前世界上最流行的计算机编程语言,全球共计有25亿Java器在运行Java,几百万的Java开发者遍布世界各地,Java运行在数以亿计的手机、智能卡和PC机上。可以说,我们每时每刻都在感受Java的魔力。对于想要成为Java工程师的青年朋友来说,Java工程师要掌握哪些技能呢?
在中国,越来越多的企业因为使用了Java而提高了生产效率,因此,企业也越来越重视Java人才的培养。据不完全统计,目前国内对Java工程师的需求已达50万,并且还在以每年20%的速度增长,需求大于供给,让很多青年求职者想要成为一名Java工程师。=
1、Java语言
Java语言是基础,因为Java的语言体系比较庞大,包含很多模块。其中,对于数据库管理系统的使用是必不可少的,Java工程师应该做到与数据库建立连接、发送SQL语句并处理结果。另外,Servlet技术、JavaServer Pages(JSP)技术及JavaBean(Application)应用组件技能也都是Java工程师需要掌握的。
2、XML语言
在服务器和设计模式结构中一般会应用到自定义文件,现在普遍比较流行用XML去定义配置。因此,Java工程师一定要掌握。目前,Java2平台企业版架构备受开发者推崇,这将是强大系统架构同高度灵活的数据管理方案的结合。这也是Java工程师必须要掌握的重要技能之一。
3、框架机构的设计
Java语言并不是非常难,但是整体设计需要应用到一些高级应用框架。对于Java工程师来说,只掌握Java语言是远远不够的,同时还应该具备一些和设计模式相关的知识,因为设计模式在项目实施中起着核心作用,将直接决定着项目的应用、部署和实际开发设计。因此,Java工程师应该掌握这项技能。
4、有针对的分析
Java语言是完全面对对象的语言,所以懂得分析,有针对性在项目设计时会有很大的帮助,通过对项目业务关系的分析,尽快找出业务逻辑主要面对的对象,才能真正实现对每个对象进行行为划分,Java工程师只有掌握这项技能,最终才可以实现对象之间的集成和通信。
5、团队协作能力 作为基本素质,很多人认为团队协作能力并不是最重要的能力,但是反而在关键时刻最被看重,这也是企业选择人才最重要的一个判断。Java程序员并不是独行侠,任何人的力量都是有限的,没有团队协作能力是无法完成真正的大项目的。所以,团队协作能力也是Java程序员必须拥有的素质之一。
除了上述之外,对于立志成为Java工程师的青年人才来说,拥有学习和总结的能力并对工作保有热情也是非常重要的,技能和实战经验都可以通过青麦学院这样的互联网&IT人才孵化中心实训来达到,但是良好的工作习惯和素养却是一生都要去践行的。