Java 在Client/Server 中应用
Java 在Client/Server 中应用[@more@] 一、Java网络应用模型 和Internet上的许多环境一样,完整的Java应用环境实际上也是一个客户机/服务器环境,更确切地说是浏览器/服务器模型(即Browser/Server模型,简称Web模型)。但与传统的客户机/服务器(C/S) 的二层结构不同,应用Java的Web模型是由三层结构组成的。传统的C/S结构通过消息传递机制,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端。而在Web模型中,服务器一端被分解成两部分:一部分是应用服务器(Web 服务器),另一部分是数据库服务器。 针对分
写Java程序最容易犯的21种错误实例分析
写Java程序最容易犯的21种错误实例分析[@more@] 1.Duplicated Code 代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。 2.Long method 它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。 3.Large Class 大类就是你把太多的责任交给了一个类。这里的规则是One Class One Responsibility. 4.Divergent Change 一个类里面的内容变化率不同。某些状态一个小时变一次,
一篇不错的讲解Java异常的文章
一篇不错的讲解Java异常的文章[@more@] 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid, name from user"); 7 while (rs.next()) 8 { 9 out.println("ID:" + rs.getString("uid")
Java 理论与实践: 用弱引用堵住内存泄漏
Java 理论与实践: 用弱引用堵住内存泄漏[@more@] 虽然用 Java™ 语言编写的程序在理论上是不会出现“内存泄漏”的,但是有时对象在不再作为程序的逻辑状态的一部分之后仍然不被垃圾收集。本月,负责保障应用程序健康的工程师 Brian Goetz 探讨了无意识的对象保留的常见原因,并展示了如何用弱引用堵住泄漏。 要让垃圾收集(GC)回收程序不再使用的对象,对象的逻辑 生命周期(应用程序使用它的时间)和对该对象拥有的引用的实际 生命周期必须是相同的。在大多数时候,好的软件工程技术保证这是自动实现的,不用我们对对象生命
面向对象的思维方式
面向对象的思维方式[@more@] 我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了Java运行起来慢吞吞的速度,相对冗长的代码,而且一个很简单的事情,要写好多类,一个类调用一个类,心里的抵触情绪很强。 我对Java的面向对象的特性琢磨良久,自认为有所领悟,也开始有意识的运用OOP风格来写程序,然而还是经常会觉得不知道应该怎样提炼类,面对一个具体的问题的时候,会觉得脑子里千头万
Java实现利用搜索引擎收集网址的程序
Java实现利用搜索引擎收集网址的程序[@more@] 我这里讲的不是怎么使用搜索引擎,而是怎么让程序利用搜索引擎来搜集网址,这有什么用?很有用!网上动辄有人叫卖网址数据库,如发布软件网址、邮件地址、论坛网址、行业网址,这些网址是怎么来的呢?不可能是人手工收集而来的,都是让程序利用搜索引擎取到的,如果您需要某类网址信息数据,就跟我来一起研究一下,非常简单。 本文采用Java语言写成,以google和百度搜索引擎为对象。 我们要利用google、百度搜索引擎的搜索规则中的两条,关键字搜索和inurl搜索。什么是inurl搜索,
软件最大的追求是什么?
软件最大的追求是什么?[@more@] 这段时间,Java世界有两件事情值得关注:工业界力推SOA;在开源领域,即将推出的Spring 2.0将支持非贫血模型,将OO编程推向一个新的阶段。 无论SOA全新架构推出还是OO的持续发展,他们都追求同一个终极目标:松耦合。 当我们在Java波涛汹涌的潮流中奋击时,我们常常会思考?我为什么要这样做?甚至,我们会想松耦合真的那么酷?可维护性真的是软件唯一?也许我们迷失了方向。 我们要好好探究一下,软件的最大追求是什么? 我们的大学计算机教育只是教会我们如何编程?这如同技工学校中
JUnit入门
JUnit入门[@more@] 一、简介 JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。这两个牛人中 Erich Gamma 是 GOF 之一;Kent Beck 则在 XP 中有重要的贡献(你觉得眼熟一点都不奇怪)。 正如常言道:“麻雀虽小,五脏俱全。” JUnit设计的非常小巧,但是功能却非常强大。 下面是JUnit一些特性的总结: 1) 提供的API可以让你写出测试结果明确的可重用单元测试用例 2) 提供了三种方式来显示你的测试结果,而且还可以扩展 3) 提供了单元测试用例成批运行的功能 4) 超轻量
Java 2005回顾&2006展望
Java 2005回顾&2006展望[@more@] 过去的一年,Mustang 没能出来,EJB3刚刚才提交最终草案,Ajax兴起但是五花八门不知道应该用谁,Aspectj 5出来了,但是缺乏惊喜。 或许我们会说,过去的2005,Java界缺乏成绩,但是却毫无疑问,Java遥遥领先于其他语言。从11月的语言排行榜Java遥遥领先,到今年的Java图书销售统计上,Java图书销售总数是C#的2倍,PHP的2.5倍,Perl的4倍,Ruby/Python的9倍. 这足以让我们对2006充满想象。 不过,还是让我们先回顾下2005吧.... 1、2005 之 Java 对手 过去的2005,Java无疑是最受
两种Java容器类List和Set分析
两种Java容器类List和Set分析[@more@] 容器类可以大大提高编程效率和编程能力,在Java2中,所有的容器都由SUN公司的Joshua Bloch进行了重新设计,丰富了容器类库的功能。 Java2容器类类库的用途是“保存对象”,它分为两类: Collection----一组独立的元素,通常这些元素都服从某种规则。List必须保持元素特定的顺序,而Set不能有重复元素。 Map----一组成对的“键值对”对象,即其元素是成对的对象,最典型的应用就是数据字典,并且还有其它广泛的应用。另外,Map可以返回其所有键组成的Set和其所有值组成的Collection,或
苹果WWDC展示MacOSX 10.5
苹果WWDC展示MacOSX 10.5[@more@] Apple苹果电脑计划在今年的WWDC大会上展示下一代Mac OSX 10.5操作系统。目前这款操作系统的研发代号是Leopard。 苹果电脑WWDC大会将于8月7日到8月11日举行。苹果电脑表示,开发者可以在WWDC大会上了解到Leopard采用的最新技术和具备的创新功能。 尽管WWDC大会主要针对开发者,但是最近WWDC大会也开始针对消费者考虑。预期8月份的WWDC大会上,苹果电脑将发布采用双核心Conroe处理器的桌面PowerMac电脑,同时发布的可能还有视频iPod。
垃圾邮件重灾区:亚洲
垃圾邮件重灾区:亚洲[@more@] 根据安全公司Sophos全球垃圾邮件监视网络的统计,亚洲已经成为垃圾邮件的重灾区,目前全球42.8%的垃圾邮件来自这里,而北美和欧洲分别为25.6%和25.0%。 两年前,北美要为全世界半数以上的垃圾邮件负责,而现在,北美和南美加起来的“贡献”也不如亚洲,而且欧洲也已经追上了北美,下个月超过的话毫无意外。 不过具体到各个国家,美国仍然是最大的垃圾邮件输出国,不过23.1%的比例相比我国大陆和香港的21.9%并没有多少“领先优势”,而第三名韩国的9.8%则被“甩开”不少。 Sophos认为我国垃
取代BIOS:Vista Beta 2预览UEFI
取代BIOS:Vista Beta 2预览UEFI[@more@] 对于微软来说,在Windows Vista中提供UEFI(统一可扩展固件接口,Unified Extensible Firmware Interface)支持意味着需要付出极其大量硬件平台测试工作,每个硬件厂商都对自己的硬件提供专用固件方案,微软无法在Vista今年底发布前实现有效的UEFI支持。 根据我们此前的报道,微软准备在明年Windows Server Longhorn正式发布时推出有效的UEFI解决方案,供硬件厂商在各自的硬件平台上进行测试。 微软目前与统一EFI论坛以及业内伙伴合作密切,努力开发x86以及x64硬件平台下高质、标准的E
张樊:百度,内容为王?
张樊:百度,内容为王?[@more@] “百度百科”测试版上周末正式对外发布了,有人把此归于“百度贴吧”、“百度知道”等之产品之后的第三个基于搜索平台建立的社区类产品。不错,维基是web2.0技术下的更强调用户参与的社区性产品。但是笔者更强调,“百度百科”是百度加强内容建设,继国学之后推出的又一重大产品。 内容为王,是个不知道喊了多少年的老口号,被众多的互联网企业挂在口边,但是对于一个搜索引擎企业来说,似乎不太适用。百度作为最大的中文搜索引擎,最突出之点就是“抓取”,技术上的创新,放出“网络蜘蛛”到互联
Goolge首页八年回顾展
Goolge首页八年回顾展[@more@] 作为目前全球最大网络搜索引擎提供商,Google的增长速度甚至远超过当年的微软,从1998年创建至今,Google已经八岁了,在这八年中,Google是如何成长的,其实,从Google首页中就可以窥视一二。 1998年:Beta阶段的Google还在强调“Stanford搜索”方式,不过已经开始提供Google Friends订阅服务,及时报道Google Beta的最新情况--那时的Google首页还比较“土”。 1999年:Google自己的搜索引擎开发雏形,首页已经初具简洁明快风格--也是Google历史上文字最少的首页版本。 2000年:从千年虫
好心没好报? Google纪念Logo侵犯艺术家版权
好心没好报? Google纪念Logo侵犯艺术家版权[@more@] 4月20日,为了纪念西班牙超现实主义画家米罗(Miro),Google特地更换了根据其作品改编的Logo,这也是Google纪念专门节日及重要活动的一个惯例。不过Google这次善意的举动却招来了抗议,米罗家人和艺术家版权协会(ARS)并不买Google的帐。 据《水星报》报道,ARS主席Theodore Feder称:“米罗的作品都是有版权的,而Google是在没有获得版权许可的情况下使用这一Logo的。这是对原始作品的扭曲,也是对艺术家道德权利的亵渎。” 根据ARS的要求,Google已经移除了这一Logo,但不认
Adobe:Boot Camp不能改变PS
Adobe:Boot Camp不能改变PS[@more@] Adobe近日宣布,将继续开发专为Apple计算机设计的图形设计软件,不会受到近期Apple Boot Camp软件的影响。 Apple近期发布的Boot Camp软件允许用户在Mac计算机上运行Windows XP以及OS X双系统,业内近日有传闻认为,Adobe有可能放弃再开发Apple OS专用图形设计软件,将所有精力投入Windows平台。 Adobe总裁Bruce Chizen在东京发布会上表示,新一代Adobe系统旗舰产品Photoshop将同时支持PowerPC/Intel平台Mac计算机--发布日期定在明年上半年。 Chizen表示,为了让其产品支持Mac计算机,
网络新闻编辑今后持证上岗 上海已启动认证
网络新闻编辑今后持证上岗 上海已启动认证[@more@] 晨报上海专讯 记者日前从上海市文化人才认证中心获悉,一个名为“互联网新闻与信息编辑”的人才认证项目已在上海启动,今后上海市所有从事网络新闻编辑的人员,都必须持证上岗。这也是我国首次对互联网新闻从业人员进行职业资质认定。 随着互联网的飞速发展,网站新闻编辑也成为一个新兴职业。最近,上海市政府新闻办和市职业能力考试院文化人才认证中心共同推出了“互联网新闻与信息编辑”认证项目,对象为所有上海市从事互联网新闻与信息采写、编辑、BBS管理等工作的人员,重点考
多图放送 微软IE7 Beta2 一瞥
多图放送 微软IE7 Beta2 一瞥[@more@] 虽然IE7Beta2已发布,但肯定有不少朋友对英文版本的不感冒,或者观望,打算等正式版本出来之后再试用,这次的更新开放了IE7的大量功能,例如RSS(尽管不完善),完整的收藏夹功能,反网络钓鱼和一些重要改进。我们用一些图给大家简要说明一下吧! 安装画面: 需要自定义的工作很少,IE7安装程序会下载最新的组件更新和恶意软件清除工具并更新。 打开IE,首先是第一次使用向导页,提醒你调整时区和语种,并确认是否打开反网络钓鱼功能。另外,Cleartype被默认打开。 最重要的RSS Fee
下一代Windows命令行命名PowerShell
下一代Windows命令行命名PowerShell[@more@] 代号Monad的微软下一代Windows命令行外壳工具和脚本语言工具已经得到了正式命名:Windows PowerShell。该工具有助于管理员实现对Windows桌面和服务器任务控制的自动化。 微软原计划使用一种面向对象的外壳代替命令行,以对抗Unix中的外壳,但微软高级副总裁Bob Muglia去年承认,要彻底完成这一工作需要数年时间,因此微软发展了Monad,即PowerShell。 在此之前,微软一直专注于图形界面,竞争性服务器软件则依旧基于命令行模式,而PowerShell的目的正是为管理员提供一个类似Unix的外