- 浏览: 114401 次
- 性别:
- 来自: 深圳
-
博客专栏
-
-
告诉你什么是优雅的代码
浏览量:23665
最新评论
-
wfm0105:
不支持小数
告诉你什么是优雅的代码(6)------阿拉伯钱数转换为中文形式 -
wfm0105:
daisy_rainbow 写道 不懂这些数组里 ...
告诉你什么是优雅的代码(4)-----智力题的解法(答案) -
恒之疆:
无敌模式有问题
告诉你什么是优雅的代码(11)----html5 之XXOO棋 -
Shengli_fu:
...
告诉你什么是优雅的代码 -
Shengli_fu:
...
告诉你什么是优雅的代码(5)------ 百度之星也是普通人(答案)
文章列表
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。
看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的代码不亚于使用早已臭名昭著的"GOTO"语句。Java放弃指针的概念绝对是极其明 ...
文章来源:http://www.blogjava.net/guming123416/archive/2006/01/13/27859.html
一 准备
我们将配置两台虚拟主机,假设域名分别为
www.sentom1.net
...
- 2009-09-13 22:08
- 浏览 1032
- 评论(0)
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java 虚拟机。您可以选择自己的需要选择不同的操作系统和对应的JDK的版本(只要是符合Sun发布的Java规范的),但我们推荐您使用Sun公司发布的 JDK。确保您所使用的版本是最新的,因为Sun公司和其它一些公司一直在为提高性能而对java虚拟机做一些升级改进。一些报告显示JDK1.4在性能上比JDK1.3提高了将近10%到20%。
可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数用来设置虚拟机使用内存的大小。
参数
...
- 2009-08-24 10:52
- 浏览 1135
- 评论(1)
一、引言
对数据库索引的关注从未淡出我的们的讨论,那么数据库索引是什么样的?聚集索引与非聚集索引有什么不同?希望本文对各位同仁有一定的帮助。有不少存疑的地方,诚心希望各位不吝赐教指正,共同进步。[最近首页之争沸沸扬扬,也不知道这个放在这合适么,苦劳?功劳?……]
二、B-Tree
我们常见的数据库系统,其索引使用的数据结构多是B-Tree或者B+Tree。例如,MsSql使用的是B+Tree,Oracle及Sysbase使用的是B-Tree。所以在最开始,简单地介绍一下
- 2009-08-20 09:47
- 浏览 1110
- 评论(3)
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器。在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的。相对来说,数据库系统中的触发器也是一种存储过程。存储过程在数据库中运算时自动生成各种执行方式,因此,大大提高了对其运行时的执行速度。在大型数据库系统如Oracle、SQL Server中都不仅提供了用户自定义存储过程的功能,同时也提供了许多可作为工具进行调用的系统自带存储过程。 所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL 语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用 ...
- 2009-08-14 12:59
- 浏览 3220
- 评论(0)
三、多用户及其权限管理的设计 开发数据库管理类的软件,不可能不考虑多用户和用户权限设置的问题。 尽管目前市面上的大、中型的后台数据库系统软件都提供了多用户,以及细至某个数据库内某张表的权限设置的功能, ...
- 2009-08-12 22:29
- 浏览 1079
- 评论(0)
说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同 ...
- 2009-08-12 22:28
- 浏览 1504
- 评论(0)
1.创建文件夹 File myFolderPath = new File(%%1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目录操作出错"); e.printStackTrace(); } 2.创建文件 File myFilePath = new File(%%1); try { if (!myFilePath.exists()) { ...
- 2009-08-11 11:22
- 浏览 993
- 评论(0)
网络蚂蚁、FlashGet、迅雷等支持HTTP协议的下载软件无一例外地使用了多线程下载技术。比起单线程下载,多线程下载在同一时间段内发出多个下载请求,每个下载请求负责下载一段内容,充分地利用了网络带宽。
当然多线程下载并非线程数越多越好。试想,一个极端的情况:一个尺寸为1 024个字节的远程文件,动用1 024个线程来下载,每个线程平均只下载一个字节,创建线程的代价和对自身网络出口造成的堵塞远远大于分工下载带来的好处。因此,多线程下载存在一个权衡的问题。一般来说,需要事先根据待下载的远程文件的尺寸来决定启用多少个线程,如果文件很小,则意味着使用单线程下载即可。而且,下载软件允许创建的线程数一般 ...
- 2009-08-11 10:50
- 浏览 2676
- 评论(0)
摘要:
现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,但由于采用RPC同步处理技术,在性能、健壮性、可扩展性上都存在着诸多缺点。而基于消息的异步处理模型采用 ...
- 2009-08-09 15:53
- 浏览 1518
- 评论(0)
8.2.1一致资源定位器URL
URL(Uniform Resource Locator)是一致资源定位器的简称,它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。
8.2.2 URL的组成
protocol://resourceName 协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、gopher、file等,资源名(resourceName)则应该是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用。例如 ...
- 2009-08-09 09:02
- 浏览 1375
- 评论(0)
注:wait notify 都是Object的方法
同步(阻塞) :是一种防止对共享资源访问导致的数据不一致的一种模式。
详细请参看操作系统。
在Java中,由于对多线程的支持,对同步的控制主要通过以下几个方法,synchronized,和wait(),notify()和notifyAll(),下面进行一一的讲解:
A关键字synchronized
每个java对象都有一把锁, 当有多个线程同时访问共享资源的时候, 需要Synchronize 来控制安全性, synchronize 分 synchronize 方法 和synchronize块,使用synchronize块时, 一定要显 ...
- 2009-08-07 18:01
- 浏览 1027
- 评论(0)
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。
需要明确的几个问题:
...
- 2009-08-07 17:46
- 浏览 1151
- 评论(1)
Context元素的属性
path;指定访问该Web应用的URL入口
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于Host的appBase属性的相对路径
reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB/INF/classes和WEB-INF/ lib目录下class文件的改动.如果监测到有class文件被更新,服务器会自动重新加载Web应用
如:
<Context path="/TestServlet" docBase="TestServlet" reloadab ...
- 2009-08-05 22:34
- 浏览 2349
- 评论(0)
提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦。学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构。下面从以下几个方面来介绍:第一次见面public interface Content ...
- 2009-08-04 16:13
- 浏览 1338
- 评论(0)