当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了Java运行起来 http://www.thruport.com -->慢吞吞的速度,相对冗长的代...
 

 

 ·java基础知识精华总结    »显示摘要«
    摘要:1、对象的初始化 (1)非静态对象的初始化在创建对象时,对象所在类的所有数据成员会首先进行初始化。基本类型:int型,初始化为0。如果为对象:这些对象会按顺序初始化。※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。构造方法的作用就是初始化。 (2)静态对象的初始化程序中主类的静态变量会在main方法执行前初始化。不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某类(注意此时未创建此类对象)的静态对象时,所有的静态变量也要按它......
 ·了解java密码扩展的基础(1)    »显示摘要«
    摘要:java密码扩展(the java cryptography extension),是jdk1.4的一个重要部分,基本上,他是由一些包构成的,这些包形成了一个框架并实现了一些加密,密钥生成算法和协议,消息认证码等算法,这篇文章将想你介绍jce的安装和使用。值得注意的是,尽管jce是jdk1.4的核心包的一部分,我们将首先用jdk1.2及高一点的版本向你演示一下如何安装配置jce(静态安装)。稍后,将向你介绍如何在不安装的情况下使用jce(动态安装)。最后,......


Java初学者入门经典:面向对象的思维方法

我是从学习java编程开始接触oop(面向对象编程),刚开始使用java编写程序的时候感觉很别扭,因为我早以习惯用c来编写程序,很欣赏c的简洁性与高效性,喜欢c简练而表达能力丰富的风格,特别忍受不了java运行起来 http://www.thruport.com -->慢吞吞的速度,相对冗长的代码,而且一个很简单的事情,要写好多类,一个类调用一个类,心里的抵触情绪很强。

【相关文章:Java调用Oracle的过程和函数

【扩展阅读:Java操作Excel电子表格

我对java的面向对象的特性琢磨良久,自认为有所领悟,也开始有意识的运用oop风格来写程序,然而还是经常会觉得不知道应该怎样提炼类,面对一个具体的问题的时候,会觉得脑子里千头万绪的,不知道怎么下手,一不小心,又会回到原来的思路上去。 【扩展信息:让JavaME程序真正Run Anywh

举个例子,要发广告邮件,广告邮件列表存在数据库里面。倘若用c来写的话,一般会这样思考,先把邮件内容读入,然后连接数据库,循环取邮件地址,调用本机的qmail的sendmail命令发送。

然后考虑用java来实现,既然是oop,就不能什么代码都塞到main过程里面,于是就设计了三个类:

一个类是负责读取数据库,取邮件地址,调用qmail的sendmail命令发送;

一个类是读邮件内容,mime编码成html格式的,再加上邮件头;

一个主类负责从命令读参数,处理命令行参数,调用发email的类。

把一件工作按照功能划分为3个模块分别处理,每个类完成一件模块任务。

仔细的分析一下,就会发现这样的设计完全是从程序员实现程序功能的角度来设计的,或者说,设计类的时候,是自低向上的,从机器的角度到现实世界的角度来分析问题的。因此在设计的时候,就已经把程序编程实现的细节都考虑进去了,企图从底层实现程序这样的出发点来达到满足现实世界的软件需求的目标。

这样的分析方法其实是不适用于java这样面向对象的编程语言,因为,如果改用c语言,封装两个c函数,都会比java实现起来轻松的多,逻辑上也清楚的多。

我觉得面向对象的精髓在于考虑问题的思路是从现实世界的人类思维习惯出发的,只要领会了这一点,就领会了面向对象的思维方法。

举一个非常简单的例子:假使现在需要写一个网页计数器,客户访问一次页面,网页计数器加1,计数器是这样来访问的http://hostname/count.cgi?id=xxx

后台有一个数据库表,保存每个id(一个id对应一个被统计访问次数的页面)的计数器当前值,请求页面一次,对应id的计数器的字段加1(这里我们忽略并发更新数据库表,出现的表锁定的问题)。

如果按照一般从程序实现的角度来分析,我们会这样考虑:首先是从http get请求取到id,然后按照id查数据库表,获得某id对应的访问计数值,然后加1,更新数据库,最后向页面显示访问计数。

现在假设一个没有程序设计经验的人,他会怎样来思考这个问题的呢?他会提出什么样的需求呢?他很可能会这样想:

我需要有一个计数器,这个计数器应该有这样的功能,刷新一次页面,访问量就会加1,另外最好还有一个计数器清0的功能,当然计数器如果有一个可以设为任意值的功能的话,我就可以作弊了。

做为一个没有程序设计经验的人来说,他完全不会想到对数据库应该如何操作,对于http变量该如何传递,他考虑问题的角度就是我有什么需求,我的业务逻辑是什么,软件应该有什么功能。


...   下一页
 ·实现java平台的三种方式    »显示摘要«
    摘要:广泛地说,只要能执行java bytecode者,就可以称为java 平台(java platform)。大致上,实现java平台的方式有三种,分别是: ◆java虚拟机器(java virtual machine,jvm) ◆java操作系统(java operating system) ◆java芯片(java chip) 以下就此三种java平台提出解说,并比较之。 java虚拟机器 所谓的java虚拟机器,指的是在操作系统上执行的一种程......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE