Java高级编程技术(java高级程序)
java高级编程好学吗
这个要怎么说呢,好不好学要看你自己了!
如果你对java有兴趣的话像真正的学并且能学进去,那应该难度不大。如果你只是一时兴起,不建议学。我自己的感受,不管是JAVA、c++、C#或c凡是编程类的东西都必须要极其细心,否则的话会让你崩溃到极点。
马马虎虎的话,一个小小的标点符号能让你磨蹬半天,当然这只是初学者才会有的低级错误!更不用说让你写个规模相当大的工程了。但相对于其他编程语言来说java应该算是简单的了,但同样需要细心!
下面是一些学习资料希望对同学有帮助。java学习、java入门:java学习、java入门:Java开发实战经典??
|- 第1章 JAVA概述及开发环境搭建:Java的主要作用、特点、开发环境、classpath。 |- 第2章 简单Java程序:public class和class的区别,程序的基本结构、关键字。 |- 第3章 JAVA基础程序设计:各种循环控制、运算符。
|- 第4章 数组与方法:数组的定义、动态初始化、静态初始化、内存分配、方法定义格式、方法重载、两个新特性:foreach、可变参数。
|- 第5章 面向对象(基础篇):类与对象、类的定义结构、构造方法、private、static、this、引用传递、内部类,在本章一定要掌握简单类的开发方法。
|- 第6章 面向对象(高级篇):类的扩展、super、final、抽象类、接口、多态、实际分析。
|- 第7章 异常的捕获及处理:异常的产生原因、标准异常的处理语句格式、throw、throws、assert
|- 第8章 包及访问控制权限:包的作用、package、import、系统常见包、四种权限的关系
|- 第11章 Jva常用类库:在学习本章的时候不要花太多的经历去记住类的使用方法,关键是要学会如何查询文档,Java提供的系统类太多了,每个人是不可能全部记下来的,用到何种功能大概可以想起来,之后通过文档查询其具体用法就行了,没有一个人可以将所有的类库都背下来,
只需要将常用的灵活掌握即可。例如:StringBuffer、垃圾收集、Date、SimpleDateFormat、正则、比较器
|- 第12章 Java IO:面向对象的核心体现,File、OutputStream、InputStream、Wirter、Reader、Serializable
|- 第13章 Java类集:作用及使用、Collection、List、Set、Map、Iterator等核心接口使用
|- 第17章 Java数据库编程:MySQL、SQL命令、Statement、PreparedStatement、
ResultSet、事务处理,因为本书不是一本专门讲解数据库的书籍,所以在讲解的时候只是介绍性的讲解了部分的SQL语句。
Java游戏高级编程的内容简介
在第1章“配置开发环境”中,我向读者介绍了将要在整本书中使用的代码库。描述了这个库的设计,并给出了编译示例游戏的说明。可能会在游戏开发环境中使用的一些附加代码、图形和音频文件,也在本章确定了下来,还介绍了软件开发的一些流行工具。以模板的形式给出了一个演示Java游戏编程基础知识的游戏示例。
在第2章“部署框架”中,我们关注的重点是在可以安装在多种不同类型的平台上的一个框架中部署游戏。在动画线程管理技术的相关内容中,介绍了一个被广泛使用的框架接口以及applet生命周期。在对适合于游戏的不同发布而进行不同部署的选项进行了一个简要的回顾以后,给出了允许游戏部署在不同开发环境中而不需要任何修改的一个抽象层的源代码示例。
在第3章“Swing动画”中,介绍了一个基于Swing的动画库,这个动画库会在整本书中使用。这一章主要考虑的问题是动画的性能和灵活性。在介绍核心动画引擎类的源代码时简单介绍了优化权衡。
在第4章“动画库”中,介绍了通用动画任务的一个类集合。这些类提供了很多功能,例如场景管理和Sprite实现。它们也用来介绍怎样开发与核心动画引擎类互操作的游戏特定代码。
在第5章“高级图形技术”中,介绍了高级图形技术,包括硬件加速图形、多缓冲和全屏独占模式。给出了使这些技术的使用变得更加方便的可重用类和使用这些可重用类的示例游戏。对其中的每一个技术,都介绍了关于它们使用方法的一些限制。
在第6章“持久数据”中,对在各种部署框架中加载和保存游戏数据的机制进行了对比。在这个过程中还介绍了可以用于大多数游戏编程的可重用数据持久性的类库。对更加高级的持久性需求的其他选择也进行了考虑。
在第7章“游戏体系结构”中,介绍了适合于Java游戏开发的面向对象的软件体系结构的优点。使用这种体系结构的一个示例游戏是作为新游戏开发模板进行介绍的。本章还简单介绍了一下数据驱动的设计。
在第8章“A*算法”中,介绍了现在在游戏行业中最流行和最常用的一个人工智能(AI)算法的实现。本章还介绍了使用A*算法绕过障碍物寻找路径的示例。
在第9章“HTTP隧道技术”中,介绍一个可以在大部分Java游戏部署环境里常见的安全限制以内进行操作的一个联网库。本章还给出了一个示例,在这个示例中,数据在服务器和客户机之间进行传递。
在第10章“HTTP轮询机制”中,将联网库扩展以支持在线多玩家游戏。使用轮询来同步客户机和服务器上的游戏状态。在由单玩家游戏向多玩家联网游戏的转换中,介绍了我所推荐的软件体系结构的灵活性。
在第11章“HTTP Pulling机制”中,事件驱动的消息是作为轮询的另一个选择而推荐使用的。使用在前面两章中介绍的这些类,演示了这是怎样在无符号applet的安全限制以内实现的。使用这些技术进行进一步开发的一些建议已经超出了本书的范围,这里只进行简单的介绍。
本书合作站点
本书应该保持其“高级性”。为此,我专门为这本书建立了一个Web站点。从这个站点上,您能够订阅与本书相关的电子邮件列表,包括补充的指南和勘误表。您将能够测试和运行本书所介绍的示例游戏,并下载开放源代码库和用来创建这些游戏的公共领域的多媒体文件。针对老师,我已经在Creative Commons Attribution License下发布了我在讲授游戏开发课程中使用的课程提纲、幻灯片和布置给学生的作业。我也提供了我的联系方式,这样您可以将您的建议和意见反馈给我,以便我以后进行更正。
在开始阅读第1章以前,请先访问网站,并订阅Advanced Java Game Programming通知邮件列表。
IV
Java游戏高级编程
Java高级编程有哪些知识呀
昆明的花信致远java重点:
*第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架;
*第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及;
*第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分;
*第四阶段:数据库SQL基础,包括增删改查操作以及多表查询;
*第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;
*第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,CRM思想;
*第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;
*第八阶段:JavaScript脚本语言,包括javaScript语法和对象,就这两个方面的内容;
*第九阶段:DOM编程,包括DOM原理,常用的DOM元素以及比较重要的DOM编程思想;
*第十阶段:Servlet开发,从此开始踏入java开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,这个是java web开发的基础。
*第十一阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念;
*第十二阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库;
*第十三阶段:轻量级框架,三大框架之一Struts框架的学习,自此踏入java web开发的精华部分,包括Struts体系架构,各种组件,标签库和扩展性的学习;
*第十四阶段:Hibernate框架学习,三大框架之一,包括检索映射技术,多表查询技术,缓存技术以及性能方面的优化;
*第十五阶段:Spring框架的学习,三大框架之一,包括了IOC,AOP,DataSource,事务,SSH集成以及JPA集成;
一个高级java工程师需要具备什么能力和技术
宏观方面
一、 JAVA。
要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)
工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您
对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。
二、 设计模式。
其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代
码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。
但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?
三、 XML。
现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解
XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置
信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。
四、 精通使用一种或两种框架。
“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开
发使你可以省出很多的开发成本”。这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您
会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。
五、 熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了
更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出
身,您还需要补充一些数据库原理方面的知识。
六、 精通一种或两种WEBServer。
因为作为JAVA工程师,特别时
想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它
的资源,这往往可以节省很多时间和精力。
七、 UML。
您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队
中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但
却很重要。
八、 站在高度分析问题:
这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而
不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在
您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。
九、 工具。
您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对
ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧
微观方面
1.Core Java部分
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a.面向对象编程思想(封装继承多态接口)
b.字符串处理
c.java.lang包,java.util包等常用包
d.java异常处理
2.Java高级部分
a.Java I/O流
b.Java多线程技术
c.Java网络编程
d.Java Swing
后两项可以了解即可,如果项目需要可以深入研究
3.前端基本技能
* HTML + CSS网页开发
* JavaScript
* Jquery
* 浏览器兼容性 CSS hack(了解)
4.熟练使用JSP + Servlet进行开发
5.MVC设计模式,原理,以及相关框架,如Struts
6.SSH框架
7.缓存技术 session cookie
8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式 ==
11.Java反射机制
反射的各种用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,环境变量
14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15.数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目
20.了解windows系统批处理脚本bat
21.了解HTML5,最好学习过
22.熟悉一种JS框架,如Prototype
23.J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一门脚本语言,如python ,ruby
26.了解php/ asp
27.了解ftp协议及原理
28.熟练使用Junit测试,熟悉Mockito等测试工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
31.了解Flex(不学也没关系)
32.了解敏捷开发模式
33.工作流workflow至少用过一种,如OSworkflow,了解原理
34.使用过VPN了解其原理
35.熟悉jstl表达式和el表达式
36.熟悉webservice,WSDL,SOAP
37.图片处理,如图片上传,预览,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40.分页技术,最好自己实现过不仅仅是用过要知道原理
41.Java Mail
42.Java读写txt,excel,JXL技术
43.JVM原理,JVM内存管理,GC,Java堆栈池
44.熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程
45.UML建模工具Rational Rose等
46. 使用log4j
47.使用过开放Api如百度,腾讯街景,新浪微博等
48.页面静态化技术(伪静态页面)
49.报表技术,使用过报表制作工具,如水晶易表。
50.定时任务,如Spring batch ,学会自定义batch任务(不适用第三方工具)
51.了解uuid
52.b/s 和 c/s架构
53.正则表达式
54.了解jndi jms
55.ERP
56.UNICODE编码,乱码解决
57.开源网络编辑器,如ckEditor
58.二进制原理
59.使用过,了解过开源论坛框架,如discuzz
60.GWT,Closure框架
61.了解大数据,云计算
62.搜索引擎搜索技术
63.软件工程,项目管理
职业要求
教育培训
计算机相关专业,大专及以上学历。相关专业证书有:Sun Certified Java Programmer(SCJP)和Sun Certified Java Developer(SCJD) 认证。
工作经验
有一定的软件分析设计能力;熟悉Java、Servlet、JSP、EJB等开发技术;熟练使用Eclipse或jbuilder等java开发工具;熟悉JAVA+STRUTS体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。
薪酬参考
据智联招聘上对上海java工程师的薪资据说显示,截止到2012年6月13日,java工程师的平均水平已达6435。根据现在移动互联网中安卓市场的份额,相信这一职业的工资水平会一直上升。
就业前景
Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言。这可以概括JAVA有着自己独特的优势:语言简单、是一个面向对象、分布式应用并且安全、体系结构中立并且可移植,最重要,它是一个动态语言。
权威统计机构统计——在所有软件开发类人才的需求中,对 JAVA工程师的需求达到全部需求量的60%~70%。JAVA工程师的薪水相对较高,通常来说,具有3~5年开发经验的工程师,拥有年薪 10万元是很正常的一个薪酬水平。
JAVA发展方向
一是成为管理人员,例如产品研发经理,技术经理,项目经理等继续;二是他的技术工作之路,成为高级软件工程师、需求工程师等。
还是看看IDC Java工程师的薪水相对较高。 Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。
JAVA就业方向:可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。
成为java高级程序员需要掌握哪些
张小喜告别996 实现高效编程 减少开发压力 开启Java高效编程之门(完整版高清视频)百度网盘 ?
链接:
提取码: aizj 复制这段内容后打开百度网盘手机App,操作更方便哦? ?
若资源有问题欢迎追问~ ?
零基础学习Java编程需要知道的十二个步骤!
一、学习前的准备工作java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理、Unix开发环境、Unix常用命令。熟练掌握Unix常用命令;熟练构建下的Java开发环境。二、Java语言基础的学习阶段学习任何一门语言都要打好基础,曾经学过高级程序语言(C,C++等)来说,java语言基础有自己的特点,但是基本规律都是相通的,如:算法基础、常用数据结构、企业编程规范。掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。
三、面向对象语言的共性Java面向对象面向对象特性:封装、继承、多态等。掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本实现原理。?四、JDK核心API语言核心包、异常处理、常用工具包、集合框架熟练掌握JDK核心API编程技术;理解API设计原则;具备熟练的阅读API文档的能力;JavaSE核心异常处理、多线程基础、IO系统、网络编程、Swing组件、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性。熟练掌握JavaSE核心内容,特别是IO和多线程;初步具备面向对象设计和编程的能力;掌握基本的JVM优化策略。XMLXML语法、XML解析(SAX、DOM)、Dom4j组件、Digester组件。熟练掌握XML语法规则;理解DOM模型;熟悉Java对XML的各种解析方式。五、SQL语言SQL语句基础和提高、SQL语句调优熟练的掌握SQL语句;掌握一定的数据库查询技巧及SQL语句优化技巧。Oracle数据库开发Oracle体系结构及系统管理、Oracle数据库高级编程、数据库设计基础。掌握Oracle体系结构及核心编程技术。六、连接数据库:JDBCJDBC核心API(Connection、Statement、ResultSet)、JDBC优化技术(缓存技术、批处理技术、连接池技术)理解JDBC作为规范的设计原则;熟练掌握JDBCAPI;具备使用JDBC对数据库进行高效访问的能力。七、软件工程基础软件过程和软件活动需求设计、概要设计、详细设计基本原则和文档规范;配置管理的基本概念和必要性;CVS基本操作;Ant简介理解软件过程的普遍概念和基本的软件活动;理解迭代的意义;掌握Ant、CVS等常用配置管理及部署工具。八、OOAD及设计模式面向对象基本设计原则、工厂模式、策略模式、适配器模式、代理模式等、门面模式理解面向对象设计的一般原则;理解重用的意义;掌握常见的设计模式。九、HTML/CSSHTML基本文档结构、掌握CSS基础语法、关于HTML文档块、链接、列表、表格、表单等掌握十、Ajax基础、XHR对象、Ajax设计模式、JSON技术掌握Ajax的基本通信原理;掌握基于XML和JSON的Ajax数据规则。十一、JavaScript框架JQuery、JQuery插件、DWR掌握JQuery核心API;了解JQuery基本设计原则;了解多种JQuery插件;掌握DWR的基本原理及应用技巧。十二、ssh三大框架的学习这是企业实际应用的框架模型:1,Struts2.1.6Struts2核心控制流程、Ognl、Action、Interceptor、,Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。熟练掌握Struts2核心要件,特别是Interceptor和Result;掌握基于模板技术的Struts2UI组件;掌握基于Ognl的数据共享方式、掌握Struts2各种定制及扩展方式;熟练掌握基于Struts2的Web开发技巧。2,Hibernate3.2.1ORM概念、Hibernate核心API、Hibernate实体映射技术、Hibernate关系映射技巧、HQL查询、OSCache及Hibernate缓存技术。重点掌握Hibernate多种关联映射技巧及其实用背景,做到在合适的时候使用合适的关联方式;掌握多种Hibernate查询技巧及优化技术。3,Spring2.5SpringIoc基础、Ioc注入技巧、对象高级装配(自动装配、模板装配、组件扫描特性、FactoryBean、对象生命周期)、SpringAOP原理、AspectJ、SpringJDBC支持、Spring事务及安全管理;Spring整合Hibernate、Spring整合Struts、SpringMVC简介。深入理解Ioc和AOP的基本原理和实现方式;熟练掌握SpringIoc及AOP实现方式;熟练掌握Spring事务管理;熟练掌握Spring与其他组件的整合技术。