通过搜索引擎搜索Java手机开发,你会发现大部分都是招聘信息。这也说明了目前国内急需Java手机开发人才!而Java开发本身就让人感觉有一定难度,也许你还在犯嘀咕:我适不适合搞Java开发?搞Java手机开发有前途吗?Java手机开发难吗?我在Java开发中遇到些问题,是怎么回事呢?
技术门诊是51CTO社区品牌栏目,每周邀请一位客座专家,为广大技术网友解答疑问。从热门技术到前沿知识,从技术答疑到职业规划。每期一个主题,站在最新最热的技术前沿为你引航
本期门诊特邀请高级软件工程师、项目经理李宁与大家交流Java开发的问题。上面所提到的以及其他延伸的Java问题,都可以和李宁进行交流、讨论。
姓名:李宁
擅长领域:Java、Android/Ophone
高级软件工程师、项目经理、东北大学计算机专业硕士。十多年软件开发经验。领导并参与开发中学教务管理系统、印刷物资公司管理系统、网上评卷系统等十几个大中型项目。个人作品:多功能日历(Android版)、新浪微博客户端(Android)。国内知名媒体专栏文章100余篇。著有《Java Web开发技术大全》、《Java Web开发速学宝典》。新书《Android/OPhone开发完全讲义》和《开心无敌:基于Web和Android的SNS开发》(书名暂定)将在近期出版。
参与最新技术门诊:http://doctor.51cto.com/
精选本期网友提问与专家解答,以供网友学习参考。
李宁 如果在windows下,可以通过右键我的电脑的系统属性设置JAVA_HOME以及其他的环境变量,在Linux的设置的地方很多,如在/etc/profile文件中设置
Q:请问专家:如何设置Java 2(JDK1.2)的环境变量?
Q:再问一个:哪些Java集成开发工具支持Java 2? 希望专家解答,谢谢!
李宁 你是说JDK1.2吗?这个版本比较老,不过目前象eclipse、netbeans等开发工具都可以用老版本的jdk,还有比较简单的jcreator也是一样。
Q:专家您好!请问,在Java applet中如何实现一个模式对话框? 谢谢!
李宁 Dialog d = new Dialog( getParentWindow(comp),title);
Q:专家您好!请问要从事j2me的手机游戏开发应该看那些书?我学过一些java,现在要搞手机游戏,那些书比较好?谢谢!
李宁 搞游戏首先应了解一下游戏的原理。至于看哪些书,这个不太好回答,因为这些因人而异。不过可以找一些简单的j2me游戏的例子,直接看一下代码,代码是最好的指导老师。
Q:Android 中如何引用核心的资源?谢谢专家!
李宁 不知核心资源主要指的是什么,是系统内核的资源(图像、主题吗)?
Q:import java.io.File;
李宁 File只能打开本地文件,如果是远程的文件(如http、ftp等),需要使用与HTTP、FTP等相关类库先从网络上下载(可以是内存流形式),然后再使用read来读取。
李宁 漏洞经常会有的,尤其是现在软件做得越来越复杂,虽然这次漏洞可能会使window用户造成一定的危害,但对大多数人并没有什么问题。以后还会出现很多这样的漏洞的。我们要做的是只能尽量使用防火墙和防毒软件了。
Q:专家您好!我是Java学习的新手,问一个小问题:方法名是否可以与构造器的名字相同?
李宁 可以的,甚至参数也可以一样。因为构造方法没有返回值,所以编译器可以区分哪个是普通方法,哪个是构造方法。
Q:请问李老师,Java手机程序员主要是从事手机游戏的开发吗?
李宁 手机程序一般包括手机应用(包括web游戏)和手机游戏。
Q:李老师,您好:近几个月,JAVA在编程语言的排行榜不断下滑,不再是往日的第一,再加上风传甲骨文决定不再实行JAVA开源,是不是标志着JAVA已经到了盛极而衰的时刻。
李宁 记得十多年前计算机行业还不发达,计算机专业并不象现在这么热。那时的热门专业是机械、电子等传统专业,然而,谁能想到进入21世纪以来计算机和互联网领域会发展如此之快呢?相反象机械等传统专业已远不如计算机热了。 技术也是一样,没人知道未来会是什么样子,就算现在选一种非常热门的技术,谁又能保证在自己学到一定程度时仍然会很热门呢!因此,学什么并不重要,重要的是能在最段的时间内掌握。现在的IT技术更新如此之快,单纯靠会Java、C#、C++这些语言已经很难找到好的工作了,关键是要掌握快速学习技术的方法。
另外一点就是Sun虽然被Oracle收购,但目前Java已经开源,而且支持Java的不只Oracle一家,IBM和Google是Oracle的两个强大的竞争对手。IBM和Google的很多产品都使用Java开发,他们不会允许Oracle自己独霸Java。再有就是Java实际上是一种规范,就象C++一样,只是一种标准,谁根据这种语言都可以设计出Java编译器和解析器的。象Google不是在android中自己设计了一个新的Java虚拟机吗!所以Java至少在可预见的未来仍然会成为开发语言的生力军。当然,除了Java,再多会一些其他的语言和技术也会使自己如虎添翼。
Q:李老师你好:我正在考虑是否去学习JAVA,Java现在虽然很强势,但您预计一下Java在未来的市场中会强盛持续多久!
李宁 很多初学者都会提出这样的问题。实际上,任何人预测的未来都是不可信的,未来只有时间他老人家才能准确无误地回答我们。虽然未来无法精确预测,但可以肯定地说,现在任何一种语言都不具有绝对的优势来取代其他的语言。Java已经有15年的历史了,与Java相关的产品成千上万。Java的开发人员也相对较多。而且现在还没有出现能完全取代Java的技术,或者说在短期内不可能出现这样的技术,因此,Java至少还会存在很长的时间,也就是说,必须为新的技术留出足够长的孕育期才不会出现断档。
Q:Java的前景怎么样!我们学校最近有个CSTP的软件培训工程,来我校讲坐,在他的讲述下,感觉前景很好!
李宁 Java至少在可预见的未来仍然会属于最热门的语言之一。但并不是Java流行或热门,学它就万事大吉,关键并不在于语言本身,而在于谁在使用它。在于学得怎样。只有Java能力(并不是指会一大堆api,这毫无意义,而在于分析问题解决问题的能力)达到了一定的高度,才能获得足够的精神和物质享受。
Q:请问专家:如果在Netscape或IE浏览器中运行Java applet时出现了错误,如何确定错误范围?
李宁 运行applet错误的情况可能有三个:1、applet的路径不对,仔细检查代码中的路径。2、jre安的不对,客户端未完装正确的jre。3,浏览器关闭了外部插件,重新打开即可。 当然,还可能是程序本身的错误。需要一个个来排除。
Q:请教专家:如何设置Java WebServer的CLASSPATH,以包含用户的class文件?
李宁 一般的web server都有一个lib或类似的目录,把jar或class文件放到该目录就可以了。或设置操作系统的classpath也可以。当然,也可以在启动webserver的脚本文件中添加设置classpath的代码。
Q:请问专家:我在eclipse想运行helloworld.java程序,把所需的jar包都已经加入到工程中了,我在运行helloworld.opt时编译错误,helloworld.opt文件如下:
李宁 我没用过 Java Card SDK 2.2.1,但你可以参考如下的这篇文章http://forums.sun.com/thread.jspa?threadID=5432495
Q:初入编程,了解甚少,java是开发软件吧,javascript是web开发,他们有关系吗,学java的话是不是一定要吧JavaScript也学好,本人喜欢软件开发,不喜欢web的开发,现在都懒的去学web,不知道有没联系,如果学习java的话还要学习其他方面的什么知识?谢谢了!
李宁 java可以做移动、企业和桌面应用。学移动要学java me、学企业要学java ee,也有部分涉及到web的,学桌面主要学java se。
Q:JAVA中用STRUTS框架能把所有的动作写在一个ACTION里吗,求专家指点迷津!
李宁 从技术上没问题,但最好不要这样做。应为成不同的Action,这样使程序更容易维护。
Q:专家您好,对于初学者推荐看那几本书?谢谢
Q:请问编写java有一套比较实用的思维模式吗?
李宁 思维模式模式都是私有的,只有适合自己的才是最好的。
Q:dephi 转java 怎么样?
李宁 这个不太好回答。为什么要转呢?可以将java作为第二语言,没有必要放弃delphi.
Q:李老师我想问问Java的发展趋势是什么?为什么好多人研究Java而不能得到高薪的工作,这点很让人郁闷。
李宁 Java和高薪并不画等号。这就象都是做生意的,可不一定都能开上宝马,有很多开公司的还不如上班挣的多,而且还很累。想高薪,就要看看自己能为自己所服务的企业带来什么。如果自己是这个企业的老板,那么会给与自己同样水平的人多少薪水呢? 光研究Java是没有什么实际的价值的,要看可以用java做出什么,所做出的东西有多少人用。几年前张小龙用delphi做的foxmail卖了2000万,就是因为foxmail有数百万的用户。如果我们做的软件拥有庞大的用户群,无论是为企业做的,还是为自己做的,都会得到另自己满意的回报。
查看更多精彩门诊:http://doctor.51cto.com/