Loading

文章分类 -  C&&C++

关于程序设计语言的边边角角!
摘要:实现多态的四个条件:1、虚函数在C++编程中,采用关键字virtual,虚函数是动态联编,所以函数类型不能使private,必须是protect或者public类型。条件 所以,实现动态联编需要三个条件: 1、 必须把动态联编的行为定义为类的虚函数。 2、 类之间存在子类型关系,一般表现为一个... 阅读全文
posted @ 2014-03-27 10:14 dai.sp 阅读(1793) 评论(0) 推荐(0) 编辑
摘要:[非原创,原文链接]第一篇C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可... 阅读全文
posted @ 2014-03-27 09:46 dai.sp 阅读(5023) 评论(0) 推荐(0) 编辑
摘要:[原文链接]因为项目需要用到,于是简单封装了一些常用的操作: /***根据属性名获取属性值**/privateObjectgetFieldValueByName(StringfieldName,Objecto){try{StringfirstLetter=fieldName.substring(0,1).toUpperCase();Stringgetter="get"+firstLetter+fieldName.substring(1);Methodmethod=o.getClass().getMethod(getter,newClass[]{});Objectvalue= 阅读全文
posted @ 2014-03-27 09:03 dai.sp 阅读(6662) 评论(0) 推荐(0) 编辑
摘要:[非原创,忘了哪的了,作者可私信联系]一、 LinkedList3.1创建:LinkedList()LinkedList底层的数据结构是一个双向链表。既然是双向链表,那么必定存在一种数据结构——我们可以称之为节点,节点实例保存业务数据,前一个节点的位置信息和后一个节点位置信息,如下图所示:图——双线链表及节点示意图首先来了解节点类:private static class Entry{ E element; Entry next; Entry previous; Entry(E element, Entrynext, Entry previous) { this.element = elem. 阅读全文
posted @ 2014-03-27 09:01 dai.sp 阅读(295) 评论(0) 推荐(0) 编辑
摘要:[原文链接] TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但 TreeSet 底层是通过 TreeMap 来实现的,因此二者的实现方式完全一样。而 TreeMap 的实现就是红黑树算法。 TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeM.. 阅读全文
posted @ 2014-03-27 09:00 dai.sp 阅读(180) 评论(0) 推荐(0) 编辑
摘要:[原文链接]有效和正确定义hashCode()和equals()每个Java对象都有hashCode()和equals()方法。许多类 Override 这些方法的缺省实施,以在对象实例之间提供更深层次的语义可比性。在Java理念和实践这一部分,Java开发人员Brian Goetz向您介绍在创建Java类以有效和准确定义hashCode()和equals()时应遵循的规则和指南。您可以在讨论论坛与作者和其它读者一同探讨您对本文的看法。(您还可以点击本文顶部或底部的讨论进入论坛。)Brian Goetz, 首席顾问, Quiotix Corp虽然Java语言不直接支持关联数组 -- 可以使用任 阅读全文
posted @ 2014-03-27 08:58 dai.sp 阅读(157) 评论(0) 推荐(0) 编辑
摘要:[原文链接]HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之 阅读全文
posted @ 2014-03-27 08:57 dai.sp 阅读(133) 评论(0) 推荐(0) 编辑
摘要:[原文链接]了解一个流行人工智能搜索算法的 Java 实现了解启发式搜索领域及其在人工智能上的应用。本文作者展示了他们如何成功用 Java 实现了最广为使用的启发式搜索算法。他们的解决方案利用一个替代的 Java 集合框架,并使用最佳实践来避免过多的垃圾收集。Matthew Hatem, Senior Software Engineer, IBMEthan Burns, Software Engineer, GoogleWheeler Ruml, Associate Professor, University of New Hampshire通过搜寻可行解决方案空间来解决问题是人工智能中一项名 阅读全文
posted @ 2014-03-27 08:55 dai.sp 阅读(853) 评论(0) 推荐(0) 编辑
摘要:1、将java.util.Date转换为java.sql.Datejava.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());2、若要插入到数据库并且相应的字段为Date类型可使用PreparedStatement.setDate(int ,java.sql.Date)方法其中的java.sql.Date可以用上面的方法得到也可以用数据库提供TO_DATE函数比如现有udTO_DATE(new Simpl 阅读全文
posted @ 2014-03-27 08:48 dai.sp 阅读(691) 评论(0) 推荐(0) 编辑
摘要:Date a;Date b;假设现在你已经实例化了a和ba.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回trueb.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回truea.equals(b)返回一个boolean,如果a的时间和b相等返回true 阅读全文
posted @ 2014-03-27 08:45 dai.sp 阅读(213) 评论(0) 推荐(0) 编辑
摘要:String sql = "insert into t_curriculum (name,academic_credit_type,qualifiedCredits" + ",substandardCredits,t_curriculum_type_id,description,teacherName,createDate) values(?,?,?,?,?,?,?,now())"; PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEY 阅读全文
posted @ 2014-03-27 08:44 dai.sp 阅读(2341) 评论(0) 推荐(0) 编辑
摘要:第一种方法,就是list中对象实现Comparable接口,代码如下:12345678910111213141516171819202122232425262728293031323334353637383940publicclassPerson implementsComparable {privateString name;privateInteger order;/*** @return the name*/publicString getName() {returnname;}/*** @param name* the name to set*/publicvoidsetName(St 阅读全文
posted @ 2014-03-27 08:44 dai.sp 阅读(122) 评论(0) 推荐(0) 编辑
摘要:log4j应用服务器strutslayoutservletclassog4j具体输出信息级别配置方法Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName... 阅读全文
posted @ 2014-03-27 08:42 dai.sp 阅读(696) 评论(0) 推荐(0) 编辑
摘要:序列化这个方法通用性非常强,代价是效率非常差。如果我使用序列化实现deepcopy,程序90%以上的时间都在做deepcopy,所以我覆盖了所有的clone方法实现deepcopy.序列化这个方法对于效率要求很低的情况下,是个非常好的解决方案,但对于要求效率的算法,就不能用序列话了。大家应该理解浅拷贝和深拷贝的区别:浅拷贝:被复制对象的任何变量都含有和原来的对象相同的值,而任何的对其他对象的引用仍然指向原来的对象。对拷贝后的引用的修改,还能影响原来的对象。深拷贝:把要复制的对象所引用的对象都复制了一遍,对现在对象的修改不会影响原有的对象。如果大家还不理解,在网上看到一个人的比喻很有意思:就好比 阅读全文
posted @ 2014-03-26 23:01 dai.sp 阅读(2600) 评论(0) 推荐(0) 编辑
摘要:JavaBeanjunit主题:List删除元素,复制元素平台:Window + Eclipse3.3 + JDK6 懒程序员,在代码越写越多的情况下,总想着使用把代码精简一下,能不写if else的,能不写for循环的尽量不想写,但是遇到的问题都要解决的呀,因此调用同逻辑的已存在方法便是首选。 今天就集合类(List)两个容易出错的方法做个记录,可以引以为戒,并且也提供正常的使用方式,都是在java.utils包,方便使用。 1 package com.longer.list; 2 3 import java.util.ArrayList; 4 import java.util.Arra.. 阅读全文
posted @ 2014-03-26 23:01 dai.sp 阅读(860) 评论(0) 推荐(0) 编辑
摘要:原文:http://blog.csdn.net/randyjiawenjie/article/details/7563323javaobjectinterfacestringclassexception先做个标记http://www.iteye.com/topic/182772http://www.blogjava.net/jerry-zhaoj/archive/2009/10/14/298141.html关于super.clone的理解http://hi.baidu.com/%BB%AA%CF%C4%D1%A7%C9%FA%C1%AA%C3%CB/blog/item/7d70a4384262 阅读全文
posted @ 2014-03-26 22:59 dai.sp 阅读(318) 评论(0) 推荐(0) 编辑
摘要:javaliststringinteger测试object 熟悉C++的朋友对这个话题应该很熟悉,浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象。深拷贝就是两个对象的值相等,但是互相独立。本来想把以前写的一篇文章扩充一下,没想到居然牵扯出很多复杂的问题。本文测试环境是windows xp sp3中文版、NetBeans6.7.1,JDK1.6-update16。这里抛砖引玉,希望大家能提宝贵意见。 首先,Java中常用的拷贝操作有三个,operator = 、拷贝构造函数 和 clone()方法。由于Java不支持运算符重载,我们无法在自己的自定义类型中定义op 阅读全文
posted @ 2014-03-26 22:59 dai.sp 阅读(170) 评论(0) 推荐(0) 编辑
摘要:[原文链接]说明:1 参考自stackoverflow上的一个帖子以及广大网友的回复:http://stackoverflow.com/questions/15496/hidden-features-of-java?page=4&tab=votes#tab-top2 在这些回复中,我选择了一些写到这篇博客中,当然也有很多回复我认为没有必要翻译出来.3 在翻译的过程中,为了快速完成,主要把代码贴过来,只要是对Java比较熟悉的, 看到代码基本上就能理解这个特性.对其他解释性的文字翻译的比较少, 如果感兴趣可以查看原文, 原文地址在上面已经给出.正文:1 使用Class进行运行时类型检查如 阅读全文
posted @ 2014-03-26 22:51 dai.sp 阅读(189) 评论(0) 推荐(0) 编辑
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 运行时代码生成为获得最高的性能提供了一种用直接访问取代反射的方法 从本系列前面的文章中,您了解到反射的性能比直接访问要慢许多倍,并了解了用 Javassist 和 Apache Byte Code Engineering Library (BCEL)进行classworking。 Java 顾问 Dennis Sosnoski 通过演示如何使用运行时 classworking,来用全速前进的生成代码取代反射代码,从而结束他的 Java 编程的动态性 系列。Dennis .. 阅读全文
posted @ 2014-03-26 13:25 dai.sp 阅读(393) 评论(0) 推荐(0) 编辑
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] Apache BCEL 让您深入 JVM 汇编语言进行类操作的细节 Apache Byte Code Engineering Library (BCEL)可以深入 Java 类的字节码。可以用它转换现有的类表示或者构建新的类,因为 BCEL 在单独的 JVM 指令级别上进行操作,所以可以让您对代码有最强大的控制。不过,这种能力的代价是复杂性。在本文中,Java 顾问 Dennis Sosnoski 介绍了 BCEL 的基本内容,并引导读者完成一个示例 BCEL 应用程序.. 阅读全文
posted @ 2014-03-26 13:22 dai.sp 阅读(556) 评论(0) 推荐(0) 编辑