为什么要学习javajava桌面程序开发发设计

1、我们为什么要学习Java?
& & 我们为什么要学习Java?&&因为Java是简单的、面向对象的、健壮的、安全的、解释的、与平台无关的、多线程的、动态的语言。
1)简单的:Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在三个方面:
& &a、 java的风格类似于C++,因而C++程序员初次接触Java语言就会感到很熟悉。从某种意义上讲,Java语言是C和C++语言的一个变种。因此,C++程序员可以很快地掌握Java编程技术。
& &b、Java摒弃了C++中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。
& &c、 Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。
2)面向对象的:面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。
3)健壮的:Java致力于检查程序在编译和运行时的错误。Java也是一种强类型语言,其类型检查比C++还要严。类型检查帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避免了C++中最头痛的内存泄漏问题。
4)安全的:Java的安全性可以从两个方面得到保证。一方面,在Java语言里,删除了指针和释放内存等C++功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的安全架构能确保恶意代码不能随意访问我们本地计算机的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。
5)解释的:Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而C++程序是编译执行的,C++程序代码被编译为本地机器指令,然后执行。
6)与平台无关的:Java作为一种语言,其原代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关无关的字节码格式,在Java虚拟机上运行。
7)多线程的:Java语言的一个重要的特性就是在语言级支持多线程的程序设计。多线程就好比我们做一张桌子,如果你一个人完成这张桌子――就好像单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿。如果现在有5个人来做桌子――在程序中开辟5个线程,其中1个人做桌面,另外4个人分别做4个桌子腿,那么这两种方式效率的高低很容易区分开来。
8)动态的:Java动态特性是其面向对象设计方法的扩展。它允许程序动态第装入运行过程中所需要的类,这是我们采用C++语言进行面向对象程序设计所无法实现的。在C++程序设计过程中,每当在类中增加一个实例变量或一个成员函数后,引用该类的所有这子类都必须重新编译,否则将导致程序崩溃。
& & Java从以下几个方面采取措施来解决这个问题。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下来,产生一个与平台无关的代码,传给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。一个在存储器中生成的对象不在编译过程中决定,而是延迟到运行时由解释器决定。这样,对类中的变量和方法进行更新时就不至于影响现存的代码。解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。Java’还简化了使用一个升级的或全新协议的方法。如果你的系统运行Java程序时遇到了不知怎样处理的程序,Java能自动下载你所需要的功能程序。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:34733次
排名:千里之外
(4)(11)(2)如果你不懂电脑,还在苦苦自学电脑知识,却不见成效;
如果你大专本科毕业后仍找不到好的工作,还是不停的换着工作,收入朝不保夕;
如果你是应往届高中生且对学历教育不"来电",不想白白浪费几年时间在"非主流"的大中专学校;
如果你在软件行业呆了三五年,仍然是一个菜鸟,工资停滞不前;
也许你有想通过自己的努力学习,改变自己的境遇,那么请不要再瞎想了,请在这里多停留几分钟吧,把你所有的疑惑迷茫写下来,把问题交给牛耳教育,我们会有针对性的给你回复,希望我们的小小建议,能够为你拨云见日;
版权所有:湖南创新牛耳教育咨询有限公司
湘ICP备号-4
地址:湖南省长沙市芙蓉区五一广场文运街省电教馆2-3楼
电话:400-为什么要学习javaEE_编程语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:6,229贴子:
为什么要学习javaEE收藏
选择学习Java EE或是Java ME(或者你还想不断深入学习Java SE,只要你喜欢,你可以一直深入下去,估计选择Java EE方面的学习者会多一些,Java EE所涉及技术非常多,考虑到初学者的接受程度,我会尽量从最常用的角度来介绍。学习Java EE,在开发环境上不建议再用文本编辑器,我感觉NetBeans 5.5(目前最高正式版本)很适合初学者,我个人也很喜欢NetBeans,如果你喜欢用别的IDE如Eclipse,都没问题,看自己喜欢吧。1 学习JSP/ServletJava EE最高版本目前是5.0版本。在Java EE中,首先要学习JSP/Servlet(结合Tomcat、MySQL)技术,建议JSP1.2/2.X的知识都要掌握,毕竟现在很多的在用系统都还 是基于JSP1.2,学习JSP,还必须掌握一些外延技术,如:你还得掌握HTML基础知识,最好再掌握些JavaScript(目前正火的AJAX技术 之一)、CSS的技术,而了解XML是必不可少的(至少描述性配置信息是通过XML来描述的)。在学习JSP/Servlet过程中,应该结合学习 JDBC、数据库开发技术,毕竟绝大多数Java Web项目都是和数据库紧密结合的。2 学习数据库开发技术这里我想重点说一下数据库开发技术,数据库技术是做业务系统必备技能,Java Web开发人员最低程度都应该掌握SQL语句的使用!数据库技术大体可分为DBA技术和数据库开发技术,对于开发而言,应侧重数据库开发技术,而数据库基 本操作,也是要掌握的。常用数据库有DB2、Oracle、SQL Server、MySQL等,你可以结合实际需要,选择一种数据库,并花大力气掌握其开发技术。记住,学习数据库开发技术和学习Java EE,是相对独立的,你可以在学习JSP/Servlet的同时,学习数据库开发技术(如SQL语句等),或者先学数据库开发技术,之后再学习JSP/Servlet。3 学习Java EE其它开发技术再往后,可以学习一些EJB的知识,目前EJB最新版本是3.0,其和前面的2.X版本相比,有较大不同,考虑到目前EJB 2.X还有很大的应用市场,建议结合学习EJB 2.X/3.0。在学习EJB过程中,应同时掌握一种企业级应用服务器的使用(如 WebSphere、Weblogic、Sun Applcation Server或JBOSS等,目前Sun Applcation Server 9.X和JBOSS都可支持EJB 3.0)。之后的学习中,再逐渐扩展到其他Java EE技术。4. 之后等你对Java EE有些感悟的时候,你自然就会想不断扩展你的知识面,这时候你可以学习Spring、Hibernate,以及各种Web框架(如Struts、JSF、Webwork或是Tapestry等)。随着技术、经验的不断积累,你会逐步关注分析、设计等更高层次的知识,这时候,你可进一步学习相关的UML、模式等知识(积累了一定经验,你就可以安排自己学习这些知识了)。5. 小结永远记住:自始至终,实践是学习Java技术历程中极其重要的一环。脱离了实践,是学不好技术的!Java学习、实践之路依然没有银弹,况且一步步走来,要学的东西很多,勤奋是金!善于利用Internet上众多的资源,多吸取些别人的经验。目前关于Java的争论很多,如“Java正走下坡路”、“Ruby必将取代Java”等论点甚嚣尘上,但正如我前面所言,这是一种浮躁的表现,Java的前景非常好,特别是Java开源以后!就让他们去吵去吧,掌握了Java,你就掌握了当前最火的技术。 “梅花香自苦寒来”,当你掌握了扎实的Java开发基础,你就能把手中的这把“屠龙刀”、“倚天剑”舞得风声水起!那时,你一定会有一种成就感
编程语言有很多,目前在开发中常用的编程语言有如下几种:java/Android/iOS/PHP/C#等;哪个编程语言学起来更容易,哪个编程语言更有发展前景,达内专家一一解答,点击了解
你这么厉害我请教你一个问题,就是编程语言调用系统的接口函数可以在别的平台使用吗?比如写java程序调用windows系统api移植到安卓能使用运行吗?
应提醒父母是
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或java课程设计心得体会
当前位置:>>> java课程设计心得体会
java课程设计心得体会
来源:心得体会范文
  本次Java课程设计我们这组做的课题是画随机圆,刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定了设计的设计目标以及具体实现方式,包括如何将Java的思想运用到实际系统的详细设计之中。实验过程中,首先要将系统要实现的功能分为几大模块,然后每个组员分别完成,在此过程中使我加深了对Java的理解,以及如何进行团队工作的划分,学会发现各组员的长处并将其发挥出来。虽然大家没怎么学过Java,但大家都有C语言基础,所以通过努力实验,进一步培养我们利用Java语言进行编程和调试程序的能力,同时使我们能够学会将C语言与Java语言结合起来编写较复杂具有实际意义和算法复杂度较小的程序。与此同时熟练掌握Java语言的编辑,编译,调试程序,并将算法转变为程序实现。正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现。掌握算法的时间分析和空间分析的技术。针对问题的特点选择合适的数据结构,设计实用高效的算法,提高大家的算法设计的能力和动手实验的技能。
  实验过程中,我们分为逻辑设计和详细设计两个步骤实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各函数的伪码算法。作为逻辑设计的结果,应写出每个抽象数据类型的定义,各主要模块的算法,并画出模块之间的调用关系图;详细设计的结果是对数据结构的基本操作的规格说明做出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类C语言写出函数形式的算法框架。
  通过这次课程设计,使我灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;并用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的工作作风。熟练掌握数据的存储表示和基本操作的实现,能够利用存储设计算法解决简单的航空订票问题。同时在这学期的实验中,培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。在实验课上,我学会了很多的方法。而这是日后最实用的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我的将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。
  这次课程设计本人主要参与了系统实现以及系统测试,还有参与小组共同完成的编写代码、实现功能模块。历时两个星期终于在大家的一起努力下顺利完成了。虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。在这次的课程设计中不仅检验了我所学习的知识,也培养了我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。实验过程中,也十分感谢实验指导老师马骏老师的指点与教导。这次课程设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。
下页更精彩:1
java课程设计心得体会相关推荐2016年,我们为什么要学习C++? - 编程语言 - ITeye资讯
相关知识库:
引用
原文链接:
作者:Krzysztof Szatan
译者:孙薇
选自《程序员》杂志
学习C++的一大好处在于,它可以帮助我们理解生命周期(Lifetime)和所有权(Ownership)的概念,以及类型的抽象,还可了解到怎样利用类型保持API的使用方式不变。除此之外,为何各种高级语言层出的今天,学习C++仍颇有价值?本文将为你道来。
“C++已死”
大学时代,我就听过这样的说法——差不多十年前的事儿了。那时候至少在美国,Java已经成了各公司的主流语言。程序员也许都很熟悉Joel Spolsky在2005年12月对JavaSchools发起的批驳。此外,作为微软应对Java的手段,2000年左右推出的C#也有C++杀手的称号。这之后,动态语言风靡一时,Ruby和Python开始流行起来。那么,既然有了这些好用的语言,我们为什么还要选择C++语言呢?它难道不是C语言进阶版吗,就像当初的汇编语言进阶版一样?如果有时间,建议大家听一下Herb Sutter的演讲,讲得很好;时间有限的话也可以只看这个较短的视频演讲,其中包含有具体案例。从TIOBE语言排行榜中我们可以发现,在过去逾15年的时间里,C++一直稳居最受欢迎语言列表的第三名。对一个老牌语言来说,这个成绩不算差了。这让我想到了另一个问题……
大家怎么看待指针?
大多立即将C++与指针关联起来的人都学错了。“带类的C语言”已经是老一套了。根据我个人经验,它糟糕透了。在C语言中,将多维数组作为函数参数传送、执行指针运算、以手动方式管理内存(就好像没有容器与智能指针一样)、实现双向链表等等,所有这些都是我们应当在C语言的课程上学过的。也许通过这种方式来学习C++并没有什么错?好吧,再想想。
当然,专业的程序员应当理解指针的工作方式,但它已经不是现代C++的主旨了。C++一直持续不断地发展,昨天正确的代码,到了今天可能就成了糟糕的编程风格。
C++持续完善过程(图片来源:https://isocpp.org/std/status)
该语言正在经历大浪淘沙的过程,套用Bjarne Stroustrup博士的一句话,“C++就像一种新语言,各部分组合较之前更为顺畅。其更高层次的编程风格较之前更为自然,也一如既往的高效。”现在,C++有了Lambda表达式、内存模型(Memory Model)、Range-based for loops、移动语义(Move Semantics)、可变参数模板(Variadic Template)以及所有其他类似的高级功能,这些都能协助我们完成手上的工作。你是否也有一些旧代码需要按新标准来更新呢? 不要担心,Clang-tidy就是你的救星!这个工具非常酷,可以通过静态分析找出老式风格代码,并给出修改建议。在使用C++时,工具的缺乏一直很令人头疼,不过这种情况正在改变。你以为只有Java才有自动重构功能?谷歌的Chandler Carruth在演讲中提到了使用Ninja编译LLVM/clang的问题,现在它们都能运用自动重构,立即生成1亿行的C++代码了。
企业代码库的现实场景
很多计算机科学专业的本科生以为自己将会走上像摇滚明星、忍者或者超级英雄那样的事业之路:“只管等着让世界看到我的能力!”这种想法源于他们自认为“是优秀人才,并非常人”。本来抱着一腔期待,准备投身于长时间的设计,以及实现复杂的算法(至少我以前是这么想的),然后获得了第一份工作,结果很快就被20年的老代码给打垮了。有着固定缓存的strcpy函数分散在数百个文件、上千行函数、五个版本的手写linked lists中——请感受一下。于是你卷起袖子,动手收拾这个烂摊子。结果你的主管对你说道:“不要着急,年轻人,公司老早就要求实现这个功能了。不,我们不准备使用新的GCC编译器,别的团队都还没准备好呢。”现在你开始思考:“我哪里犯错了呢……”
这个问题可不是C++所特有的,还会出现在调试一些由Reflection的爱好者所创建老旧的Java代码时。如果你是一名Web开发者,很可能会遇到一些PHP的问题。即便使用Ruby,Python或者一些较新的语言,那些枯燥的工作也都会榨干你的精力。
“你能把那个按钮挪到右边并改成粉色吗?”这就是大多数公司在工作中的现实场景。我想说的是:除了大量遗留问题,或者无聊的代码之外,还存在着少量既有挑战性,又有趣味性的工作,而这些工作有些刚好是C++能发光发热的领域。
C++称霸的领域:游戏、HPC、编译器、金融财务领域等等
如果不想把时间全用在增删改查之类的实现上,也许你可以考虑学习C++语言,并选择一个领域。下面我会给出一些建议。
游戏行业:几乎所有3A游戏都是使用C++编写的。大众公认电子游戏的开发者是软件行业里回报最高的工作之一,也是需求量最大的领域之一。因为速度非常重要,所以编写高效的代码就是最基本的要求。除了要懂C++之外,精通游戏开发更应注重理论与模式的钻研,而不限于特定的API或者Library。通常还必须具备高超的图形与数学技能,这些知识足够你活到老学到老。
HPC:以极限速度处理数据,要求对底层硬件有深刻的理解,这类知识可以直接应用在语言中。通用图形处理器(GPGPU)及CUDA、OpenCL之类的并行计算框架的出现,引发了对有这类技术的C++程序员的需求。如果深入到科学计算领域,还有很多能做的工作。不知你是否听说过机器学习?这是当今的热门话题。
编译器:这是我最喜欢的领域,LLVM项目如此成功,以致于很难找到一种既未使用LLVM库编写前端,也没有使用LLVM生成字节码的流行语言,而这些全都是C++。尽管编译器是以各种语言编写而成,但其背后的实现原理是相同的。我们使用优化器、静态分析程序、调试程序、标准库、链接器以及所有其他相关的工具来工作。
除此之外,金融领域也有很多工作需要有能力编写低延迟代码的程序员。在这个领域,数学背景也是一大加分亮点。该领域的大多工作可能都涉及到开发与维护高频使用的交易平台。另外如果不想挂着程序员的名头,这个领域也是很棒的选择。可以说负责设计并实现金融数学模型的宽客(Quant)职位是所有程序员中最有可能获得高额奖励的。
以上只是我的几个建议,这些领域的共通点在于:无法通过数量取胜——让一大堆Java新手去解决问题,还指望他们得出有效、可维护的解决方案是不可能的。这里面需要很多行业内部的知识门道,只有跟这方面的前辈共过事后才能了解到,也就是说,这些人的可替换性很低。公司必须付给他们更高的薪水,并让他们解决自己感兴趣的问题,才能把人留住。当然,到处都有简单而枯燥的工作,但如果从事的是自己真心喜爱的工作,我们一般也会更有耐性。
& 应该先看看这个链接已失效
& 应该先看看这个
C+Python & C++
呵呵呵呵呵呵}

我要回帖

更多关于 为什么要学习java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信