JDO能给我们带来什么

Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现 本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。 阅读详情
JDO能给我们带来什么 - 成本,管理,快速开发,随需应变……

(本文的版权属作者本人,欢迎转载,但必须注明出处和原作者)

JDO规范的出台,给了传统的数据库应用,尤其是WEB方式的数据库应用一个新的机会,就是采用透明的中间件存储技术,减少传统开发的繁琐工作,提高开发和维护的效率,使我们能够应对新的互联网时代的日益迅速的需求变化。
从开发的角度来看,我们进行J2EE标准的Web应用开发时,如果涉及到数据库,一般具有一定经验的开发团队都不会采用JSP+JDBC的方式直接进行数据库操作,那样做一方面工程浩大,代码冗长,另一方面不易维护,危险性更大。一个简单的类似下面的语句:
resultSet = preparedStatement.execute();
...
preparedStatement = connection.prepareStatement(...);
看上去没什么问题,但运行过程中会渐渐导致服务器死机,因为第二条语句前面少了一句 preparedStatement.close(),这样导致一些非JVM分配的内存永远无法回收(因为不归Java的垃圾回收机制管)。这种问题就对不是非常精通JDBC的程序员来说,是非常容易犯的,最重要的是,发生这种问题后,要查出其中的问题来,在代码量较大的情况下,你会发现这比联合国在伊拉克的核查工作复杂得多。
因此,有经验的开发团队会采用一些JavaBean来包装数据对象,这也是面向对象开发方式的需要。然而,就算是这种采用ValueObject来包装数据库数据的方式,依然存在以上的风险。
这只是问题的一方面,在应用开发需求越来越多的情况下,传统的开发方式的效率和可维护性已经跟不上需要。很多公司对此只有两种解决方案:一是扩充招人,但这样涉及到开发水平和培训方面的成本问题;二是推迟或取消一些相对次要的开发任务,不过这样只会拖慢企业的发展。
就是在这样的情况下,在国际上一些在这方面比较有经验的企业(如Sun,IBM等)才联合起来制定了JDO规范,以求让开发人员摆脱这方面的风险,从复杂而繁琐并且重复性很大的工作中解脱出来,以全新的完全面向对象的概念和业务意识来指导开发。JDO规范相对EJB来说,实现简单而性能出众,可大大节约公司的开发成本,因此得到很多公司的拥戴,尽管JDO1.0规范才公布不到一年,实现JDO规范的产品却如雨后春笋一般冒出来,比如美国(Kodo, FrontierSuite, FastObjects, etc.)、法国(Libelis LiDO)、南非(JDOGenie)、德国(JRelay)等厂商都有比较不错的产品(从中我们可以看出Java是一个比较开放、比较国际化的东西),另外,除了这些商业产品之外,还有一些见义勇为的壮士组成一些团队提供免费产品(Implementation),比如TJDO,Xorm,OJB等等。

下面我们就来看看JDO到底能给我们带来什么。

1、节约开发成本和时间。

使用JDO,据对目前采用JDO的一些公司的统计,在开发中大概节约30%代码量,在维护中大概节约60%的工作。尽管这些数据来自JDO产品提供商,但从用户的角度来看,我认为这个数字并不过分。因为传统的开发方式代码量很大,导致开发人员多,开发时间长,人一多,相互的协调和沟通难度就大,开发时间长,开发人员的记忆力有限,前后代码的连贯性一致性也会受到影响。而采用JDO后,开发人员需要写的代码,主要是对数据层的包装部分,将大大减少,应用中的代码将主要集中在业务逻辑的处理上。俗话说,做得多,错得多,做得少,错得少。虽然有点消极,但也说明这个事实。当我们的手工代码变少后,出错的机率就会小很多,就算出错,也很容易查出来。当这些目标达到后,对JDO的一次性投入(比如购买JDO产品及相关培训),比起传统的开发开销来,就会显得微不足道。人力成本方面更是,原来三个人的工作,现在可以两个人做(因为工作量减少了),这就节省了一个人力的成本。

2、提高应用性能,尤其是Web应用。

JDO厂商们都在利用多年的经验对底层数据库操作进行了大量的优化,而这些优化,一般的程序员由于经验和复杂性,都比较难做到,比如分布式缓冲、JDBC2.0和JDBC3.0中的一些面向性能优化的高级处理等等。因此,我们使用JDO产品的话,就可以利用这些由厂商提供的优化来提高服务器的性能。一般的厂商都会提供很多性能调节的参数,以针对不同的具体情况。

3、更灵活的业务逻辑。

由于JDO解放了开发人员在数据底层的工作,他们可以集中精力考虑业务逻辑方面的事务,与需求方也更容易沟通,不会象原先一样,凡听到一个新的需求或变更时心里首先想到的是要加多少数据表,外键如何关联,越想越复杂,最终拒绝需求。采用JDO后,开发人员可以更快地实现业务逻辑,即使是做试验,也更加方便快捷,比如想对需求方提出两种不同的实现方案供效果比较,做起示范程序来就能迅速完成,而传统方式中能在同样的时间内完成一种就已经很不错了。当开发人员可以与需求方更好地沟通后,能更准确地理解需求,并且往往能提出比较专业的意见以改善业务逻辑,这样,对双方都能有更好的锻炼。

4、有利于开发团队的稳定。

这里所说的稳定并不是说人员都比较固定,而是说开发中的角色比较固定,工作定位比较固定。比如关心性能的人负责映射层,他需要了解所采用的JDO产品的具体实现,以及如何将业务模型有效地映射到数据库上,而关心代码的人不用考虑这些细节,只需要在面向对象的数据模型(一般是一个或复杂或简单的实体类图)的基础上进行业务逻辑的实现。各有各的责任,分工更明确,整体工作效率得到大大提高。也就是说,采用JDO技术后,项目开发中更容易实现任务的纵向划分,不同类型的任务由不同的人做。而传统的方式中,项目一般只能实现横向的分工,一人做一块,每一块都是从界面到JavaBean再到数据库全包,如果纵向划分的话,因为任务之间难以确定接口规范,导致大家互相抱怨,从情绪上已经影响了开发的进展,这就是为什么很多项目一开始都设想得很好,而具体做的时候会互相牵连,导致“无工不拖”的局面。JDO技术,由于是一种比较实际可行的规范,便项目管理者能更好地分配工作任务,相互之间更容易“划清界限”。这样的方式下,项目开发就不易受人员流动的影响,因为:第一,如果走掉一名开发人员,只要补充一个人,或者将其工作分配到另一人身上,让他明确责任,对其它开发人员的影响并不大,不象以前“走一人瘫一块”;第二,如果工作量大了,需要新加入开发人员,对其的进入工作状态的培训比以前简单,因为越来越多的人会熟悉并精通JDO规范,就象会Java一样,有了这个基础,只要了解一下业务逻辑就可以进行开发了,这也是规范化的好处。就象很多外资企业一样,大家都是螺丝钉,人员流动性虽然大,但公司的发展却很稳定。

5、提供更多的个人发展机会。

对开发人员来说,长年累月一成不变而又低效的工作方式是最大的杀手,是在扼杀自己的生命。采用JDO技术后,他们会看到原来开发可以如此容易,原来还有更多的业务逻辑方面的东西值得自己关注和投入精力。开发人员的思维会从底层的代码转移到高级的业务处理上来,因为自己的开发方式已经有规范化的质的提升。我估计,以后会出现JDO认证之类的概念,在万一的情况下的求职将会更加容易。毕竟一种规范带来的东西往往是多方面的改善。当开发人员更多地思考业务方面的问题后,对需求方的业务流程往往会有更规范的意见,从而引起双方的良性循环。以住的开发人员,常常会想为什么很多大公司的老板都不是做开发而是做业务的,以后自己的出路在哪里。其实,开发人员完全可以在开发过程中了解业务方面的内容,对自己以后的发展也有好处,并且,思维将会更加严谨,原则性更强。

以上只是JDO所能带来的比较明显的几个好处,实际上还有更多的好处等待我们在使用中去发掘,去研究。在以后的文章中,我会从具体的开发过程入手,描述如何使用JDO来开发项目。

本文的版权属于笔者本人,但欢迎转载,前提是注明出处和原作者。另外,欢迎在我的专栏中查看我的另几篇文章,并提出宝贵意见!
agent实战专栏|日程管理Agent:智能时间管家 在快节奏的现代生活中,时间管理已成为每个人面临的核心挑战。根据全球知名调研机构 Gallup 的统计数据,现代职场人平均每天仅能有效专注工作 2 小时 23 分钟,剩余时间被会议、邮件、碎片化事务大量占据。微软的另一项研究显示,知识工作者平均每天需要处理 200 多条日程相关的信息,包括会议邀请、日历变更、提醒通知等。传统的日历工具(如 Google Calendar、Outlook Calendar、Apple Calendar)虽然在可视化展示和基础提醒方面表现出色,但在智能化方面仍存在明显短板:日程管 阅读详情

相关推荐

分子动力学模拟学习1-采用AmberTools21的MCPB.py构建金属蛋白的top文件

分子动力学模拟学习1-采用AmberTools21的MCPB.py构建金属蛋白的top文件

weixin_45011386的博客 3825

为什么要使用JDO

http://www.wangchao.net.cn/bbsdetail_1480636.html 网上关于JDO的文章已经不少了,关于JDO的优点也讲了很多,我看了一些文章后,自己也研究了一段时间,忽然很想写一个系列文章全面的介绍一下JDO,今天先写下第一篇算是个开头。呵呵,有些内容是我对JDO规范的理解,如果有不对的地方请大家指正。  Java开发人员已经有好几种存取数据库的方

仰望者! 639

【Tessent Shell Users Manual】【Ch3】Design Introspection and Editing(未完待续)

Tessent Shell 提供了一系列用于检查(examining/introspecting)和编辑design的命令。

Tranquil_ovo的博客 1731

经典面试题-Jdo 是什么

JDO 是Java 对象持久化的新的规范,为java data object 的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO 提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API 的使用)。这些繁琐的例行工作已经转移到JDO 产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO 很灵活,因为它可以在任何数据底...

逍遥云恋 650

KITTI数据集下载及解析

KITTI数据集下载及解析 版本 更新时间 更新内容 作者 1 V 1.0 xxx 完成主体内容 W. Xiao 2 文章目录KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件3 KITTI可视...

u013086672的博客 5万+

ThinkPad X230魔改指南:从博通网卡驱动到1080P屏显全攻略(附Sonoma避坑清单)

本文详细介绍了ThinkPad X230的全面改造方案,包括博通网卡驱动(BCM94352HMB)的安装与调试、1080P屏幕改装技术以及macOS Sonoma系统的适配优化。通过硬件升级和软件调优,使这台经典商务本焕发新生,适合DIY爱好者和技术极客参考实践。

weixin_30379531的博客 586

JDO能给我们带来什么-成本,管理,快速开发,随需应变……

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 535

电力电子论文(TPE、TTE)投稿经验分享

电力电子顶刊论文投稿经验

橙子的博客 2万+

jdo直接操作sql

google推出支持java的gae也有好一段时间了,我准备做一个博客练练手。但是发现gae里操作数据库用的是jdo,jdo虽然是将rdbms转换成了orm但是总感觉有那么点不爽,像这样转换后使得我们只能对数据库做一些简单的操作,本来只需要对数据库进行一次的操作,往往被分割成了多次,消耗了性能不说还增加了页面的相应时间。所以我一直在想:如何能直接用sql语句对数据库进行操作呢?我查了一些jdo的a...

不知所云 369

第20期-英伟达笔试题型解析

英伟达作为AI领域的缔造者及硬件基石,是这几年最为炙手可热的公司。英伟达以其高性能GPU设计闻名,硬件工程师岗位的招聘通常包括笔试和技术面试,考察领域涵盖数字电路设计、处理器架构、嵌入式系统和信号处理等。通过搜索公开平台,收集了候选人的面试经历和相关技术问题,,通过分析公开平台收集的笔试面试经验,结合英伟达的GPU架构特点,整理出可能涉及的典型题目,并提供详细解析。 以下是基于英伟达(Nvidia)硬件工程师笔试题型的解析与总结,涵盖核心知识点、解题思路及案例分析。

启芯硬件的博客 746

手把手带你死磕ORBSLAM3源代码(一)目录详解

ORB-SLAM3是一种基于特征点的稀疏实时单目SLAM(Simultaneous Localization and Mapping)系统。它是ORB-SLAM系列模型的第三代版本,用于在无人机、机器人和增强现实等领域中进行实时定位和建图。ORB-SLAM3使用了一种特征点提取和描述算法,称为ORB(Oriented FAST and Rotated BRIEF)。该算法能够提取图像中的稳定特征,并将其用于地图建立和相机定位。

anananajiushiwo的博客 2300

贺JDO2.0计划开始启动!

贺JDO2.0计划启动  近日,欣闻Sun公司正式加入了JDOCentral.com作为其Charter Member之一,表明了Sun公司对JDO的正式支持和推动。以往,Sun虽然提出了JDO规范,但在正式支持方面总是做得不够,感觉好象是因为对其EJB体系会造成冲击,所以一直只是半推半就地提供有限的宣传,主力推广JDO的还是JDOCentral.com这个公益网站。不过现在,JDO规范已经提

sun2bin的专栏 1514

嵌入式工程师成长之路(7)——算法学习

算法大全1、风仲达——算法笔记2、坐在马桶上学算法3、啊哈算法4、深度强化学习实验室。

云轩阁 4万+

JDO2.0 五一公投结果浅析

  没有策略性枪击,没有争议性投票,在我们享受五一长假的过程中,JDO2.0规范的首轮议会投票结束了。  自从2004年4月20日JDO2.0规范的制定流程(JSR243)开动以来,JDO又开始回到人们的视线中,并且在五一假期结束之前,规范的制定委员会成员陆续地进行了投票,以表达各自的支持程度,目前投票已经全部结束。下面列举一下投票结果,并在最后发表几点个人愚见。  下面先列举一下投票结果

sun2bin的专栏 2266

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

目击凶案——JDO 2.0投票结果点评

(本文将发表于《程序员》2005年第2期)就像电影里的老套路,我今天要说:“我有一个好消息,也有一个坏消息。” 好消息是AspectJ和AspectWerkz合并了。这两家都是业界重要的开源AOP实现,不过走了不同的技术路线:AspectJ一直坚持“预编译+源码生成”,AspectWerkz则是“元数据+运行时织入”的代表。关于两种技术路线、两种产品的争论一直是AOP社群的热点话题,如今两个开源...

javasee 95

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JDO vs实体Beans:一个善意的忠告

JDO vs实体Beans:一个善意的忠告两年前SUN提出了EJB1.1规范,这对于企业级计算来说是一个具历史意义的革新。然而,它存在的缺陷也是不言而喻的。在许多方面,他的远程接口调用很慢而且创建一个平滑的(fine-grained)对象也很困难。之后又出现了JDO,这是一种新的向数据库存储对象的方法,在很多地方它可以代替EJB实体Beans。看起来JDO是针对实体Bean执行问题的一种解

1221

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

一个JDO的成功案例分析

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 244

Spring Framework 1.1 Release Candidate 1 Released

Releases Thomas Risberg July 28, 2004 The Spring team are happy to announce the first release candidate of Spring 1.1. New features and enhancements in Spring 1.1 RC1 include: IoC container supports M...

[Blog][Domain] programb.blog.youkuaiyun.com 464

2003年精博生活回顾。

2003年精博生活回顾  “对着这块千百年来始终沉默的天空,我们不回答,只生活。”——选自海子长诗《传说》  这是我第二次采用长短句的格式表达我在精博的生活,长短句——我总是习惯用这种方式来表达我所尊敬的和我所热爱的这也是我所能给于精博唯一朴素的方式,这其中包含我所有的热忱和自尊。  来广州快两年了,每天都有新的事物人类将要经历的什么都是新的,除了自

隐隐约约出现平常人诞生的故乡 1463

jdo是什么

翻译:2002/09/18原文:http://www.libelis.com/inner-index.jsp?next=jdo.htmlJDO是Java对象持久化的新的规范。JDO经SunJava Community Process认定。一、历史JDO是对象持久化工作的综合成果,试图提供一个对象持久化的完全版本。JDO同时继承于ODMG(对象数据管理小组,标准化对象数据库的一个独立委员会)和对

Eric.Jonah! 3450

JDO

  如何用JDO开发数据库应用 (本文的版权属作者本人,欢迎转载,但必须注明出处和原作者) 本文将介绍如何使用Sun公司的最新《Java Data Objects 》规范来进行基于数据库的简单应用程序的开发,从而使读者对JDO有一个直接的感性的认识,为更深入的开发作铺垫,同时也希望抛砖引玉,让更多的富有经验的高手也参与到推广JDO的进程中来,为读者提供更多更精彩的文章! 1. JDO是何方神圣,

§为艺术而技术§ 1702

JDO持久框架——DataNucles

1. JDO框架简介 Java数据对象(Java Data Objects,JDO)是一个应用程序接口(API),它是Java程序员能够间接地访问数据库,也就是说,不需使用直接的结构化查询语言(SQL)语句。JDO是作为Java数据库连接(JDBC)的一个补充来介绍的,而JDBC是一个支持使用SOL语句对流行的数据库程序进行访问的接口。有了 JDO,程序员就可以使用类来定义数据对象,然后支撑程序就...

旗鼓相当的对手的博客 3588

JDO 是什么?

原文:http://www.libelis.com/inner-index.jsp?next=jdo.html转载网址:http://ijsp.net/2/2003-3/28/0000359.shtmlJDO是Java对象持久化的新的规范。JDO经SunJava Community Process认定。 历史JDO是对象持久化工作的综合成果,试图提供一个对象持久化的完全版本。JDO同

暮色飞扬 1757

JDO学习笔记之Sun JDO参考实现篇

  这一段时间在学习JDO,使用的学习资料是孙宾翻译的《Java Data Objects 第一章 初步概览》,以及清华大学出版社出版的《JDO核心技术》。说实话,这两份学习资料的确很好,但在学习过程中还是遇到了问题,经历了不少痛苦,这里写出来供大家一笑。  首先,我想对类库进行一下说明。孙宾翻译的《Java Data Objects 第一章 初步概览》(以下简称《JDO》)中所涉及的jdo.ja

我是Didizyp 2923

JDO快速入门

Java数据对象(Java Data Objects,JDO)是一个应用程序接口(API),它是Java程序员能够间接地访问数据库,也就是说,不需使用直接的结构化查询语言(SQL)语句。JDO是作为Java数据库连接(JDBC)的一个补充来介绍的,而JDBC是一个支持使用SOL语句对流行的数据库程序进行访问的接口。有了 JDO,程序员就可以使用类来定义数据对象,然后支撑程序就会根据类的定义来管理对

bin的主栏 4318
下一篇: 选择JDO还是CMP?
sun2bin
博客等级 码龄25年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值