`
liulanghan110
  • 浏览: 1076647 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
一,ClassLoader的大体过程   如图: 详解:      虚拟机一启动,会先做一些初始化的动作。一旦初始化动作完成之后,就会产生第一个类别加载器,即所谓的Bootstrap Loader,Bootstrap Loader 是由C++ 所撰写而成,这个Bootstrap Loader所做的初始工作中,除了也做一些基本的初始化动作之外,最重要的就是加载定义在sun.misc 命名空间底下的Launcher.java 之中的ExtClassLoader( 因为是inner class ,所以编译之后会变成Launcher$ExtClassLoader.class) ,并设定其 ...
众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍。故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区域),来提高系统的运行效率。 一、什么时候应用系统会从缓存中获取数据?   数据库从服务器上读取数据时,可以从硬盘的数据文件中获取数据,也可以从数据库缓存中读取数据。现在数据库管理员需要搞清楚的是,在什么样的情况下,系统是从缓存中读取数据,而不是从硬盘的数据文件中读取数据?   简单的说,数据缓存就是内存中的一块存储区域,其存储了用户的SQL文本以及相关的查询结果。通常情况下,用户下次查询时,如果所使用的SQL文本是相同的,并且自从上次查 ...

JAVA反射

    博客分类:
  • JAVA
一、什么是动态性语言 一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态 ...

JAVA泛型

    博客分类:
  • JAVA
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。   Java语言引入泛型的好处是安全简单。   在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。   泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自 ...
     先看如下代码: Objet obj = new Object();      变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址(即保存着对象的引用)。变量是放在栈里的,而对象是放在堆里的。所以上面的语句,obj变量放在栈里,保存着Object对象的引用(Object对象在堆中的首地址),而new Object()是在堆上申请了一块内存,这块内存放着Object这个对象。         变量一般是有存活时间的。比如,一个方法内的变量只存活在这个方法内,也就是出了这个方法,这个变量就不存在了 ...

关于哈希算法

    博客分类:
  • JAVA
 先看这样一个问题。比如有一个大小为10的数组,我要把1-9放进去。那么有一种办法就是按顺序从数组的第一个一直放到最后一个。比如我这么放2,4,6,8,1,3,5,7,9 ,那么我要查找一个数在在这个数组的哪个位置时,我得用一个循环检测。当数组很大时,效率会很低。如果我这样做呢?将元素与9求余,得到一个结果,之后将元素放到该位置。比如,2%9 结果为2,那么数组的第2个位置放上2。每个元素都根据这样的一个函数处理后放到指定的位置。那么当查找该元素时,只需要将该元素利用之前的函数再处理一次,就可以得到其在哪个位置。如,我需要查找9的位置。那么我用9%9,知道9在数组的第一个位置。也就是说,此时查找 ...
首先,来介绍一下Java中的集合。  总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一 ...
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存, 例如: Objet obj = new Object();   变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就 ...
在设置某些表单的默认数据,而且不让使用者修改这些数据的时候,我们通常会设置该项为只读。通常情况下Input输入框我们只需要向该Input添加Readonly="Readonly"即可。 <input type="text" readonly="readonly" name="name" value="默认的input数据" />   <input type="text" readonly="readonly" name=" ...
 公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE 。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。 递归 CTE 可以极大地简化在 ...
表连接分为内连接、外连接和交叉连接。 内连接 (INNER JOIN) :      内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:   等值连接:在连接条件中使用等于号 (=) 运算符 ...

in和exists

先创建测试数据 : create table student (     id int primary key not null ,     sid   int )           create table test (     id int primary key not null ,     sid   int ) create procedure insertDate() BEGIN      DECLARE ...

非操作符

 网上有些地方说有关非的操作符不能利用索引,这些操作符有 != 、 <> 、 !< 、 !> 、 NOT EXISTS 、 NOT IN 、 NOT LIKE 。 下面来测试一下 != 、 <> 、 !< 、 !> 、 NOT IN ( NOT EXISTS 、 NOT LIKE 会在其他文章中详细说明) 。 测试版本为 DB2 v8.1.0.64 ( 查看 DB2 版本 db2level) 和 DB2 v9.7 1. 测试选择性不强 ...
     网上有些资料说含有 null 的列不能创建索引,还有资料说因为一般的索引是 b_ 树结构,而 b+ 树不能存储 null 值,所以 is null 和 is not null 都不能利用 索引。为了证明以上说法,我做了一下测试。 1. 测试含有 null 的列是否能创建索引 先创建测试数据 : create table student

and、or和in

在开始测试前先创建测试数据: create table student ( id int primary key not null , sid   int ) create procedure insertDate () BEGIN  DECLARE v_id int ;   set v
Global site tag (gtag.js) - Google Analytics