当前位置:  技术问答>java相关

java的真正优势在哪里?

    来源: 互联网  发布时间:2015-02-12

    本文导语:  能不能指点一条java的学习明路给小生后辈,java的内裤庞多,ejb,j2me,jini名词更是层出不穷。该学什么,重点是什么,能说说您的想法吗? 我是这样认为:jsp恐怕不是重点,相对asp有诸多优势,与Asp.net相比,没有(一...

能不能指点一条java的学习明路给小生后辈,java的内裤庞多,ejb,j2me,jini名词更是层出不穷。该学什么,重点是什么,能说说您的想法吗?
我是这样认为:jsp恐怕不是重点,相对asp有诸多优势,与Asp.net相比,没有(一家之言)任何一点点优势!无论是跨平台,跨语言,还是速度!
Application,至少在诸多Win平台用户下,可以说是一无是处!其他平台就另当别论!So,不是重点!
Internet吗?对TCP/IP协议的底层支持也不够,大部分还得自己从起炉灶!还不如C/C++来得快!Socket编程吗?感觉不出优势阿!除了跨平台!可C#也由Apache移植到unix平台了拉!其他平台,我想将来也会有的!再说了,Java的跨平台也平飞入想象中那样完善!限制条件太多!况且,由XML进行数据的跨平台我认为更现实!
哎,剩下的就是ejb,j2me,jini啦!当然还有其它的没学过的!也没有机会去实践!所以,我也认不清他们的好处!迷惑迷惑!还请您说说您的看法!
请各位前辈不要对小弟的一点浅漏见识生气,我只想好好学习学习java

|
java的跨平台是以牺牲效率为代价的。它的Bytecode只不过是一种中间二进制代码,脱离了JVM的支持,什么也不是(安全性也是靠这种方式控制的)。
Java的优点主要是面向对象结构和易于编写稳定的程序,没有指针,有自动管理内存的机制(Garbage Collector),因此用Java做一些应用层的开发不失为一种好的方案。
随着MS C#的推出,Java的面向对象结构和易于编写稳定的程序的优点C#(在语法上和一些内部机制上,Java和C#差不多,因而许多人将C#称做MS的Java)也有了(在语法上和一些内部机制上,Java和C#差不多,因而许多人将C#称做MS的Java)。不同的是Java具有跨平台特点,而C#与Windows结合更紧密(如Windows DNA),效率更高。因此,具体用哪一个得看具体情况。
国外用Java主要集中在网站的应用层开发,用得很火,但前提是服务器用Unix。而且国外大型企业的信息系统也主要用Java做应用层的集成开发,并向Web-based方向发展,毕竟Java具有更好的跨平台性。
如果MS能在网站平台的安全性方面进一步加强的话(当然指实际,而不是MS吹的),可能可以吸引更多的用户和开发商,从而相对Java而言占有优势。在今后的几年内,

|
忍不住乐~ 我来唠叨两句 :)

大家都知道, 每一种语言都有自己的背景, 当初都是为了某种需要而产生, 这也使得它们难以做到十全十美 ... 在windows平台上搞gui, java并不算强大, 开发工具比起来也相对简陋一些, 做出来的应用软件, 界面是可以做得不错, 不过到底还是慢了不少:p 但是, 难道有人认为java就是拿来做象netants(确实是很优秀的软件)或者winzip一类软件的吗? 没错, 这些可以拿java来做, 而且也确实有人这么做(前面lglinux兄已经举了一些例子了). 我不清楚这其中的缘由, 但我不认为用java做这些是为效率 ... 现在我是在用PIII733 + 256MB来跑JBuilder4, 速度一般, 时间长一点还是很慢, 如果开了两个, 就难过了 ... 为了速度, 为了效率, 有些同事宁可选用以前的JBuilder3 ... 有时候我想, 用java做这些应用, 是不是因为java的跨平台特性呢? 如果愿意, 你可以试试, netants在windows可以用, 但是换到linux下就不行了(我不知道wine是否强大到那样的地步, 如果linux还可以用, 就换到sun os, hehehe ...^^),如果想在linux下用, 就必须要特定一个for linux的版本, 而JBuilder什么的就可以 ... 依我个人愚见, 任何一种语言, 将其编译成针对某一抽象出来VM的代码(或许也是bytecode), 然后在各个平台上实现该VM, 同样可以实现跨平台, 而且, 或许会做得更好(IBM的jdk比sun的好就说明一定的问题). 当然说起来容易做起来难, 现在就连sun的java的跨平台都还不很完善, 所以我也不看中这一点 ... 
我知道的很少, 就我现在所学的一点知识, 我很赞同前面autice兄的看法. 抛开个人兴趣不谈, 我们做程序的都是从应用角度出发的, 不应该拘泥于纯语言的对比。说到这里, 忍不住想顺便问一下大家, 这里同时还熟悉软件工程的有几个呢? 不知道你们做东西是否会用到rational rose之类的工具? 你们的开发环境又是怎样的? java涉及面很广, 刚开始学的时候都不知道该学什么, 不知道该往什么方向发展 ... 以个人经历来讲吧, 在项目的制作过程中, 我深深感受到java在server端起着非常重要的作用 ... 不清楚java在其它方面还有多么大的作用 ... 但在商业应用领域里, 我们需要的是清晰的描述出错综复杂的商业逻辑, 我们注重的是实现, 不知道这里有没有过来人 ... 但如果你接触过的话, 相信你也会同意, 除非是必须要用到C/C++之类的语言(脑海里还会出现gui的概念吗? 这里指的是后台, 所以请暂时忘掉它们吧), 否则真是没必要和自己过不去 ... 这样的时候最好就用java, 至少目前是 ... 我这样认为 ... 

我(正式)开始编程序也就是去年底, 知道的很少, 所以想法难免有不少问题, 希望大家能不吝赐教 :)

|
1: 如果作gui开发,选java的人肯定脑子有屎。-->
   Borland 的 Jbuilder,Sun 的 Java Forte,Elixir Report ......
   很多都是用Java开发的。这些公司都有问题!?
   建议大家去Http://www.javadevelopersjournal.com去看看,那儿有很多在它上面做
   广告的公司,产品。
2: swing 的整体构造十分合理而巧妙。同意!
   我对其他语言不太熟。我感觉学Java 的Swing 的Model-View-Control MVC范式很舒服。
   而以前学VC感觉很累,也似乎学不进去。
3: 国外的jAVA开发确实很火。看看国外的杂志,网站就知道了。
   个人看法,仅供参考!

|
我的看法
JAVA是有一定的局限性的,至少开发GUI特别慢
楼上有位哥么不知道有没有用过Borland 的 Jbuilder,Sun 的 Java Forte,Elixir Report 
速度慢的惊人,另外各位大哥不知道有没有用过共享软件
比如WINZIP阿,Netant阿,不知道有没有用java开发的
我看来如果C#真的象微软说的那样能够达到C++80%的速度的话
那一定要关注一下了,毕竟C++还是比较难学的。当然C++高手一定对C#很不屑
不过大家不要忘了,在硬件提升到一定的高度的时候,开发效率就显得更为重要了
当然JAVA也太慢了,:(

|
55555555 ... 54xx兄, 我说话已经够小心乐, 结果还是让你生气了 :(
我现在也没开发ejb ... 原因是公司里的CIO说现在的application server速度都还不够让人满意, 所以先用了他做的一套基类库(等时机成熟, 可以比较容易的转成ejb), 连同数据库缓冲池什么的基本都做了进去, 而我们的开发也都是基于这个类库(不知道这个词儿是不是会引发某些人的联想, hehehe ...). 说到这套类库, 我倒想起一件事 ... 记得当初有一个和我一起来公司的同事, 他认为系统做得太复杂, 觉得没必要那样做, 他觉得用jsp完全可以搞定 ... 没错啊, 用jsp是可以搞定的, 但那样算是开发软件吗? 面向对象的思想有什么用? 做出来的东西是死的, 如果想做比较大的调整, 是不是再重新做一个呢? 那个人很快就走了, 因为他受不了 ... 不知道大家怎么看这件事, 但我不赞同他的那种(不客气的讲可以说是近似于蛮干的)想法 ... 其实这套类库大多数人都认为是非常优秀的, 现在加上公司里几个牛人的维护, 比以往更加强大了 ... 至于小人我, 还在学习过程中, 帮不了什么, 所以主要就是在上面进行一些(简单的)开发(虽然我是搞后台的) ... 我又在讲废话乐:p 可能是受灌水乐园影响太大乐^^ 好啦~ 话转正题 :)
* 我没能很好的理解你的意思, 抱歉 ... 我所说的jvm是java虚拟机, 我们做的java程序编译后成为了bytecode, 然后才能在这个虚拟机上运行 ... 既然sun说是跨平台的, 所以我才会想, 既然helloworld.class可以在windows和linux上运行, 那是不是说明两个平台提供的是几乎完全相似的(这么说是因为有些windows程序还不是不能很好的在linux下运行, 比如一些swing程序), 也正是因为这个原因, 我才会有了"各个平台上的jvm基本都是一样的, 不一样的应该是jvm的实现"的说法:p
* 因为我不会ejb, 所以没办法起头, 对不起:p

另外, 非常感谢54xx开了这个话题, 不知道这是不是(或者即将是)java版最hot的贴子, hehehe :)

|
请问什么是JAVA?

Java作为语言来讲没有任何优势。但是现在Java是一个Platform(MS公开表示不支持Java platform,但支持Java语言)了,Platform就不一样了。原来总有人想用一种OS来一统天下,那简直是不可能的是。但是Java却做到了,用了一种虽然效率低但经过多次改造到了一个可以让人接受的地位。Java platform包含了各种技术,可以从最底层的OS服务算起,一直到最繁复的应用层,Java platform都把他们包括进来了。这样对于一个程序员来讲,他就不需要更多的知识学习了,例如从底层的OS技术,通讯技术,组件技术等等等等,以至于一些实现复杂的功能的应用组件java platform都为你定义好了。在Java platform上构建应用系统,不管是对Architect,Analyst,还是Programmer,都大大降低了要求。这样开发软件就更符合软件发展的某一个方向,就是大规模的工厂式生产。

Java platform是应需要而产生的,现在大部分的软件开发都要求的是降低成本,开发进度容易控制等等,一个统一的Java platform对此有巨大的帮助,因此它的应用会越来越广。你说它能“几乎一统天下”也不为过的。

|
指点不敢,谈谈个人意见:
java编程思想,是必备宝典。如果是入门,看看这几个包就可以:java.io(输入输出),java.lang(简单变量)java.util(简单结构,如矢量,哈希表),然后就看你的爱好和需要乐。
个人感觉:java强项在server端编程,而不在client端。

|
国外的jAVA开发很火是由于历史原因造成的。一个有较长历史的大企业会有各种不同的os,用java开发能够大大减少开发成本,损失一些运行效率是划算的。同时国外企业的信息系统的构成中软件成本占总成本的大半,硬件相对便宜。
而国内主要是在wintel平台上,使用java反而成本高。

|
JINI你已经不需要学习了,SUN的JINI开发组已经解散。 JINI技术已经完蛋了。

ejb这个东西,如果你要用SUN,IBM的东西应该还是需要的。不过MS对EJB的态度很明确,
就是绝对不支持JAVA作为语言外的任何解决方案。所以要看你用什么东西来作你的软件
如果你选择了SUN,ORACLE那些东西,用EJB比较好。

j2me是什么东西? 不是J2EE吧?怎么没有听说过?谁给我解释解释?

|
时势造JAVA —— 当大家需要跨平台的开发工具时 刚好来了JAVA;当大家对C++ 腻烦时,来了个JAVA; 当大家对微软的那一套反感时,来了JAVA ……  再说JAVA潜质不错,具有众多优点(大家经常听到的),在未来的“进化”过程中,这些优势肯定还会得到加强。 因此 未来是属于JAVA的。尽管微软推出了C#,但是它不可能推翻JAVA的统治地位。

|
java最直接的优点有两个:1,跨平台;2,面向对象的特色。
java最直接的缺点:速度慢。
如果作gui开发,选java的人肯定脑子有屎。不过话说回来,有空的话,看看javax.swing的源代码还是挺不错的,整体构造十分合理而巧妙。
还有,看得出顶楼兄弟对C还是很有感情的,不过现实是不以个人感情为转移的。

|
lglinux:
java开发用户界面确实是费劲,我说这个话是对程序员,而不是对其他人。和Delphi比一下,单纯说开发画面,后者工作量能省1/3。

|
拒绝JAVA用C++ ---------想说爱你不容易!
放弃C++用JAVA ---------痛并快乐着!

|
服用VC是为了补充营养,保持健康,强化身体素质。。。。。。
饮用JAVA是为了放松心情,也是一种休闲方式。。。。。。

所以一个人(主要指程序员)要想使自己青春永驻就要不断地补充VC,
而要想放松神经的话就不妨来一杯JAVA,你看,其实两者并不矛盾嘛。

总而言之:
只用VC不用JAVA,身体再强壮也不开心;
只用JAVA不用VC,身体不好再开心也是瞎开心。

大家都是聪明人,应该能明白我说这些的良苦用心吧!  ^O^

|
小弟了解一点,日本的手机上的游戏用java2Me,很火的。
骗日本人的钱,抗日光荣。

|
不过话说回来,在互连网时代多种系统要协作,java还真是一个比较廉价的办法。
也是老系统能存在下去的一个理由。所以SUN在狂推。
M$的C#说到底也是继承它的概念。运行库不就是虚拟机。
硬件大发展后,现在真是脚本语言时代。

|
我正在学java感觉它的面向对象技术很好,但也有很多问题,如速度慢,所有变量必须初始化,jdk的开发工具不好,那么多的类库,谁能记得过来。好多书的例子,都用到自己的包和类,这对于别人来说,是一种障碍。不过,我还是希望java能发展的好一些。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 简单说说Java SE、Java EE、Java ME三者之间的区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3