摘要: In和Exists的区别 这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。Select * from tableA Where e... 阅读全文
posted @ 2015-05-12 00:08 243573295 阅读(217) 评论(0) 推荐(0) 编辑
摘要: EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或FalseEXISTS 指定一个子查询,检测行的存在。实例:(一). 在子查询中使用 NULL 仍然返回结果集select * from TableIn where exists(select nu... 阅读全文
posted @ 2015-05-12 00:04 243573295 阅读(1772) 评论(0) 推荐(1) 编辑
摘要: 一.使用rownum做三层包装查询(常用方案)SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM = 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页... 阅读全文
posted @ 2015-05-11 23:10 243573295 阅读(296) 评论(0) 推荐(0) 编辑
摘要: FOUND_ROWS() SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了。例如:需要取出一张表的前1... 阅读全文
posted @ 2015-05-11 22:52 243573295 阅读(2368) 评论(0) 推荐(0) 编辑
摘要: 一.直接使用limit最简单查询方法:select * from content order by id desc limit 0, 10在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引。随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:select *... 阅读全文
posted @ 2015-05-11 22:45 243573295 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 一,时间与效率的区分集群 指所有的设备共同完成相同的功能,每一个设备的功能都是完整的,但是在外界看来是一个设备。 分布式 所有的设备集结后,共同组成一个体系,相互之间协同工作,同时又各自完成自己的相应的工作,但是所有的功能不是在一个设备上,而是由不同的设备完成,但是由一个设备作为统一的接入点和... 阅读全文
posted @ 2015-05-11 22:00 243573295 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。 集群配置是用于提高可用性和可缩放性。集群的目的1.提高性能(提高处理性能一直是集群技术研究的一个重要目标之一)2.降低成本3.提高可扩展性4.增强... 阅读全文
posted @ 2015-05-11 21:50 243573295 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 分布式优缺点优点:1.经济上:微处理机提供了比大型主机更好的性能价格比2.速度上:分布式系统总的计算能力比单个大型主机更强3.固有的分布性:一些应用涉及到空间上分散的机器4.可靠性:如果一个机器崩溃,整个系统还可以运转5.渐增:计算能力可以逐渐有所增加7.数据共享:允许多个用户访问一个公共的数据库8... 阅读全文
posted @ 2015-05-11 21:40 243573295 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 分布式系统含义分布是指功能分布支持分布式处理的软件系统通俗点说分布式系统就是能把服务器端程序分开部署到多台机器上。可以分开部署的系统。软件系统运行的环境分布在多台服务器上它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。故名思义,分布式系统就是将系统的... 阅读全文
posted @ 2015-05-11 21:10 243573295 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 看下面这段代码:public class Main { public static void main(String[] args) { String string = ""; for(int i=0;i StringBuffer > String... 阅读全文
posted @ 2015-05-10 20:47 243573295 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 1、String的本质线程安全 打开String的源码,类注释中有这么一段话“Strings are constant; their values cannot be changed after theyare created. String buffers support mutable s... 阅读全文
posted @ 2015-05-10 20:20 243573295 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 在class文件中,“常量池”是最复杂也最值得关注的内容。Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用,比如: 类和接口的全限定名; 字段的名... 阅读全文
posted @ 2015-05-10 20:10 243573295 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 先看下面这段代码:public class Test { public static void main(String[] args) { } public void test(final int b) { final int a = 1... 阅读全文
posted @ 2015-05-10 16:33 243573295 阅读(2738) 评论(1) 推荐(2) 编辑
摘要: 在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟。事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面是Outter.java的代码:public class Outter { private... 阅读全文
posted @ 2015-05-10 16:29 243573295 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:c... 阅读全文
posted @ 2015-05-10 16:26 243573295 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的... 阅读全文
posted @ 2015-05-10 00:03 243573295 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。看下面这个例子:public class Test { public static void main(String[] args) { ... 阅读全文
posted @ 2015-05-09 23:49 243573295 阅读(249) 评论(0) 推荐(0) 编辑
摘要: final修饰的引用变量一旦初始化赋值之后就不能再指向其他的对象,那么该引用变量指向的对象的内容可变吗?看下面这个例子:public class Test { public static void main(String[] args) { final MyClass myCl... 阅读全文
posted @ 2015-05-09 23:47 243573295 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: 当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再被赋值了。那么final变量和普通变量到底有何区别呢?下面请看一个例子:public class T... 阅读全文
posted @ 2015-05-09 23:46 243573295 阅读(11289) 评论(0) 推荐(1) 编辑
摘要: 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可... 阅读全文
posted @ 2015-05-09 23:22 243573295 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 在java中,数据是以常量和变量两种方法形式进行存储和表示的(实际上,所有程序的数据都是这两种形式)。变量变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。 为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。 由于Java语... 阅读全文
posted @ 2015-05-09 23:02 243573295 阅读(1741) 评论(0) 推荐(1) 编辑
摘要: 抽象的概念就是抽象出共同属性:成员变量和方法定义抽象使用abstract关键字定义抽象类和方法抽象类abstract class 包含抽象方法的类,叫抽象类。所以抽象类可以有private等多种权限的成员变量和非abstract的成员方法。当然抽象方法是一定要有的。抽象类是用于单一继承的,不能实例化... 阅读全文
posted @ 2015-05-09 22:55 243573295 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 代码public class Test { public static void main(String[] args) { Shape shape = new Circle(); System.out.println(shape.name); sh... 阅读全文
posted @ 2015-05-09 22:27 243573295 阅读(2821) 评论(0) 推荐(0) 编辑
摘要: 代码public class Test { public static void main(String[] args) { new Circle(); }} class Draw { public Draw(String type) { S... 阅读全文
posted @ 2015-05-09 22:21 243573295 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 继承的概念: 继承在本职上是特殊——一般的关系,即常说的is-a关系。子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法。 继承是所有OOP语言不可缺少的部分,在java中使用extends关键字来表示继承关系。当创建一个类时,总是在继承,如果没有明确指出要继承的类,就... 阅读全文
posted @ 2015-05-09 22:02 243573295 阅读(1547) 评论(0) 推荐(0) 编辑
摘要: 什么是多态 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用) 多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该... 阅读全文
posted @ 2015-05-09 21:51 243573295 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 抽象:象就是有点模糊的意思,还没确定好的意思。就比方要定义一个方法和类。但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口。具体怎么用,要做什么,我不用关心,由使用的人自己去定义去实现。封装: 属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的... 阅读全文
posted @ 2015-05-09 21:12 243573295 阅读(10477) 评论(0) 推荐(0) 编辑
摘要: 代码解析子类package com;/** * 子类 * @author huage * */public class Test extends Test1{ public static void main(String[] args) { new Test();//测试... 阅读全文
posted @ 2015-05-09 20:41 243573295 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 多态性: Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法 Java的方法重写,就是各子类对父类中的方法可能有其他特殊定义,需要将父类中的方法的内容重写计算一边。方法名,返回类... 阅读全文
posted @ 2015-05-09 20:36 243573295 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 1).简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。自动转换 当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算 而在方法调用时,实际参数较"小",而被调用的方法的形式参数数据又较"大"时(若有匹配的... 阅读全文
posted @ 2015-05-09 20:06 243573295 阅读(291) 评论(0) 推荐(0) 编辑
摘要: Java中的字符占两个字节。一些常用的转义字符:①\r表示接受键盘输入,相当于按下了回车键;②\n表示换行;③\t表示制表符,相当于Table键;④\b表示退格键,相当于Back Space键;⑤\'表示单引号;⑥\''表示双引号;⑦\\表示一个斜杠\。 阅读全文
posted @ 2015-05-09 19:52 243573295 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 常量是一种标识符,它的值在运行期间恒定不变。并且常量在程序中只能被引用,而不能被重新赋值。以下,我们在Math类中就定义了一个全局常量PI被final关键字修饰的变量名最好要大写。public class Math { //定义一个全局常量PI public st... 阅读全文
posted @ 2015-05-09 19:50 243573295 阅读(343) 评论(0) 推荐(0) 编辑
摘要: Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类... 阅读全文
posted @ 2015-05-09 19:44 243573295 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 科学计数法是一种数学专用术语。将一个数字表示成 a×10的n次幂的形式,其中1≤|a|<10,n为整数,这种记数方法叫科学记数法。例如920000可以表示为9.2*105,读作9.2乘10的5次方。一个小于1的正数可以表示为a×10ⁿ,其中1≤|a|<10,n是负整数。在一个近似数中,从左边第一个不... 阅读全文
posted @ 2015-05-09 19:40 243573295 阅读(2227) 评论(0) 推荐(0) 编辑
摘要: 首先看一个解析列子JVM的内存空间:(1). Heap 堆空间:分配对象 new Student()(2). Stack 栈空间:临时变量 Student stu(3).Code 代码区 :类的定义,静态资源 Student.classeg:Student stu = new Student(); ... 阅读全文
posted @ 2015-05-09 15:04 243573295 阅读(2059) 评论(0) 推荐(0) 编辑
摘要: Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内... 阅读全文
posted @ 2015-05-09 12:39 243573295 阅读(824) 评论(0) 推荐(0) 编辑
摘要: Sun的JVMGenerationalCollecting(垃圾回收)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析)1.Young(年轻代)年轻代分三个区。一个Eden区,两个Survivor... 阅读全文
posted @ 2015-05-09 11:40 243573295 阅读(251) 评论(0) 推荐(0) 编辑
摘要: JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:1)Bootstrap ClassLoader /启动类加载器$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类2)Extension ... 阅读全文
posted @ 2015-05-09 11:37 243573295 阅读(291) 评论(0) 推荐(0) 编辑
摘要: jvm=》 java虚拟机一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()... 阅读全文
posted @ 2015-05-09 11:24 243573295 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,Li... 阅读全文
posted @ 2015-05-08 09:59 243573295 阅读(204) 评论(0) 推荐(0) 编辑