本文为原创,如需转载,请注明作者和出处,谢谢!虽然研究生已毕业,但看到有一些难度的研究生考试题还是忍不住要做做,本文给出了09年研究生入学考试的一道数据结构题的Java实现。该题的描述如下图所示。该题的两种实现一位朋友已经完成了,详见递归和非递归实现。在本文将给出另外一种算法,该算法的空间复杂度为O(1),时间复杂度为O(n)。这在空间复杂度和时间复杂度上应该是比较优化了。本算法的基本思想如下:既然是查找倒数第K个结点(注意,不是正数,否则就没什么可讨论的
系统 2019-08-29 23:31:06 2399
服务器推送技术java文章分类:Java编程下面介绍在ARP之上的一个非常热门的技术实现:服务器推送技术。服务器推送技术(ServerPush)是最近Web技术中最热门的一个流行术语,它的别名叫Comet(彗星)。它是继AJAX之后又一个倍受追捧的Web技术。服务器推送技术最近的流行与AJAX有着密切的关系。随着Web技术的流行,越来越多的应用从原有的C/S模式转变为B/S模式,享受着Web技术所带来的各种优势(例如跨平台、免客户端维护、跨越防火墙、扩展性
系统 2019-08-29 23:06:08 2399
8.+=复合赋值问题x+=i与x=x+i等效吗,许多程序员都会认为第一个表达式x+=i只是第二个表达式x=x+i的简写方式,但这并不准确。Java语言规范中提到:复合赋值E1op=E2等价于简单赋值E1=(T)((E1)op(E2)),其中T是E1的类型。复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响,然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化
系统 2019-08-29 22:02:50 2399
十三、使类和成员的可访问性最小化:信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这里我们简要列出几项受益于该原则的优势:1.更好的解除各个模块之间的耦合关系:由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代
系统 2019-08-29 22:02:34 2399
一、表达式的组成1、数字2、运算符:+-/*^%=3、圆括号4、变量二、运算符优先级由高到低分别为:+-(正负号)、^、*/%、+-、=优先级相等的运算符按照从左到右的顺序计算三、关键技术点1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一元表达式,取数的负数;指数表达式;乘、除、取模表达式;加、减表达式;赋值表达式。2、对于每一级别的运算,都由一个方法实现,在方法中先完成比自己高一级别的运算,再处理本级别的运算。因此,在
系统 2019-08-12 09:29:44 2399
一切来得太顺利,多亏有前人的经验安装好SQLserver2000,下载了个补丁sql2000_sp3补丁安装了jdk,netbeans6.1半个小时不到就在window下搭建好了数据库设计大作业的环境好顺利啊一切ok了最后打开zy写的工程进行密码修改run!!!ok不过为了以后方便还是搜了一下转自http://flovemayday.blog.com.cn/archives/2007/2164558.shtml呵呵,看到这个界面好面熟啊,以前也用过这个模板
系统 2019-08-12 01:52:12 2399
公司的一个JAVA应用系统上线以来,基本每1天OutOfMemoryError:PermGenspace一次。JAVA堆上限1个G,出现了好多次,想到JRockit可以分析内存泄漏的问题:1.JRockit简介Jrockit是Bea开发的符合JAVA虚拟机规范的虚拟机+虚拟机监控软件。虚拟机:JrockitRealTime监控软件:JrockitMissionControlJrockitRealTime与SUN的JDK是完全兼容的,也就是说以前在SUN的虚
系统 2019-08-12 01:33:54 2399
JavaGUITesting-JFCUnitIntroduceBackground:JFCUnitisanextensiontothepopulartestingframeworkJUnit.ThisdocumentassumesyouarefamiliarwiththeusageofJUnit.Ifnot,visitthemainJUnitwebsitewherethereareanumberoflinkstosomeexcellentresources
系统 2019-08-29 23:45:02 2398
当我们开始接触JNI但是还不熟悉的时候,也许会这样几个问题:Java程序和native程序的数据类型通常是不一样的,它们怎么相互映射的呢?怎么在native方法中访问java方法传递过来的数据呢?在native方法中可以创建java对象吗?如何把结果返回给调用它的java方法?读完本文你将会明白如上问题的来龙去脉。首先我在重复一下如何编写JNI相关的应用程序,我们必须在java方法中声明一个native的方法,比如publicnativeStringget
系统 2019-08-12 09:30:14 2398
Java代码/***Hash算法大全
*推荐使用FNV1算法*@algorithmNone*@authorGoodzzp2006-11-20*@lastEditGoodzzp2006-11-20*@editDetailCreate*/publicclassHashAlgorithms{/***加法hash*@paramkey字符串*@paramprime一个质数*@returnhash结果*/publicstaticintadditiveHash(S
系统 2019-08-12 09:30:14 2398
一.线程的基本概念1、入题:我们大家都知道,我们可以在一台计算机上同时聊天,看电影,下载视频等,完成上述任务的各个程序之间是完全相互独立的。但是他们在同一段时间内又同时处于运行状态。当然呢,它们在这一段时间内是分时使用计算机CPU时间的。只不过呢在CPU处理速度很快,划分的时间片段很短,所以给大家感觉上是多个程序在同时运行。2、进程:进程是程序的一次动态执行过程。这个过程包含了从程序代码从硬盘加载到内存、在内存中执行、执行结束等过程,实际上也就是进程的产生
系统 2019-08-12 09:29:59 2398
http://www.oracle.com/technology/global/cn/pub/articles/brahms-tuning.html?_template=/ocom/print作者:CarlBrahms自动执行负载生成和性能优化过程为什么可以节省大量的时间和精力。2008年9月发布优化可能是一项非常艰巨而费时的工作,尤其对于需要最佳性能的环境来说更是如此。优化所带来的好处是使环境更稳定、故障更少、总体性能更佳。也许您幸运地拥有内部性能优化人
系统 2019-08-12 09:29:31 2398
1.介绍1)DOM(JAXPCrimson解析器)DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可
系统 2019-08-29 23:47:01 2397
摘要虽然Java虚拟机(JVM)及其垃圾收集器(garbagecollector,GC)负责管理大多数的内存任务,Java软件程序中还是有可能出现内存泄漏。实际上,这在大型项目中是一个常见的问题。避免内存泄漏的第一步是要弄清楚它是如何发生的。本文介绍了编写Java代码的一些常见的内存泄漏陷阱,以及编写不泄漏代码的一些最佳实践。一旦发生了内存泄漏,要指出造成泄漏的代码是非常困难的。因此本文还介绍了一种新工具,用来诊断泄漏并指出根本原因。该工具的开销非常小,因
系统 2019-08-29 23:05:05 2397
/***//***按字节长度截取字符串*@paramstr将要截取的字符串参数*@paramtoCount截取的字节长度*@parammore字符串末尾补上的字符串*@return返回截取后的字符串*/publicStringsubstring(Stringstr,inttoCount,Stringmore)...{intreInt=0;StringreStr="";if(str==null)return"";char[]tempChar=str.toCh
系统 2019-08-29 22:59:44 2397