JAVA在互联网中的应用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vven
V2EX    Java

JAVA在互联网中的应用?

  •  
  •   vven 2011-08-19 16:10:21 +08:00 10268 次点击
    这是一个创建于 5167 天前的主题,其中的信息可能已经有所发展或是发生改变。
    似乎听得最多的是企业应用,XX系统什么的,这些算不算软件呢?
    那真正用于互联网开发中,JAVA主要应用于哪些方面呢?
    55 条回复  strong class="snow">  1970-01-01 08:00:00 +08:00
    wenhuacn
        1
    wenhuacn  
       2011-08-19 17:01:05 +08:00
    淘宝网
    webgeekman
        2
    webgeekman  
       2011-08-19 17:09:20 +08:00
    网易(部分模块)
    webgeekman
        3
    webgeekman  
       2011-08-19 17:10:49 +08:00
    其实Java在互联网应用的不是太多,毕竟开发成本比起其他语言来高。
    不过对日、对欧美外包的企业级应用Java的占有率是非常高的。另外,国外的一些新闻网站、早期的论坛很多是用Java开发的。
    vven
        4
    vven  
    OP
       2011-08-21 10:08:09 +08:00
    @webgeekman 这么说来国内的应用大多数是企业应用了?
    chloerei
        5
    chloerei  
       2011-08-21 10:25:07 +08:00 via Android
    搜索
    vven
        6
    vven  
    OP
       2011-08-21 13:13:19 +08:00
    @chloerei 搜索常用么现在?
    Kymair
        7
    Kymair  
       2011-08-21 13:36:31 +08:00 via iPad
    Google的很多产品都是基于Java的,比如Adsense和最近的Google Plus
    Twitter最近也把很多模块迁移到了Java,Scala

    经过好多年真金白银的投入和大力的发展,JVM如今实在是一个很猛的东西
    chloerei
        8
    chloerei  
       2011-08-21 14:10:35 +08:00
    @vven 站内搜索,不方便开放给搜索引擎的内部资料搜索。开源方案大都是基于java的,所以搜索部分也就用java了。
    vven
        9
    vven  
    OP
       2011-08-21 17:30:50 +08:00
    @Kymair JVM是猛啊,但是就JAVA而言呢?
    vven
        10
    vven  
    OP
       2011-08-21 17:31:33 +08:00
    @chloerei JAVA在搜索方面的强势是什么呢?
    dongsheng
        11
    dongsheng  
       2011-08-21 17:35:05 +08:00
    LinkedIn是Java架构的 http://www.slideshare.net/linkedin/linkedins-communication-architecture

    不过也不是单一架构的,前几天看了篇文章linkined的iphone 4.x是用node.js做的后端。
    Kymair
        12
    Kymair  
       2011-08-21 18:06:33 +08:00
    @vven 搜索应该说的是Apache Luence

    提到Java,肯定是说的Java整个平台。Java语言本身貌似没什么可说的。
    JDK7引入了invokedynamic,应该也会造成深远的影响
    keakon
        13
    keakon  
       2011-08-21 19:08:49 +08:00
    我想说的是Java就是骗钱的。用它的话内存开销会大几倍,需要买更好的服务器,所以自然受到这些卖服务器的厂商的青睐(IBM、HP、Oracle等)。它们花了大把的钱造势,然后就把很多人和公司忽悠进去了。

    别和我提Java的性能啊移植性啊什么玩意,这些厂商就搞个噱头而已,一大批的服务器跑的都是1.4或更低版本,慢是肯定的,不升级的原因就是因为各种不兼容。语法方面连enum都没有,更别说什么动态性啊lambda函数啊。

    当然,我最讨厌的不是因为它忽悠人,而是嫌它太嗦了。很简单的玩意也要多个类出来,把类都用滥了。而在读源码时,你虽然不会被其他语言中诡异的语法困惑,但却要花数倍的时间浪费在理解几个类之间错综复杂的联系上,然后才能体会出设计意图。
    这自然不是设计模式的错,它本身是很好。可是Java的语言表达能力实在有限,得用一堆代码去阐述一个思路;而随着代码量的增多,就无法体现出设计的优雅之处了。
    chloerei
        14
    chloerei  
       2011-08-21 19:48:46 +08:00 via Android
    其实有些事就是这样的了,对于小企业,有什么开源方案就用什么,对于大企业,有什么稳定方案就用什么。

    要替换方案,要考虑需要几个人做,成本收益比如何,自己走了谁来维护。
    kongruxi
        15
    kongruxi  
    &nbp;  2011-08-21 20:17:23 +08:00
    @keakon Java的流行跟一些厂家的宣传有关,但现在有个趋势是更注重开发效率。在语言执行效率上(排除人的因素),JAVA比C++低率,Ruby/Python比JAVA低率,但在企业开发中,会偏向选择Java或.Net,而不是C++,因为JAVA在这方面开发效率比C++高,同样道理在web开发中,偏向选择Ruby/Python
    vven
        16
    vven  
    OP
       2011-08-21 20:20:56 +08:00
    @kongruxi 请教个问题,开发效率怎么理解?
    kongruxi
        17
    kongruxi  
       2011-08-21 20:36:50 +08:00
    @vven 举个例,比如C++需要程序员来分配、释放内存,而JAVA等有GC来管理内存,程序员可以只专心实现自己的逻辑,又比如ruby有rails这样一个框架,用起来非常舒心,开发效率自然高,但封装得越深,执行效率肯定越慢
    vven
        18
    vven  
    OP
       2011-08-21 20:49:59 +08:00
    @kongruxi 这么说开发效率和执行效率成反比的了?能不能再举例说明下实际开发中对开发效率和执行效率是如何选择的呢?
    Kymair
        19
    Kymair  
       2011-08-21 21:27:21 +08:00
    现在已经是21世纪第二个十年了。我觉得应该重新审视一下诸如Java很慢,Java只有钱多的企业用,Java是噱头之类的成见了…
    vven
        20
    vven  
    OP
       2011-08-21 21:42:56 +08:00
    @Kymair 反正我现在还是买不起JSP的空间
    而且对于配置一般的机子跑,感觉一天都在调试中....进度有点慢
    至于噱头不好说了
    chloerei
        21
    chloerei  
       2011-08-21 22:06:03 +08:00
    如果楼主想知道java在web里面有没有用处,上面已经说了至少搜索还是java强项,还有现存的java系统没必要的话也不要动。

    如果楼主想知道初创企业是否应该用java,我建议是应该用ruby,python这类比较容易吸引geek,开发比较灵活的语言。

    开发效率和执行效率成反比是必然的,对于创业公司开发效率更重要,因为可能在性能成为问题之前就倒了。
    vven
        22
    vven  
    OP
       2011-08-21 22:34:30 +08:00
    @chloerei 却是比较想学学RUBY,不过之前学过PHP,所以暂时还是用PHP搞WEB
    kongruxi
        23
    kongruxi  
       2011-08-21 22:44:16 +08:00
    @vven

    性能未出现问题时,就不要把它当成问题,提前优化是万恶之源,所以哪个用得爽,就用那个。

    现在硬件白菜价,刚开始时不必太过于纠结性能(执行效率)问题,到时花点钱,升级一下硬件可以省下很多时间,实在不行,就重写吧,像twitter那样,用Java还是scala重写了部份模块(估计到了这时,你的公司/团队已经发展壮大)
    Emory_M
        24
    Emory_M  
       2011-08-22 17:03:55 +08:00
    @vven java在web中的应用不仅限jsp,rupy这个用java nio技术写的轻量服务器可以部署php和ruby应用。另外即使想用jsp不必去买昂贵的jsp空间,自己买廉价vps就可以搭建一个
    vven
        25
    vven  
    OP
       2011-08-22 17:28:26 +08:00
    @Emory_M 我知道不仅限于JSP,JAVA NIO这东西还没啥了解,有空研究下
    webgeekman
        26
    webgeekman  
       2011-08-22 21:07:48 +08:00
    @vven 没错,小企业不推荐用JAVA,还是用PHP或Python,Ruby 等开发效率更高的语言吧。担心维护成本的话,可以加强开发过程中对架构设计、代码编写的监控。
    至于很多大企业,甚至有些客户选择JAVA的原因,可以参考其他人的回复。
    vven
        27
    vven  
    OP
       2011-08-27 09:26:51 +08:00
    @kongruxi
    难道一般情况下,只要硬件好的话,执行效率这些可以暂时忽略不计了?
    tearsinchina
        28
    tearsinchina  
       2011-08-27 09:34:58 +08:00
    div+css 比编程难多了
    kongruxi
        29
    kongruxi  
       2011-08-27 10:07:33 +08:00
    @vven 要看应用情景,比如web开发,第一任务是快速实现产品原型然后上线,顾虑太多执行效率只会拖慢步伐,但如果对性能有高要求的话,就肯定要考虑上语言的执行效率
    yqjun
        30
    yqjun  
       2011-09-22 17:22:21 +08:00
    PHP在网页开发还是占多数吧?但是却被人边骂边用。dirty but quick……
    Python vs PHP 呢?这个我也陷于这个语言之争中……求赐教。
    JSP也不错,大学毕业出来的都会JAVA,很多也会JAVAweb。但是国内很少见jsp网站,貌似163、搜狐几个……是JSP的效率问题还是服务器价格问题导致jsp网站数量那么少的呢?
    vven
        31
    vven  
    OP
       2011-09-22 18:33:14 +08:00
    @yqjun 现在回过头来看看,觉得JAVA有点重了,开发效率慢吧,做互联网有更轻便的语言
    而且JAVA国内氛围感觉比较偏重于企业开发
    colorfuldays
        32
    colorfuldays  
       2011-09-22 21:13:24 +08:00
    国内互联网Java最大的用户是阿里系了,另外据说搜狐也是Java架构,新浪微博也用到了许多Java的东西。
    国外用Java的当然更多了,Yahoo!,eBay,Amazon都是Java的架构。
    不能忽视的一点时,最近几年非常成功的开源项目都是选择Java来实现的。比如Hadoop Lucene等。
    另外JVM平台,加上Netty也保证了在Java上面能够拥有高性能。
    sunshineg
        33
    sunshineg  
       2011-09-22 21:28:07 +08:00
    淫淫网好像也是java -。-
    muxi
        34
    muxi  
       2011-09-22 22:00:50 +08:00
    单纯讨论某个语言没有什么意义
    每个语言设计出来的时候都是为了解决特定的问题,最后慢慢渗透进入其他领域,所以总会有擅长的,总会有蹩脚的领域
    什么样的语言才是好的语言?
    1、想想你要做什么?
    2、想想你将要做什么?
    3、是否有足够的圈子、文档、解决方案

    编程上没有银弹,合适就好
    yqjun
        35
    yqjun  
       2011-09-22 22:03:45 +08:00
    @vven 学校现在在教java……但是觉得jsp的商业性网站方面不怎么流行,就是你说的一样,偏重于企业应用……所以郁闷啊= =但看了楼上的原来有不少jsp的商业性网站,就更晕了
    jorakura
        36
    jorakura  
       2011-09-22 22:08:56 +08:00
    讨论 Java 的开发效率,不能不一起讨论 IDE。
    如果用 Vim/TextMate 之类的工具来读写代码,相比 Python/PHP,那 Java 的代码显然不是给人看的。但是如果有一款好的 IDE,如 IntelliJ IDEA,整个体验会变得很舒服。
    vven
        37
    vven  
    OP
       2011-09-22 22:52:18 +08:00
    @muxi 单纯讨论语言没有多大意义
    不过现在看来确实JAVA在企业应用太多太多了
    我的兴趣在互联网上,所以目前觉得JAVA对我不一定是最合适的
    vven
        38
    vven  
    OP
       2011-09-22 22:53:12 +08:00
    @yqjun 这些网站都是大型商业网站,硬件,钱这方面不愁了吧,完全能驾驭JAVA了
    vven
        39
    vven  
    OP
       2011-09-22 22:54:15 +08:00
    @jorakura IDEA刚开始用起来也比较奇怪,现在反而偏重eclipse多些
    kojp
        40
    kojp  
       2011-09-23 09:33:41 +08:00
    @keakon +2012....

    但有时候还是没办法,最近还在一直折腾各种java
    hanfeizi
        41
    hanfeizi  
       2011-09-23 10:51:10 +08:00
    音悦台 底层全部是java架构的
    skywinger
        42
    skywinger  
       2011-09-23 11:17:46 +08:00
    我最近在做的一些项目都是,java做的后台服务系统,加上rest、json、xml等远程API接口,让前端网站或客户端来调用。另外我的一些项目上,后台偏向java+linux c/c++来搭建,前端网站就无所谓用哪种语言了,php、python、ruby都行,只要能调用rest、json、xml等远程API接口或是直接socket套接字访问就行了。
    skywinger
        43
    skywinger  
       2011-09-23 11:19:26 +08:00
    补充一点,我的项目其实更偏向于提供服务,而非单纯的简单web应用网站。
    vven
        44
    vven  
    OP
       2011-09-23 12:18:39 +08:00
    @skywinger 其实我一直不太理解后台是什么意思,难道是前端M无所谓语言,后台用JAVA做VC,然后数据用特定接口传输?
    skywinger
        45
    skywinger  
       2011-09-23 15:13:50 +08:00
    @vven 我做的是类似支付宝这类的收单系统,这类的服务程序我们称为后台服务。
    skywinger
        46
    skywinger  
       2011-09-23 15:17:57 +08:00
    @vven 后台程序更加关注程序的执行效率及高可靠性、稳壮性,所以一般不用脚本语言或是动态语言,java是由于JVM的效率比较高,且有一大堆的java成熟框架及超可靠性的多线程机制和NIO,前些年JVM效率还不行时,后台系统更多的还是由linux c/c++来构架的。
    vven
        47
    vven  
    OP
       2011-09-23 15:31:43 +08:00
    @skywinger 可以简单理解成PHP+JAVA么?前台用PHP,后端用JAVA,如果这么做是否方便呢?
    skywinger
        48
    skywinger  
       2011-09-23 15:35:08 +08:00
    @vven 异构系统,一般都是用soap来进行通讯或是服务调用的,这样子的话,后台提供的服务,能够被不同的系统、网站、终端所调用,能够提供提供给任何人、任何系统。
    est
        49
    est  
       2011-09-23 15:44:05 +08:00
    @skywinger SOAP。。。现在还真有人用那烂玩意?
    skywinger
        50
    skywinger  
       2011-09-23 15:53:58 +08:00
    @est soap只是个规范,实现方式很多的,rest、json、xml 都是。
    skywinger
        51
    skywinger  
       2011-09-23 15:54:43 +08:00
    @est 用socket直接定义API接口也是可以的
    bl0ck
        52
    bl0ck  
       2011-09-23 16:07:35 +08:00
    @skywinger rest是soap的实现?
    skywinger
        53
    skywinger  
       2011-09-23 17:05:53 +08:00
    @bl0ck 不纠结这些,哪怕用socket自己来定义报文结构来通讯都是没问题的,我只是举例而已。
    est
        54
    est  
       2011-09-23 17:30:37 +08:00
    @skywinger json rest什么时候被soap规范了?啊。
    skywinger
        55
    skywinger  
       2011-09-23 17:35:00 +08:00
    @est 我只是说下思路,不代表就一定是我所指的那样,通讯方式各种各样,用socket都可以,不必纠结这些。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1164 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 17:36 PVG 01:36 LAX 10:36 JFK 13:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86