学习JAVA之前有必要学习C++吗[5篇材料]

时间:2019-05-15 10:26:59下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《学习JAVA之前有必要学习C++吗》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《学习JAVA之前有必要学习C++吗》。

第一篇:学习JAVA之前有必要学习C++吗

学习JAVA之前有必要学习C++吗?

在很多大学计算机或软件专业的教程中,C语言及C++往往作为必修课,JAVA往往作为选修或限修课程。C语言是应用最广的语言,在很多工科专业,如机械、电气、通信等都会开设C语言课程。而C++和JAVA作为高级语言,则往往只有计算机类相关专业开设。那么,作为一个想要往软件领域发展的童鞋来说,先学C++还是先学JAVA?如果打算毕业从事java开发,有必要学习C++吗?下面就针对这个问题给大家以简要分析:

JAVA和C++基本思想相同

JAVA和C++都是面向对象思想,同属于高级编程语言。一般来说,做任何高级开发,使用两种编程语言都可以实现。JAVA可以算是C++的表亲,C++也算是JAVA的前辈。JAVA是参照C++的精髓而创造出的编程语言。JAVA希望能取代C++,同时使编程变得简单。JAVA比C++简单

JAVA比C++简单的多,因为C++里有许多比较难的概念,尤其对于初学者来说,比JAVA要难的多。JAVA的初衷就是要比C++简单,而JAVA比C++多的一个优势即时跨平台性,这实际上也使java变得简单,由此可见,JAVA创始人的目的就是使java变成一门容易掌握且强大的简单高级语言。

时间充足的大学生最好了解一下C++

大学生时间比较充足,所以学一下C++还是很有必要的。因为C++中有些内容是非常巧妙的,C++在性能方面要强于JAVA。当然,是先学C++再学java,还是后学C++,都无关紧要了,实际上两者基础部分差不多,从继承和多态处才开始不同。

快速学习者最好精于一门

编程语言,一通百通。你精通了一门,学习其他的就很快了。如果你时间不充足,比如上java培训班的同学们,时间紧迫,不可能兼顾学习java和c++,肯定是从一门由始而终的学到底。这样能够比较快的掌握编程语言,以后时间宽松,则需要多接触一下其他技术,丰富自己的知识技能体系,使自己成为一个真正的“能手”。

第二篇:java之webservice_aegis.xml学习

*.aegis.xml学习

public interface UserInfo {

public User findUserInfosByUserID(String userUniqueID);

public String test();

public Collection findRoleInfosByUserID(String userUniqueID);

}

观察此接口,受限我们看findRoleInfosByUserID方法,此方法传入String,返回类型为Collection,此时,我们即需要配置findRoleInfosByUserID方法。

配置步骤,在接口类的同一包下建立和接口名相同的aegis.xml文件,即UserInfo.aegis.xml文件。

UserInfo.aegis.xml

Java代码

其中,method代表需要配置的方法名,由于XFire可以支持基本类型,针对集合类型时,需要配置,返回类型或参数类型为基本类型时不需要特殊配置。

为配置返回类型,componentType属性代表返回的集合中所包含的类,此类可以是自定义的对象,也可以是基本类型,例如java.lang.String

此时,findRoleInfosByUserID方法配置完毕

PS,还拿此接口举例,如接口中,findRoleInfosByUserID接受的参数也为集合类型,那么需要在之间再加入以下代码

Java代码

index=“0”代表方法的参数的序号,0即第一个参数。

componentType代表集合参数内包含的类型,也可以为自定义对象,例如User

注意,如果findRoleInfosByUserID方法有两个参数,一个比如为String,一个为集合,那么只需要配置集合参数即可。

二。映射POJO

比如还是上面的UserInfo接口,第一个方法

public User findUserInfosByUserID(String userUniqueID);

此时,返回类型为User

如果User中仅为基本类型,例如String,int等基本类型,无需配置User

但如果User中还包含有其他类型,比如包含有Set,List,那么需要对其进行配置

比如User代码如下:

Java代码

public class User implements java.io.Serializable {

private Integer userId;

private String loginName;

private String userPassword;

private Integer SOrder;

private String userCa;

private String userName;

private String userTel;

private String userEmail;

private String ZNote;

private String userCode;

private DicSystemAuth SDicSystemAuth;private

Set SGroupUsers = new HashSet(0);private Set

SUserDepts = new HashSet(0);

}

此时User中还包含有SDicSystemAuth的对象,以及SUserDepts等Set集合这种情况主要可能会出现在使用Hibernate,映射一对一,一对多表时

这里要特别注意

那么此时我们需要对User进行aegis绑定,控制POJO和XML的映射

配置方法:

在User对象所在包内建立User.aegis.xml

由于User中包含Set,那么只需要对集合做设置即可,DicSystemAuth下面单独讨论

我们可以分两次来配置,分别讲解

1,Java代码

此时,配置文件中配置了两个Set集合,componentType明确定义了Set集合内包含的内容

此时,DicSystemAuth即便是自定义的对象类,由于不是集合,XFire也可以对其正确映射。

Java代码

第二种方式,定义了三个字段,并使用了ignore属性,表示这三个属性不能被序列化。

那么,何时会遇到类似于User中Set集合,不被序列化呢?

当客户端访问本地代理时,如果User表内包含有其他表的关联时,如果基于hibernate的持久层,由于hibernate的惰性加载机制,加载User时仅会将User中的属性值加载而不会加载关联表中的值,比如set和SDicSystemAuth对象等,当客户端访问本地代理,序列化User对象时,如果没有设置关联字段是否序列化,那么它会将其全部序列化,但当序列化时,由于hibernate的惰性加载,此时Session已经关闭,那么在序列化关联字段的时候,就会出现session was close的异常。因此解决办法是在aegis绑定时制定关联字段的ignore属性设置为true。

还有一种解决办法,就是仍然按照第一种配置方式,明确指明关联的Set集合内的对象,但在执行序列化前,session关闭之前,提前将关联字段内的值初始化。

用Hibernate.initialize初始化

最后补充一小句

XFire对于自定义的对象可以聪明的找到,前提是它不包含集合例如你的方法返回一个User对象

User中都是基本类型,或者User中包含有Dept对象的引用,都没有问题。

但如果你不希望加载user时序列化Dept出问题,就乖乖把dept初始化或将dept的ignore属性设置为true

本篇文章没什么头绪,想哪儿写哪儿,主要是对这段时间的xfire的基本的学习的一个小结,所以没有太注重词语搭配,以看懂为主。。有时间再来整理整理

注意问题:

当遇到需要映射POJO或配置WebService接口方法返回类型(如集合类型,自定义对象类型)时,需要进行绑定,此时aegis的绑定为建立 xxxx.aegis.xml的文件(xxxx为对应的实

体名,如User.aegis.xml)。对于正常的String,int类型的数据,无需做特别说明就能映射。对于Collection类型,需要如下配置:(例如User对象里包含一个roleList属性)

这是如果你的Role对象里都是基本数据类型,则可以不写Role.aegis.xml,但如果Role对象里也有其他类型的对象,则同样需 要配置Role.aegis.xml。

当然如果你不想映射roleList,可以这么配置(所以无需映射的属性都可以这样配置):

注意:对于一些非标准的写法需要做特殊处理。

例如:在User实体类里有一个方法getOrg(),返回Department对象,但是User实体里面并没有org属性(正因为如此,我称之为非标准写法),这个时候,如果不特殊处理,此处会出现如下异常:

java.lang.StackOverflowError

at com.ctc.wstx.sw.BaseNsStreamWriter.closeStartElement(BaseNsStreamWriter.java:387)

at com.ctc.wstx.sw.BaseNsStreamWriter.checkStartElement(BaseNsStreamWriter.java:436)

at com.ctc.wstx.sw.SimpleNsStreamWriter.writeStartOrEmpty(SimpleNsStreamWriter.java:257)

at com.ctc.wstx.sw.BaseNsStreamWriter.writeStartElement(BaseNsStreamWriter.java:318)

at org.codehaus.xfire.aegis.stax.ElementWriter.writeStartElement(ElementWriter.java:116)

at org.codehaus.xfire.aegis.stax.ElementWriter.(ElementWriter.java:61)

at org.codehaus.xfire.aegis.stax.ElementWriter.getElementWriter(ElementWriter.java:161)

at org.codehaus.xfire.aegis.type.basic.BeanType.getWriter(BeanType.java:421)

at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:386)

………………

此时你无法跟踪。

解决办法:在User实体里增加一个org属性,在User.aegis.xml里增加对org属性的配置就行了。

客户端访问方法:

package com.nstar.xfire.client;

import java.util.List;

import java.net.MalformedURLException;

import java.util.ArrayList;

import org.codehaus.xfire.*;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.nstar.xfire.IHelloWordService;

import com.nstar.xfire.Student;

public class HelloWorldClient {

/**

* @param args

*/

public static void main(String[] args){

Service serviceModel = new ObjectServiceFactory().create(IHelloWordService.class);

XFireProxyFactory factory =

XFireProxyFactory(XFireFactory.newInstance().getXFire());

String url = “http://10.232.75.61:8090/Xfire/services/HelloWordService”;

new

try {

IHelloWordService service =(IHelloWordService)factory.create(serviceModel, url);

List list = new ArrayList();

List list1 = new ArrayList();

list.add(new String(“测试”));

int age = service.getAge(“边苏涛”);

String name = service.getName(1);

Student s = service.getOneStudent(27);

list1 = service.getStudent(list);

System.out.println(“边苏涛's age ==”+age);

System.out.println(“学号为1的学生姓名 ”+name);

System.out.println(“age == ”+s.getAge()+“ name == ”+s.getName()+“ list content ”+s.getList().get(0).toString());

System.out.println(list1.size());

for(int i=0;i

System.out.println(list1.get(i).toString());

}

} catch(MalformedURLException e){

e.printStackTrace();

}

}

}

第三篇:学习Java培训有前途吗

学习Java培训有前途吗?

时光匆匆,一转眼,来兄弟连已经一个多月了,我们也学到了很多,悟道了很多,时间就是金钱,在当前阶段,我们也是老大不小了,在这个年纪应该承担的也有很多,我们必须为自己的未来负责,所以,现在时间对于我们来说,就好比是金钱,就好比李明老师说的,因此,你现在的每一天都是很珍贵的,珍惜每分每秒就等于是收获金钱,现在的我们不努力,以后就是自己的苦难日,有这样一句名言:“少年不努力,老大徒伤悲”,当我们不再是年少的时候,不再是那个懵懂无知的少年,你需要为你的未来负责,所以,现在浪费的每分每秒,就等于是浪费你的金钱,更是浪费你的生命。Java培训-兄弟连教育

时间就是生命,每个人的生命是有限的,更是可贵的,当你对时间不负责的时候,就是对你生命的不珍惜。时间这个概念对我们来说再熟悉不过了吧,在我们每天的生活中都离不开它,然而,我们每天度过的大把时间中,有多是对自己有效的呢,又有多少是白白浪费掉了呢,当你在不知不觉间,这一天就过去了,甚至一个月、一年,但是你会头想想,在这些度过的时间里,你真的收获到了多少。也许我们会抱怨时间太少,时间太短暂,来不及去完善人生,然而,你先过没有,我们生活之中,有多少时间是我们不能利用,让它白白流失,当我们回头的时候,已经来不及后悔,所以,我们应有效的利用时间,善于组织有效的时间。树立明确的时间管理目标;成功等于目标,时间管理的目的是在最短时间内实现更多想要实现的目标。人生旅途上,没有木目标就如在黑暗中行走,不知该往何处。有目标才有方向,目标是前进的推动力,能够淋漓尽致的激发人的潜能。明确目标对于构建成功人身至关重要。时间如流水,一去不复回,时光匆匆,当你回头的时候才发现人生已过去一大半,再也无法挽回的青春岁月,年少时光,所以们因承时光大好,珍惜应有的时间,学会去管理和利用人生的每份每秒,还自己一个美好的未来!

第四篇:C++学习步骤

学习C++有那些步骤:

1。学习C++基本语法,参考书籍《C++程序设计》》钱能著,或《C++程序设计教程》DEITEL著,我看的是后者;

2。学习数据结构,参考书籍《数据结构C++语言描述——应用标准模板库(STL)》William Ford著;

3。学习STL,参考书籍《C++标准程序库》候捷译;

4。学习模板,参考书籍《泛型编程与STL》候捷译;

5。深入STL内部,直到能自己写出STL的源码,参考书籍《STL源码剖析》候捷译;

6。学习I/O方面的知识,参考书籍《Standard C++ IOStream and Locales》;

7。重温整个C++体系,参考书籍《C++ PRIMER》和《the c++ programming language》;

8。学习前人的技巧和方法,参考书籍〈effective c++>,;

9。再往上走,从宏观上把握C++程序设计体系,参考书籍<设计模式>,《深入探索C++对象模型》,<大规模C++程序设计>;

接下来就可以分2条路走了:

一、偏理论的道路,考研,注意,不是考计算机系,是考数学系,学习集合论,图论等知识,有一套书叫〈计算机程序设计艺术〉一至三卷,等你把他们都看完了,理解透了,就可以直接去微软投简历了。

二、偏应用的道路,学习windows编程,学习MFC,COM,ATL,以及整个.NET体系。

第五篇:c++学习感想

C++的学习感想

06光信2班赵飞学号:060105021106记得大一下学期学习C语言的时候,我们都有这样的困惑:课堂和教材的内容基本上都能接受和理解,但真要实际动手编写程序又感到脑袋一片空白而无从下手;其二,整个课程的所有内容好不容易学完了,但对编写实用化的程序,总感到眼花缭乱而无法下手,真个儿“欲起平之恨无力”。以至于在很长一段时间里在我的内心里产生了一种学习C语言和c++的恐惧感,认为自己不是学C语言和c++的料,将来打死我也不会朝C语言和c++的方向发展。

到了大二后,看着我周围的同学一个个地去参加计算机等级考试,拿了很多证书,一种羡慕感油然而生,决定也要像他们那样多掌握些计算机方面的知识和技术。在我的视野里消失了一年多的C语言和c++又在我的心目中占有了一席之地。我开始决心学好它。恰逢本学期开设了选修课c++,我便毅然决然的报了名,在这门课程快要结束的时候,我也参加报名了计算机等级考试二级c++,看看我这个学期是否真的学了一些东西。

崭新的21世纪,以现代电子信息产业为龙头的全球经济一体化浪潮正席卷世界。此时的我们面临着巨大的挑战和机遇。而以IT技术为基础的信息产业正深入到人类社会生活的方方面面,无论是生产制造、国防和科技等领域,还是第三产业,计算机软件现已成为担任重任的核心力量,互联网和软件已成为新经济发展的重要基础。因此,计算机软件技术将是各类专业的大专生、本科生和研究生必备的基础知识。

c++是著名的C语言的面向对象的扩展。C语言最初设计时是作为一种面向系统软件(操作系统Operating System和语言处理系统)的开发语言,即是用来代替汇编语言的,但是由于它强大的生命力,在事务处理、科学计算、工业控制和数据库技术等几个方面都得到了广泛的应用。即便进入到以计算机网络为核心的信息时代,C语言仍然是作为通用的汇编语言使用,用以开发软件、硬件结合的程序,如实时监控程序、控制程序和设备驱动程序等。而c++是C语言的超集,它保留了C语言的所有组成部分而与之兼容,既可以做传统的结构化程序设计,又能进行面向对象程序设计,也是当今世界上比较流行的程序设计语言。因此,学好c++对我们未来找工作大有裨益。

对于c++的学习,我有一些学习方法可以和大家分享,并认为通过这些方法可以使我们的编程技术获得较大提高:

第一,是要加强实践。C++程序设计语言是一门实践性非常强的课程,若要真正掌握编程技术,使编程能力有较大的实质性的提高,必须在认真听课勤做笔记并读懂教材的基础上,通过上机实验加强开发软件的基本技能训练。只有勤学苦练才能积累宝贵的编程经验,悟出编程技术的要领,牢固地掌握像Borland C++和Visual C++这样优秀的应用程序开发工具,快速冲向计算机应用领域的前沿。

其二,便是要学习掌握相关的程序库(c++当然首先要掌c++标准程序库)、相关的平台技术(eg.NET),因为这些都是学习c++应掌握的辅助知识。在众多的计算机学科中,有很多都出现了内容的交叉现象。我们在学习c++的时候,如果能多看看有关这方面的书和查查相关的资料,对我们地学习也不无裨益。在这些程序库和平台技术上,我们还要锻炼自己对目标问题的分析和归纳能力,做到能够知其然且知其所以然,并能举一反三,扎实、灵活和系统地掌握编程要点。

第三,便是要多看有关c++的资料书。选取一两本自己能够容易看懂的c++方面的书,进行精读,和细读。在学校的图书馆阅览室有很多关于c++编程方面的书籍和资料,我们可以借几本过来,对照着看看,对我们的学习是一定有帮助的。

最后,便是要持之以恒,锲而不舍。罗马的建成不是一日之功,任何学问的从熟练到精通都不是三天两天的事。我们必须明白这个浅显的道理。学习c++本身就是一项艰苦的历程。浮躁的人、没有忍性的人,是肯定学不好c++的。我们必须有狂热的编程热情,否则是很难坚持下去的。我们也必须学会自信,因为有些时候尽管我们花了相当多的时间和精力,我们也不能写出一个程序。写程序确实是很麻烦的,有时需要顿悟,有时需要渐悟。当我们真正学好了,学精通了,便会有“一览众山小” 的感慨了。我们就会因此而有一种莫言的自豪感。

如今美国的次贷危机引发的全球经济危机正袭击着中国的沿海地区,许多的工厂在经济危机的打击下倒闭了,我们的就业压力变得更大了。能否在未来的激烈竞争中脱颖而出、出人头地完全要靠我们的真才实学。在软件技术行业,我们必须掌握好c++。通过对c++的学习达到精通后,我们还可以进一步学习Java、c#等,这时学习这些语言就相对较轻松了。其实只要我们能真正地把c++程序设计语言学精、学透,是不愁找不到工作的。

对我们光信息科学与技术专业,通过学习c++程序设计语言,我们可以用它来进行光学计算、光学设计等,将那些不能通过手工计算设计的,可以通过c++编程算出来,尤其是关于卷积积分、傅里叶变换、拉普拉斯变换等关于高等数学方面的数学物理方程。还有Zemax的光路设计等。可以说,学好c++对我们学光信息科学这一专业的,意义非凡。

因此,我必须努力掌握好它,为自己能够在以后找份好工作打下坚实的基础。

2008.12.16

下载学习JAVA之前有必要学习C++吗[5篇材料]word格式文档
下载学习JAVA之前有必要学习C++吗[5篇材料].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c++学习经验交流

    曾经因为自己的一些帖子在网上引起了大家对C++学习和使用的讨论,再回想起自己接触C++三年多,一年前鼓足勇气重新开始再次学习的情景,现在的我心中多了几份感慨,更多的是觉得自己......

    JAVA学习

    1 买本《java疯狂讲义》 或者 在网上下载下来看看2 主要看java语法部分和面向对象编程部分3 这些要速度过 接下来开始写一些小例子 从例子里面学习会更快4 例子差不多了就开......

    java学习

    .如何学习Java? 3.1 Java学习路线 3.1.1 基础语法及Java原理基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你......

    学习Java编程,就只能做Java程序员吗?

    学习Java编程,就只能做Java程序员吗? 作为世界上使用最广的语言之一,Java 的拥趸和其他语言的粉丝常常在各大论坛掀起世界大战。 Java 说『Write Once,Run Anywhere』 但还有人......

    C++ 学习之路之感想(推荐阅读)

    1. 认真选好C,C++ 在面向对象的语言中,谈论最多的莫过于C++和Java,个人认为讨论C++或Java谁优谁劣已经没有意义。Java在网络环境和跨平台的开发上具有很好的优势,C++则在效率方......

    C++“指针”学习建议

    一.对于众多人提出的c/c++中指针难学的问题做个总结: 指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下......

    Java学习周报

    Java学习周报 随着时间的推移,学习Java已经是第二周了。在这一周中,可以说是充分体验了困难与收获。经过第一周的熟悉,Java学习越来越深入,许多的新知识出现在我的眼前。这其中......

    JAVA学习总结

    ==========Java学习总结========= 从3月8号开班以来我们已经学习Java 有3个多月了,主要学习了Java基础知识、OOP(面向对象)、JavaSE、ORACLE(数据库)、JDBC WebBasic、JQUER......