<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>阿宽技术博客 &#187; Java栏</title>
	<atom:link href="http://www.hengxinsoft.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hengxinsoft.com</link>
	<description>技术交流</description>
	<lastBuildDate>Thu, 12 Jan 2012 06:17:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>世界各地开发高手谈Java</title>
		<link>http://www.hengxinsoft.com/2009/06/%e4%b8%96%e7%95%8c%e5%90%84%e5%9c%b0%e5%bc%80%e5%8f%91%e9%ab%98%e6%89%8b%e8%b0%88java/</link>
		<comments>http://www.hengxinsoft.com/2009/06/%e4%b8%96%e7%95%8c%e5%90%84%e5%9c%b0%e5%bc%80%e5%8f%91%e9%ab%98%e6%89%8b%e8%b0%88java/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 10:11:59 +0000</pubDate>
		<dc:creator>akin</dc:creator>
				<category><![CDATA[Java栏]]></category>

		<guid isPermaLink="false">http://www.hengxinsoft.com/?p=231</guid>
		<description><![CDATA[“JCP本身仅仅是定义了一些标准及相应的说明书，这在已有的工程实现中被得到支持。作为编程者，我们不想根据一段现成的Java编码来指导我们编程，而要根据一套成熟的说明书进行开发。真正有用的编程最开始往往是零碎的代码片断，经常经历一个先有代码然后有规范的说明书的过程。”-Rob Gingell “我找到了开源的主动性，特别是从Apache到当前最具创新性的有用的软件中找到的。”-Eric Bruno 7.Sun应该开放Java的源代码吗？ 你知道这个问题肯定会出现在问卷之中的。 “这一点并不重要。Java在走自己路的过程中，自身已经建设得足够强大。”-Bruce Tate “如果Sun在做这样一件有益的工作，为什么要打扰他呢？”-Raghu Donepudi “不应该。如果它实现开源，那么我们能够看到Java的许多技巧，这最终将导致一些问题的出现，例如我们现在使用应用程序服务器时所遇到的问题。”-Rahul Kumar Gupta “是的。Sun拒绝这样做的唯一原因就是，Java完全是他们自己的产品，他们使用它来使自己的公司得以维持下去。”-Jack Herrington “一方面，开源的思想是很有吸引力的，因为它将导致更多的错误在很短的时间内就得以修改。另一方面，它可能导致分支分派的不匹配的JAVA虚拟机的出现。”-Michael Pilone “不。我不相信一群普普通通的所谓天才人物就能取代那些负责管理极为健全的基本概念的大家们的科学思想-其中的大多数人甚至还不能明白这个问题。”-Vlad Patryshev “开源社团的加入将会加速创新并推动该平台的竞争性。”-Rod Smith(IBM) “我们需要一个开源Java的主要原因是确保该平台的生命力。如果将来Sun公司发生什么事情的话，开源的Java将列入我们的保险计划中。”-Ed Cobb(BEA) “我认为是应该的。’开源’Java并不要求Sun做什么事情，它只是要求另外一些公司或个人做一些事情。’开源’Java是不可避免的。我建议Sun积极地实现这一不可避免并为此带来的益处做一些工作。”-Rob Gingell 8.你希望Java有怎样的改进？ “从较低层次上，Java需要代码的模块化，扩展和一个更具动态化的模型，以及还需要增加很多的功能以使得应用程序开发更为容易，因为你不可能仅仅利用库来实现一切。”-Bruce Tate “内省机制（用一个类来分析JavaBean的特性）使用起来太难且过于繁重。”-Laurent Ploix “需要加入代码使用许可证机制。”-Greg Magnusson，Cyborg Spiders的Web技术开发的奠基者 “应该提供由开发者来进行内存管理的功能。”-Raghu Donepudi “应该加入运算符重载功能。”-Jack Herrington “目前迫切需要在Java中加入Jar版本机制。我记不清有多少次遇到XML分析库冲突或者日志库冲突了。”-Michael Pilone “类对象。十年了，没有任何改变。有大量的类对象需要加上去。”-Vlad Patryshev “Java平台目前已经变得过于复杂。我们认为Java社团需要做出更好的工作来满足独立的和中小型的商业需要，这也是为了Java继续发展、繁荣和成功的目的。”-Rod Smith（IBM） “Java非常需要一个更为强壮的模块化的系统。当前，我们所拥有的是一些.jar文件，其结果是成了’.jar文件地狱’。但是今天还很难描述一个互有联系的模块化的系统。”-Ed Cobb “我原先希望Java能够实现的，过去的Java并没有做到：关于日期和时间问题上有好几处从一开始就是错误的；RMI/IIOP的引入在理论上是正确的但完全没有必要；它自一开始就是自我封闭的。”-Rob Gingell “对于类的加载和对象的Java运行时刻类型的关系的处理是一个错误，现在我们还在为之付出代价。你不可能真正确定出是否你的程序在编译时刻是类型安全的。而且，如果你在做适当动态的任何操作，你经常需要对一个给定类的正确加载作出猜测分析。”-Jim Waldo “垃圾回收简直是个噩梦。它有可能使得没有经过良好训练的，懒散的编程人员进入到这个工业领域中。” “Java需要增加的另外一些功能有：操作符重载；预编译指令（#define，等等）；把声明与定义（头文件和源文件）相分离的能力；唯一的、非本机的机器标志符（用于认证之目的）。”-Michael Smialek “迫切需要加入Code-Behind（页面代码分离）技术！！！ASP.NET和页面代码分离技术所带来的重用性与灵活性是巨大的。我希望JSP 3.0能够朝这个方向发展。”-Kyle Gabhart [...]]]></description>
			<content:encoded><![CDATA[<p>“JCP本身仅仅是定义了一些标准及相应的说明书，这在已有的工程实现中被得到支持。作为编程者，我们不想根据一段现成的Java编码来指导我们编程，而要根据一套成熟的说明书进行开发。真正有用的编程最开始往往是零碎的代码片<span id="more-231"></span>断，经常经历一个先有代码然后有规范的说明书的过程。”-Rob Gingell</p>
<p>“我找到了开源的主动性，特别是从Apache到当前最具创新性的有用的<a title="软件" href="http://software.it168.com/" target="_blank">软件</a>中找到的。”-Eric Bruno</p>
<p>7.Sun应该开放Java的源代码吗？</p>
<p>你知道这个问题肯定会出现在问卷之中的。</p>
<p>“这一点并不重要。Java在走自己路的过程中，自身已经建设得足够强大。”-Bruce Tate</p>
<p>“如果Sun在做这样一件有益的工作，为什么要打扰他呢？”-Raghu Donepudi</p>
<p>“不应该。如果它实现开源，那么我们能够看到Java的许多技巧，这最终将导致一些问题的出现，例如我们现在使用应用程序<a title="服务器" href="http://product.it168.com/files/0402search.shtml" target="_blank">服务器</a>时所遇到的问题。”-Rahul Kumar Gupta</p>
<p>“是的。Sun拒绝这样做的唯一原因就是，Java完全是他们自己的产品，他们使用它来使自己的公司得以维持下去。”-Jack Herrington</p>
<p>“一方面，开源的思想是很有吸引力的，因为它将导致更多的错误在很短的时间内就得以修改。另一方面，它可能导致分支分派的不匹配的JAVA虚拟机的出现。”-Michael Pilone</p>
<p>“不。我不相信一群普普通通的所谓天才人物就能取代那些负责管理极为健全的基本概念的大家们的科学思想-其中的大多数人甚至还不能明白这个问题。”-Vlad Patryshev</p>
<p>“开源社团的加入将会加速创新并推动该平台的竞争性。”-Rod Smith(IBM)</p>
<p>“我们需要一个开源Java的主要原因是确保该平台的生命力。如果将来Sun公司发生什么事情的话，开源的Java将列入我们的保险计划中。”-Ed Cobb(BEA)</p>
<p>“我认为是应该的。’开源’Java并不要求Sun做什么事情，它只是要求另外一些公司或个人做一些事情。’开源’Java是不可避免的。我建议Sun积极地实现这一不可避免并为此带来的益处做一些工作。”-Rob Gingell</p>
<p>8.你希望Java有怎样的改进？</p>
<p>“从较低层次上，Java需要代码的模块化，扩展和一个更具动态化的模型，以及还需要增加很多的功能以使得应用程序开发更为容易，因为你不可能仅仅利用库来实现一切。”-Bruce Tate</p>
<p>“内省机制（用一个类来分析JavaBean的特性）使用起来太难且过于繁重。”-Laurent Ploix</p>
<p>“需要加入代码使用许可证机制。”-Greg Magnusson，Cyborg Spiders的Web<a title="技术开发" href="http://tech.it168.com/" target="_blank">技术开发</a>的奠基者<br />
“应该提供由开发者来进行<a title="内存" href="http://product.it168.com/list/b/0205_1.shtml" target="_blank">内存</a>管理的功能。”-Raghu Donepudi</p>
<p>“应该加入运算符重载功能。”-Jack Herrington</p>
<p>“目前迫切需要在Java中加入Jar版本机制。我记不清有多少次遇到XML分析库冲突或者日志库冲突了。”-Michael Pilone</p>
<p>“类对象。十年了，没有任何改变。有大量的类对象需要加上去。”-Vlad Patryshev</p>
<p>“Java平台目前已经变得过于复杂。我们认为Java社团需要做出更好的工作来满足独立的和中小型的商业需要，这也是为了Java继续发展、繁荣和成功的目的。”-Rod Smith（IBM）</p>
<p>“Java非常需要一个更为强壮的模块化的系统。当前，我们所拥有的是一些.jar文件，其结果是成了’.jar文件地狱’。但是今天还很难描述一个互有联系的模块化的系统。”-Ed Cobb</p>
<p>“我原先希望Java能够实现的，过去的Java并没有做到：关于日期和时间问题上有好几处从一开始就是错误的；RMI/IIOP的引入在理论上是正确的但完全没有必要；它自一开始就是自我封闭的。”-Rob Gingell</p>
<p>“对于类的加载和对象的Java运行时刻类型的关系的处理是一个错误，现在我们还在为之付出代价。你不可能真正确定出是否你的程序在编译时刻是类型<a title="安全" href="http://safe.it168.com/" target="_blank">安全</a>的。而且，如果你在做适当动态的任何操作，你经常需要对一个给定类的正确加载作出猜测分析。”-Jim Waldo</p>
<p>“垃圾回收简直是个噩梦。它有可能使得没有经过良好训练的，懒散的编程人员进入到这个工业领域中。”</p>
<p>“Java需要增加的另外一些功能有：操作符重载；预编译指令（#define，等等）；把声明与定义（头文件和源文件）相分离的能力；唯一的、非本机的机器标志符（用于认证之目的）。”-Michael Smialek</p>
<p>“迫切需要加入Code-Behind（页面代码分离）技术！！！ASP.NET和页面代码分离技术所带来的重用性与灵活性是巨大的。我希望JSP 3.0能够朝这个方向发展。”-Kyle Gabhart</p>
<p>“我更愿意使用Java对象来存取<a title="操作系统" href="http://product.it168.com/list/b/0501_1.shtml" target="_blank">操作系统</a>而不是用JNI（Java本机接口），因为大多数的Win32/Linux API都包含在Java中了。”-Alexi Jordanov，OSGi技术公司ProSyst Bulgaria的项目领导者</p>
<p>转自csdn</p>
<hr />Copyright &copy; SITE_NAME. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement.]]></content:encoded>
			<wfw:commentRss>http://www.hengxinsoft.com/2009/06/%e4%b8%96%e7%95%8c%e5%90%84%e5%9c%b0%e5%bc%80%e5%8f%91%e9%ab%98%e6%89%8b%e8%b0%88java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JAVA和.Net孰优孰劣？</title>
		<link>http://www.hengxinsoft.com/2009/05/java%e5%92%8cnet%e5%ad%b0%e4%bc%98%e5%ad%b0%e5%8a%a3%ef%bc%9f/</link>
		<comments>http://www.hengxinsoft.com/2009/05/java%e5%92%8cnet%e5%ad%b0%e4%bc%98%e5%ad%b0%e5%8a%a3%ef%bc%9f/#comments</comments>
		<pubDate>Thu, 28 May 2009 09:37:13 +0000</pubDate>
		<dc:creator>akin</dc:creator>
				<category><![CDATA[Java栏]]></category>

		<guid isPermaLink="false">http://www.hengxinsoft.com/?p=157</guid>
		<description><![CDATA[作者在本文中简述了JAVA和.Net两者的本质，并分别站在用户、开发商和从业人员的立场上，讨论了这个问题。对这个话题感兴趣的朋友可以到我们的论坛参与讨论。 
]]></description>
			<content:encoded><![CDATA[<p>每次想到这个问题，我就仿若看见原始森林里的盘根错节，脑袋开始发胀――这实在不是一个轻易就能清楚的问题。兼且两大阵营的从业人数和水平均不可小觑，我还是先老老实实戴上安全帽，准备挨砖。<span id="more-157"></span></p>
<p><strong>我理解的两者本质</strong></p>
<p>Java是绑定于一种语言的跨系统的平台，是一个有多家供应商提供竞争性产品的规范。<br />
.net是绑定于一种系统的多语言平台，是一个规范性较弱的垄断性产品。</p>
<p>一个是规范一个是产品，本来就不同。于是.net的发言人说，规范和产品没得比，要比就比具体产品。但,Java天生是规范，这不是Java的错，.net生来是迎战Java的，孤军奋战是他的命。</p>
<p>随便问一个稍有头脑的Java程序员,Java最大的好处是什么，他会毫不犹豫地告诉你：“简洁”。Java为Internet而生，也为自己“简单易用并提高生产效率”的理念而活。</p>
<p>Java讨人喜欢，因为他把家底亮出来,鼓励大家发挥聪明才智帮他进步。那么多开源项目，都在竞争中求发展，对Java的发展贡献巨大。Java作为规范，吸收成果不计出身，善于否定自己、自我扬弃的优点有目共睹。EJB3.0就是一例，EJB是Java 2企业版（即J2EE）的杀手锏，在企业级应用中广受推崇，占据大型企业应用的高端市场。但EJB2.x也因其不易开发、部署受到批评。新近通过的EJB 3.0几乎是对EJB2.x的全盘否定，丢弃了重量级的EJB2.x，引入轻量级开源项目Hibernate的设计理念，公布不久就获得多方支持。为了理想，Java不惜付出代价，要不然哪有Highway帖子里.net设计师的评价：“Java发展到现在，还能相对那么紧凑精干，不容易！”</p>
<p>.net不同，出生于老牌商人世家，什么理念啦，原则啦，对商人来说不重要。重要的是要保住市场，抢占市场。</p>
<p>他的主人以操作系统雄霸桌面电脑，曾经对互联网不屑一顾。当终于发现自己犯了原则错误，不得不迎头赶上时，.net应运而生。.net世交多，要尽量保持亲戚关系，还要让亲戚的支持者原windows平台开发人员保住饭碗，象EJB3.0那种过河拆桥痛下杀手的事情还没干过。新功能要加，历史物件也要留。但他和自家亲戚关系紧密，外人从亲戚家拐个弯就到他家，自在，没有陌生感，也没有路费。人留住了，市场就留住了。至于跨平台，有违家族利益，不符合祖训，所以理论上的跨平台，他不打算认真对待。但中小企业应用的市场，他占住了。</p>
<p>于是呢，Java阵营继续为理想而战，.net阵营继续为市场而战，各得所需，都忙得不亦乐乎。</p>
<p><strong>站在用户的立场上</strong></p>
<p>虽然Java和.net奋斗的目标不同，但是都是B/S结构软件市场的生力军。</p>
<p>Java对大中小型系统都适用，只要搭配不同的操作系统、应用服务器等等，大到银行综合信息系统、全国全省的统一应用系统，小到手机游戏，Java可以大小通吃，来者不拒。尤其是中国政府的重要系统，全没有.net的份，为啥？你不给我看家底，我怎么知道你有没有留了后门，改天偷偷溜进我家？</p>
<p>.net照顾中小型应用毫无问题，而且开发速度快，作为用户，付了钱很快能看到回报，当然欢喜。大型应用么，.net是不是真的支撑不了，我不知道，但诸如windows不稳定不安全的评论由来已久，.net建构于这些亲戚的基础上，坏事就脱不了干系。</p>
<p>系统交货早，功能实现，运行稳定，安全性不出纰漏，用户就满意。<br />
跨不跨操作系统，这个考量不重要，哪有没事整天换操作系统的用户？</p>
<p><strong>站在开发商的立场上</strong></p>
<p>Java还是.net？继续头疼。</p>
<p>跨平台对开发商是一个巨大的诱惑。一次开发，多个平台使用，降低了迁移成本，有利。但Java的开发工具没有.net顺手，对编码人员的要求比.net要高。</p>
<p>.net培训成本低，上手快。尤其如果开发人员以前都是做windows开发的话，转型成本低得让老板眉开眼笑。</p>
<p>最重要的决定力量是市场。开发商所定位的市场用户的需求和开发上在技术上的历史积累，决定了开发商最终的策略。</p>
<p><strong>站在从业人员的立场上</strong></p>
<p>从业人员被市场所驱动，反过来也引导市场。</p>
<p>Java起手的过程比较漫长。Java开发者要做很多DIY工作，才能写出第一个像样的程序。DIY多了，对于从业的基础素质，必有提高。</p>
<p>.net入门快，windows最大的好处“可视化”在.net延续，集成环境好，单步调试强，这是Java团队中下至程序员上达项目经理历来羡慕的地方。做惯了windows和.net下的开发，难免觉得Java下的开发调试实在比较原始：代码大多要一行一行写，单步调试很多时候不可能。</p>
<p>但Java人员的付出也有回报。我还记得当年Pascal编程课和Unix操作系统带给我的思维冲击，那门编程课应该更准确地说成“结构化编程――pascal”。Pascal强调的结构化编程带来了非结构化语言如Fortran之流无法比拟的美和乐趣，Unix崇尚的“小即是美”、“没有消息就是好消息”深入我心。在软件开发这一生产过程中，除了得到维持生计所需的报酬，同时能得到美的享受和满足的心情，实为天赐。Java从业者乐于谈论Java的美，这一点上比.net有福。</p>
<p><strong>结尾</strong></p>
<p>就服务端市场来讲，Java目前在技术先进性上有绝对优势。应用系统需要各个层面的框架（framework），Java都有大量已完成或正在进行的开源项目帮助开发人员更好地完成自己的任务。诸如struts/JSF类的框架，.net没有对应物，而且Java在扬弃的同时保持着相对的稳定。</p>
<p>.net开发效率差不多是Java的三倍(经验数据)，致命的诱惑。在Java放弃的客户端程序上，.net是老大，但在服务端，.net还是个小弟弟，有待成长。微软最初想要构建一个新的技术来回应J2EE，但发现一己之力还办不到。于是匆匆祭出com/com+，被绝大多数程序员评为“丑陋繁杂，迟早会被替换掉”。什么时候替换呢？这一替换对应用的影响有多大呢？微软的新操作系统对.net又会有多大影响？拭目以待。</p>
<p>绕来绕去的意思是，我不觉得两个平台有截然的高下之分。在这个互动的世界上，不想被淘汰的竞争者始终保持警惕，努力学习对手的优点。Java的努力之一就是提供更易用的工具帮助开发人员快速轻松地开发Web应用程序。而.net的当务之急是改进架构，完善框架。</p>
<p>还是那句话：没有最好的技术，只有对于具体项目来说最适用的技术。</p>
<p>来源链接：<a href="http://bbs.51cto.com/thread-112644-1-1.html">http://bbs.51cto.com/thread-112644-1-1.html</a></p>
<hr />Copyright &copy; SITE_NAME. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement.]]></content:encoded>
			<wfw:commentRss>http://www.hengxinsoft.com/2009/05/java%e5%92%8cnet%e5%ad%b0%e4%bc%98%e5%ad%b0%e5%8a%a3%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>方向定了，我选的java</title>
		<link>http://www.hengxinsoft.com/2009/05/%e6%96%b9%e5%90%91%e5%ae%9a%e4%ba%86%ef%bc%8c%e6%88%91%e9%80%89%e7%9a%84java/</link>
		<comments>http://www.hengxinsoft.com/2009/05/%e6%96%b9%e5%90%91%e5%ae%9a%e4%ba%86%ef%bc%8c%e6%88%91%e9%80%89%e7%9a%84java/#comments</comments>
		<pubDate>Wed, 20 May 2009 15:44:52 +0000</pubDate>
		<dc:creator>akin</dc:creator>
				<category><![CDATA[Java栏]]></category>

		<guid isPermaLink="false">http://www.hengxinsoft.com/?p=64</guid>
		<description><![CDATA[  昨天晚上我们让选方向了，和我想象中的差不多，以后不会再去争java好啊，还是net有前途啊~~    既然选择了java就要踏踏实实的去学，总感觉学java要比学net的多付出很多，或许java真的比net难学吧，希望我们下学期的专业课老师师能让我适应吧，呵呵~~~~好久没有好好听过老师讲课了，失去目标的我又有目标了，加油吧，我们也可以为开源做点贡献的 Copyright &#169; SITE_NAME. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement.]]></description>
			<content:encoded><![CDATA[<p>  昨天晚上我们让选方向了，和我想象中的差不多，以后不会再去争java好啊，还是net有前途啊~~</p>
<p>   既然选择了java就要踏踏实实的去学，总感觉学java要比学net的多付出很多，或许java真的比net难学吧，希望我们下学期的专业课老师师能让我适应吧，呵呵~~~~好久没有好好听过老师讲课了，失去目标的我又有目标了，加油吧，我们也可以为开源做点贡献的</p>
<hr />Copyright &copy; SITE_NAME. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement.]]></content:encoded>
			<wfw:commentRss>http://www.hengxinsoft.com/2009/05/%e6%96%b9%e5%90%91%e5%ae%9a%e4%ba%86%ef%bc%8c%e6%88%91%e9%80%89%e7%9a%84java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

