Chinaunix

标题: 【有奖讨论】Java开发中哪个框架最贴心? [打印本页]

作者: tomac_cu    时间: 2016-05-27 09:07
标题: 【有奖讨论】Java开发中哪个框架最贴心?
话题背景:

Java已经是一个非常重要的编程开发语言。很多的重要业务系统运行着Java,2013年7月,安全
组织Security Explorations发现了Java 7u25中的一个安全漏洞,通过这个漏洞攻击者可以完全
摆脱Java沙箱。这个安全漏洞在30个月后终于修复了。Java 9即将在9月正式发布,面对纷杂
的Java版本,如何才能安全可靠地用好Java?


思考如下问题:

1、遇到过什么样的Java的运行版本问题,如何解决的?
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
3、Java开发中哪个框架最贴心?
4、希望在未来的Java 10提供什么功能,什么库?
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?


活动时间:2016年5月30日—6月30日


奖励设置:
活动结束后,我们将会选取5个亮点回复,送《Java虚拟机并发编程》图书一本。



原书名:Programming Concurrency on the JVM Mastering Synchronization, STM, and Actors
原出版社: Pragmatic Bookshelf
作者: (美)Venkat Subramaniam   
译者: 薛笛
丛书名: 华章程序员书库
出版社:机械工业出版社
ISBN:9787111418931
上架时间:2013-5-8
出版日期:2013 年5月
开本:16开
页码:215
版次:1-1
所属分类:计算机 > 软件与程序设计 > JAVA(J#) > Java


内容简介:《Java虚拟机并发编程》共10章,分为五个部分。第一部分:并发策略,阐释了影响并发性的因素、如何有效实现并发,以及并发的设计方法等;第二部分:现代Java/JDK并发,讨论了现代Java API的线程安全和效率,以及如何处理已有应用程序中的现实问题和重构遗留代码时的原则;第三部分:软件事务内存,深入讨论了STM并就如何在各种主要的JVM语言里使用STM给出了指导意见;第四部分:基于角色的并发,详细讲解了如何在基于角色的模型下消除并发问题以及如何在自己的首选语言中使用角色模型;第五部分:后记,回顾了本书讨论的解决方案并总结了并发编程中的注意事项和最佳实践。

试读样章: 文前.pdf (805.03 KB, 下载次数: 54) 1-3.pdf (11.47 MB, 下载次数: 51)



作者: crazyhadoop    时间: 2016-05-30 14:51
占楼
作者: ylky_2000    时间: 2016-05-30 15:53
先占楼。

1、遇到过什么样的Java的运行版本问题,如何解决的?
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
     eclipse用的比较多。身边大部分人都用它,少部分用netbeans
3、Java开发中哪个框架最贴心?
ssh,最多,企业级应用。
4、希望在未来的Java 10提供什么功能,什么库?
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?

作者: sjf0115    时间: 2016-05-30 17:24
先顶一个                 
作者: action08    时间: 2016-05-30 20:11
java作为企业级web开发,还是很有分量的,

不过现在也有流行用轻量级别的架构,做微服务
作者: SeAL80s    时间: 2016-05-30 21:17
我也占个位置:
1、遇到过什么样的Java的运行版本问题,如何解决的?
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
3、Java开发中哪个框架最贴心?
4、希望在未来的Java 10提供什么功能,什么库?
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
--不觉得。C++太难了,或者说太复杂了。好像说,就算C++的设计者也只掌握了C++的80%吧...
作者: fenyun689    时间: 2016-05-31 09:49
1、遇到过什么样的Java的运行版本问题,如何解决的?
经常遇到引用jar版本不支持。或者升级版本,或者换jar。
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
现在用Eclipse,听说IDEA比较不错,没有用过。
3、Java开发中哪个框架最贴心?
框架太多了。学不完。主要用ssm。
4、希望在未来的Java 10提供什么功能,什么库?
现在也就用到java6。
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
会用就行,精通就算了。即使精通了,也不会涨工资
作者: laputa73    时间: 2016-05-31 18:31
本帖最后由 laputa73 于 2016-05-31 18:32 编辑

java不如以前常用了。更多是作为jvm或者第三方应用出现。
比如scala/kafka, es, hadoop. 升级jdk的版本一般也是被迫。

工具主要还是eclipse,就一个慢字。

web层越来越薄。spring mvc足够了。
业务层转向微服务,正在用dubbo/dubbox。

计划学习一下akka框架
作者: chenxing2    时间: 2016-06-01 17:17
1、遇到过什么样的Java的运行版本问题,如何解决的?
     好几年前做ERP,那时主要用swing做前端,应该属于胖客户端,用的jdk6
那时有一个很郁闷的问题是:切换到智能ABC输入法,程序必挂,JVM直接崩了。其他输入法就是偶发事件。
后来升了最新版的jdk6之后,减轻了一些。后来直接切到jdk7之后,没事了.......
    新版用javafx做的时候,开发、部署总得单独处理javafx的包,别扭,jdk8就不用了,嘿嘿。

2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
    这个主流IDE都不错,各有千秋。整体功能NetBeans更好一些。不过个人习惯用eclipse。
主流IDE哪个用熟了都不错的。主要是快捷键之类的。

3、Java开发中哪个框架最贴心?
     如果说最贴心,那就是spring,从最初的IOC、AOP、到后期的JDBC、TX、WEB、WEBFLOW等等
     然后到现在的spring-clound、spring-boot、spring-amqp、spring-jms、spring-data等等,都减少了系统集成的麻烦。
     其他就不多说了

4、希望在未来的Java 10提供什么功能,什么库?
     功能啊,倒也没有什么想要的。库的话,第三方都很丰富,一般它只集成进去比较缺或弱的库进去,如JDK8的时间处理,lambda等特性

5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
     终极奥义,这个.....  不学习C++也没啥。一般更多关注些内存、线程、网络、并发部分,这是主流。只是了解底层的一些东西,对理解这些东西可能更容易些。
  
作者: jackie_ikernel    时间: 2016-06-02 13:28
凑热闹来围观学习一下;工作中用java的没几次;虽然早期学习java看过了java核心编程和java编程思想几本书:

1、遇到过什么样的Java的运行版本问题,如何解决的?
貌似没有,比较没经验;
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
Eclipse或者Vim
3、Java开发中哪个框架最贴心?
SSH,了解一点,无外乎MVC结构,让你的前端,后端,数据库访问更加称心如意;大神来detail一下吧;
4、希望在未来的Java 10提供什么功能,什么库?
只关注过到java8; 很多已经不记得了,lambda? java9/10没研究了...
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
恩,一直在写c/c++;java的终极奥义?自己用c/c++写个jvm你就清楚了
作者: 枷_锁    时间: 2016-06-02 16:30
1、遇到过什么样的Java的运行版本问题,如何解决的?
版本不匹配,cxf框架使用1.7,而开发1.8.
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
NetBeans中文支持很好,Eclipse英文版操作。
3、Java开发中哪个框架最贴心?
用过SS2H,SSM,Hibernate方便生成类,MyBatis方便优化SQL,SpringMVC暂时用的简单,比Struts2好用。
4、希望在未来的Java 10提供什么功能,什么库?
库不库都还好吧,现在写程序都是引用一大堆。
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
暂时入行时间较短,没什么答案。
作者: yehuafeilang    时间: 2016-06-02 17:30
1、遇到过什么样的Java的运行版本问题,如何解决的?

      我在这儿,举个实际例子吧,当时学习junit的时候,使用的jdk1.7+eclipse4.5.1,所以junit的版本没问题。使用的是junit4.12。但是,当使用jdk1.6+ eclipse3.7来重新编译运行这个项目的时候,问题出现了。eclipse3.7当中是没有junit4.12的,然后,把junit4.12的jar包重新引入eclipse3.7,重新编译,还是不行,因为发现junit4.12是用jdk1.7编译的,在jdk1.6使用的时候,出现:java.lang.UnsupportedClassVersionError错误。最后,只好单独对这个项目进行build path配置,删除默认的jdk1.6配置,选择使用jdk1.7作为这个项目的build path。并引入相应的juit4.12和hamcrest版本,编译通过,正常运行。

2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?

Eclipse插件多,用的人也多,我比较倾向于Eclipse,有时候也会用MyEclipse,插件都集成好了,不用再去下。

3、Java开发中哪个框架最贴心?

Java的三大框架:Spring,Structs,Hibernate也就是俗称的SSH,都还是不错的,在实际开发中应用的比较广泛;当然了,除此之外还有很多优秀的框架,例如JFinal,这个框架开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful,其目标在于拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。

4、希望在未来的Java 10提供什么功能,什么库?

这个就多了去了,比如说金钱和货币API;完善的管理jar包机制;真正的内存垃圾回收等等

5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?

终极奥义,我个人觉得跟学习C++基本无关,自己写个框架吧~
作者: heguangwu    时间: 2016-06-03 08:31
1、遇到过什么样的Java的运行版本问题,如何解决的?
    基本上最开始就是用1.7版本,估计那时候已经比较稳定了,所以也没出现什么版本问题

2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
    Eclipse,主要是习惯了,就没想再换一个,虽然很重量级,但功能全,现在CPU/内存很强不在乎eclipse折腾的那点了

3、Java开发中哪个框架最贴心?
    基本就只用过Hadoop这个框架,我也是转大数据之后才开始搞Java的

4、希望在未来的Java 10提供什么功能,什么库?
    感觉该有的都有了,虽然有的不是那么好用

5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
    没必要,只需要了解虚拟机的原理和调优的方法,Java的最大的问题就是GC的问题,GC的问题你熟悉了C++难道就有能力去修改GC算法?

作者: 开源将军    时间: 2016-06-04 02:07
1、遇到过什么样的Java的运行版本问题,如何解决的?
eclipse 8.5  9 都有bug和缺陷,但是任然喜爱
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
当然是linux/unix平台通用的Eclipase了,除了它,我还真不会用其他开发工具
3、Java开发中哪个框架最贴心?
spring
4、希望在未来的Java 10提供什么功能,什么库?
列库扩展功能,接口封装开源,JavaScript整合入工具集
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
这个可以有,我觉得,精通一切编程语言的最基础和最高端,最捷径也最遥远的路,就是精通C++
作者: evaspring    时间: 2016-06-06 20:16
本帖最后由 evaspring 于 2016-06-06 20:19 编辑

1、遇到过什么样的Java的运行版本问题,如何解决的?
    之前oracle不是修复过一个浮点数运算cpu占有100%的问题么,这种版本问题还能怎么解决,避免用到呗
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
     都用过,但是最好用的当然还是idea咯
3、Java开发中哪个框架最贴心?
    这个还用说 spring 毫无疑问的贴心小棉袄!
4、希望在未来的Java 10提供什么功能,什么库?
    没有。现在的语言都喜欢添加新特性,搞得语法越来越奇葩,java 10要做的只有优化再优化。
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么
    我做了6年的c++开发,怎么没觉得?唯一不同的在于对内存和线程等比一般的java程序员要认识深一些,仅此而已。
作者: string2020    时间: 2016-06-07 15:00
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
现在主流的、用的最多的有eclipse(myeclipse),idea,这两个其实都差不多,看习惯。关键是熟悉程度,只有熟悉了,才能更有效率。
至于说eclipse很卡的,可能是因为用的很老的eclipse版本,最新版的eclipse Neon (4.6) RC1有了很大的改进和优化,大大提升了运行速度

3、Java开发中哪个框架最贴心?
(1)目前在开发中,觉得spring做的还可以。
主要体现在,对于开发中的常见的应用场景做了集成,比如缓存、调度、MVC、国际化、模板、MQ、事务等等,并且模块化做的很好,需要用的时候,直接添加相应的依赖即可
并且通过容器管理所有的对象,再加上springboot的出现,大大简化了开发效率。而且spring Boot没有阻碍任何定制和扩展的可能性。
(2)maven在项目管理方面做了很优秀,尤其是依赖管理,打包,测试等方面。
大量的插件,几乎可以满足我们开发中的任何问题


4、希望在未来的Java 10提供什么功能,什么库?
(1)多线程无锁可以大大提高程序的并发能力,而多线程环境下,往往又要保证线程安全,要保证线程安全,就要加锁。不加锁,线程不安全,加锁,效率低下。希望以后java从底层方面解决这个问题
(2)异步非阻塞可以大大提高程序的并发能力,希望一些常用的API(jdbc connection,  url connection)可以做成异步非阻塞的
(3)池的技术,在很多场景下非常有用,我们用的时候,需要引入第三方的依赖。希望以后在java中,自带池的解决方案
(4)JDBC的API使用还是太罗嗦了,希望改进
(5)增加一些企业中常用的解决方案,比如说,读写分离、分库分表、连接池等等。希望jdk自带,而不是另外去找开源项目去实现这些功能
(6)希望增加分布式事务的解决方案,比如说一个请求,需要多个操作,操作数据库,操作redis,调用SOA,等等,如何保证这些操作的事务
作者: string2020    时间: 2016-06-07 15:09
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
有道理,如果想进一步提升自己的能力,深入研究java的底层实现,还是很有必要学习C++的,
JDK的很多底层都是使用JNI来实现(调用C++)的,比如说,
socket,TPC的三次握手,四次挥手都是用过JNI调用其他语言(C, C++)实现的
输入输出流,也都使用了JNI调用其他语言(C, C++)实现的,如果想了解他们的实现细节,就不得不学习C,C++
作者: hiyachen    时间: 2016-06-10 08:12
本帖最后由 hiyachen 于 2016-06-10 12:48 编辑

1、遇到过什么样的Java的运行版本问题,如何解决的?
版本和运行程序是分不开的。
很多程序是依赖于最新版本的。譬如spark1.6.1使用的jvm必须java1.8以上版本。
如果用到lumbda则必须是java8以上版本。
虽然遇到向下兼容号称。但还是会碰到高版本冲突。
如以下问题:
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
但是在DOS中运行javac却是正常的。
读一下出现的问题提示就会发现,电脑是在提示我Registry key中出现了问题,而这不就是注册表吗。所以我在运行中输入RegEdit,在注册表的HKEY_LOCAL_MACHINE》 SOFTWARE》JavaSoft》Java Runtime Envirnoment中找到了1.7和1.8两个版本的JDK,所以预感到问题可能出现在系统中添加的环境变量的java版本和电脑中默认的版本不一致。
果然双击Java Runtime Envirnoment后,右边出现了四个注册表,双击其中的CurrentVersion,可以看到默认值是1.8,把1.8改成1.7后,在DOS中运行java,问题解决!


2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
用eclipse的多一些。
介绍一下:
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具。
eclipse发展到今天,自己本身就很好的诠释了osgi,其中的equinox(春分、秋分)。
2003年Eclipse选择OSGi作为其插件的底层运行时架构。Equinox project对该理念进行了实验,2004年6月在Eclipse3 R3中发布。ProSyst是面向OSGi开发者的Eclipse插件。

不管是j2ee,jsp网站编辑,还是富客户端的jnlp,jws,applet都可以用eclipse进行编辑。


3、Java开发中哪个框架最贴心?
spring,osgi,hadoop
依赖库使用maven与ant的结合很不错的。

4、希望在未来的Java 10提供什么功能,什么库?
java不能提供面向函数编程是硬伤。
并发开发时希望能在这方面有所突破。
scala已经做了很好的尝试。


5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
不仅是c++,还有c。面向函数编程。
scala学的是并发和惰性计算。

作者: gugegev5    时间: 2016-06-14 11:32
1、遇到过什么样的Java的运行版本问题,如何解决的?
目前在用8,好多老版本的api都变成deprecated了,要学习新接口。我看新特性里可以在接口中添加实现了,挺好一功能,对后期维护和拓展功能有好处。总体而言,java还是很稳定的,用新版本很难碰到这类问题。
2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
Eclipse和IDEA都用过,现在公司在用IDEA。感觉IDEA用的顺手一些,网上有很多对比的帖子就不说了,要说一点的是IDEA也支持热编译的,虽然做的不是很好。。。
3、Java开发中哪个框架最贴心?
最近用ICE比较多,异步、负载均衡、传输协议什么的都写好了,省很多心。
感觉最喜欢的是淘宝的json工具包吧,用的挺顺手。
4、希望在未来的Java 10提供什么功能,什么库?
希望引用第三方语言的方式能再方便些
5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
还好吧,java的定位就不是性能,而是快速开发和后期维护。适用的企业后台应用没有什么复杂的逻辑,大部分涉及到算法的东西也都有框架解决了,作为已经有10几年历史的语言,在合适的场合使用还是没问题的。
java无法解决的困难太多了,但这些困难本身也不该用java来解决,看架构师本事咯
作者: tomac_cu    时间: 2016-06-20 15:33
回复 8# laputa73


    框架学的越多,问题越多,精通一个才能更快的实现功能。
作者: tomac_cu    时间: 2016-06-20 15:35
回复 19# gugegev5


     随着java跨平台的应用越来越多,计算能力价格的不断下降,java正成为性能开发的主力。这也是hadoop框架中大多数是java的原因。

   在资金不足的情况下和反应时间的要求就需要更低层的C来作辅助。还有更多的是权限问题。
作者: tomac_cu    时间: 2016-06-20 15:37
回复 13# heguangwu


    java的GC问题也恰恰是它的优点之一,在性能要求较高时,可以手动触发GC。
作者: shenlanyouyu    时间: 2016-06-30 21:33
本帖最后由 shenlanyouyu 于 2016-06-30 21:34 编辑

回复 1# tomac_cu

1、遇到过什么样的Java的运行版本问题,如何解决的?
主要做Android开发,使用中遇到JDK版本不兼容的问题,最后更新JDK,现在Android开发JDK库是一个问题,以前用的比较多oracle的JDK,现在转向使用OpenJDK。

2、什么工具开发Java效率更高?NetBeans?Eclipse?Android Studio?Vim?
用过Eclipse、Android Studio、Vim、Sublime Text,每一种工具都有其优点和缺陷。做Android开发,Android Studio比Eclipse功能要强大一些,但是使用的gradle管理太麻烦了,不是很习惯,经常版本间出现问题,耽搁时间。集成的IDE的好处能够提供,自动补齐、自动导入库等功能,集成IDE的缺点也很明显,太臃肿了,运行占用太多系统资源,编译也非常慢,我觉得开发效率看个人习惯,工具主要是辅助作用。

3、Java开发中哪个框架最贴心?
做Web研究过一段时间SSH,后面转向使用PHP做web。在Android开发过程中使用了Xutils、Volley、Picasso、fastJson、Json等框架,这些框架使用起来都非常方便,框架的好处就是开发效率比较高,很多功能模块已经封装好,例如Xutils已经将Database、Image加载、Http等功能封装好了,使用起来非常简单,但是自身水平的提高,还是要研究这些框架的源码,学习其设计思想,不能仅仅停留在会用的程度上。

4、希望在未来的Java 10提供什么功能,什么库?
希望整合JSON库,现在都是用的第三方的,JSON基本上是网络数据交换常用格式。如果能够加入大数据分析相关的库更好了。

5、有人说精通Java的终极奥义,就是学习C++,你觉得有道理么,遇到过Java无法解决的困难么?
这个问题仁者见仁,智者见智。Java运行在虚拟机中,效率肯定会低一些,而C++的优势在于效率,学习C++能够加深对系统的认识和掌握,能够提高自己的技术水平。在一些场合,可以通过JNI的方式,在Java中调用C++程序达到目的,在Android中大量使用这种方式。

   
作者: renxiao2003    时间: 2016-12-19 13:19
结束了。呵呵。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2