随笔分类 -  区别对比

摘要:1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public class Person{ String name; int age }.当我们有这么一个personList,里面包含... 阅读全文
posted @ 2015-07-25 18:58 jack_ou 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1.heap是堆,stack是栈。2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。3.stack空间有限,heap的空间是很大的自由区。在Java中,若只是声明一个对象,则先在栈内存中为其分配地址空间,若再new一下,实例化它,则在堆内... 阅读全文
posted @ 2015-07-21 14:59 jack_ou 阅读(428) 评论(0) 推荐(0) 编辑
摘要:系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/not in修改为exists/not exists 修改方法如下: in的SQL语句 SELECT id, category_id, htmlfile, title, convert(varcha 阅读全文
posted @ 2015-07-15 20:33 jack_ou 阅读(280) 评论(0) 推荐(0) 编辑
摘要:时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序. 当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件. 在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 阅读全文
posted @ 2015-05-26 17:46 jack_ou 阅读(5977) 评论(0) 推荐(0) 编辑
摘要:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为Arra 阅读全文
posted @ 2015-05-06 11:57 jack_ou 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:(1)内存分配的策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编 译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允 阅读全文
posted @ 2015-04-20 12:17 jack_ou 阅读(29120) 评论(5) 推荐(4) 编辑
摘要:网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的: (1)try语句没有被执行到,如在try语句之前就返回了,这样final 阅读全文
posted @ 2015-04-16 14:28 jack_ou 阅读(266) 评论(0) 推荐(0) 编辑
摘要:图解:比如equals相等的箭头指向hashcode相等,表示equals相等那么必有hashcode相等。而有两个箭头指向别人的表示可能是其中之一,比如hashcode相等,那么有可能equals相等,也有可能equals不相等。版权:欧初权转载注明:http://www.cnblogs.com/... 阅读全文
posted @ 2015-04-16 11:55 jack_ou 阅读(2103) 评论(0) 推荐(0) 编辑
摘要:Random.nextint() 和Math.random()的区别 Java代码 Randomrand=newRandom();longstartTime=System.nanoTime();inti1=rand.nextInt(1000000000);System.out.println(i1... 阅读全文
posted @ 2014-11-10 11:34 jack_ou 阅读(5862) 评论(0) 推荐(0) 编辑
摘要:nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所 以在iPhone这种小型... 阅读全文
posted @ 2014-06-18 15:40 jack_ou 阅读(2538) 评论(0) 推荐(0) 编辑
摘要:键、索引、约束及其区别今天下午刚好没事,把一些基础性的概念理顺一下,存档,省的麻烦,嘿嘿一.索引1. 什么是索引?索引是对数据库表中一列或多列的值进行排序的一种结构。在关系型数据库中,索引是一种与表有关的数据库结构,是事实存在的。它可以使对于表的select等等操作更加快速,相当于一本书的目录。对于一张表,如果我们想要找到某一列符合特定值的记录,第一种方法是全表搜索,匹配,然后把所有符合的记录列出,但是这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。索 阅读全文
posted @ 2013-04-13 18:15 jack_ou 阅读(505) 评论(0) 推荐(0) 编辑
摘要:FilterDispatcher是早期struts2的过滤器,后期的都用StrutsPrepareAndExecuteFilter了,如2.1.6、2.1.8。StrutsPrepareAndExecuteFilter名字已经很能说明问题了,prepare与execute,前者表示准备,可以说是指filter中的init方法,即配制的导入;后者表示进行过滤,指doFilter方法,即将request请求,转发给对应的action去处理。FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.! StrutsPrepareAndExecuteFilter是自2.1. 阅读全文
posted @ 2013-04-09 21:28 jack_ou 阅读(595) 评论(0) 推荐(0) 编辑
摘要:abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。理解抽象类abstractcl 阅读全文
posted @ 2013-04-09 17:48 jack_ou 阅读(200) 评论(0) 推荐(0) 编辑
摘要:1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2.从数据共享来说forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.3.从运用地方来说forward:一般用于用户登陆的时候,根据角色转发到相应的模块.redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网 阅读全文
posted @ 2013-03-23 19:13 jack_ou 阅读(567) 评论(0) 推荐(0) 编辑
摘要:JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true">它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,它不会检查所含文件的变化,适用于包含静态页面 静态include主要是对静态页面的引入,不会检查所包含文件的变化<% @ include file="include.html" %>动态include主要 阅读全文
posted @ 2013-03-23 14:19 jack_ou 阅读(463) 评论(0) 推荐(0) 编辑
摘要:java语言 String 中的方法length()计算的是调用该方法的字符串的实际字数,比如:"中文".length(); 这里获取的长度是2,"english".length(); 这里获取的长度是7,所以这个方法计算的并非是字节长度,而是字符串的实际字数,如果是技术字节长度的话,"中文".length();的结果应该是4,"english".length();就没得说了,依然是7. 那么String的另外一个方法,substring(0,n);,它的长度计算是否跟上面的相同呢?其实也是相同的。 阅读全文
posted @ 2013-03-22 10:34 jack_ou 阅读(2080) 评论(0) 推荐(0) 编辑
摘要:Integer.parseInt(String s) 与Integer.valueOf(String s)区别2011-09-02 09:18:12|分类: 默认分类 |标签: |字号大中小订阅/*** @author George* @date:Sep 1, 2011 8:32:37 AM*/public class Convert { public static void main(String[] args) { // TODO code application logic here String name="3"; int value1=Integer.valueO 阅读全文
posted @ 2013-03-21 11:48 jack_ou 阅读(580) 评论(0) 推荐(0) 编辑
摘要:HashMap和Hashtable的区别 HashMap和Hashtable的区别 导读: 1 HashMap不是线程安全的 HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而 阅读全文
posted @ 2013-03-19 23:45 jack_ou 阅读(131553) 评论(8) 推荐(14) 编辑
摘要:POJO = pure old java object or plain ordinary java object or what ever.PO = persisent object 持久对象就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。全都是这样子的:public class User { private long id; private String name; public void setId(long id) {this.i.. 阅读全文
posted @ 2013-03-19 09:56 jack_ou 阅读(652) 评论(0) 推荐(0) 编辑
摘要:首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的... 阅读全文
posted @ 2013-02-27 10:26 jack_ou 阅读(317) 评论(0) 推荐(0) 编辑