自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(73)
  • 收藏
  • 关注

转载 sql 百万级数据库优化方案

sql 百万级数据库优化方案1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中nu

2014-11-09 13:59:17 199

原创 数据库优化方案(一)

数据库优化方案(一)关于数据库优化方面的文章很多,但是有的写的似是而非,有的不切实际,对一个数据库来说,只能做到更优,不可能最优,并且由于实际需求不同,优化方案还是有所差异,根据实际需要关心的方面(速度、存储空间、可维护性、可拓展性)来优化数据库,而这些方面往往又是相互矛盾的,下面结合网上的一些看法和自己的一些观点做个总结。  一个系统的性能的提高,不单单是试运行或者维

2014-11-09 13:58:51 172

原创 经典!SQL技巧

SQL技巧查询每个数据表所占空间     sp_spaceused 【TableName】     结果如下:     返回插入、更新操作时,该row的IDENTITY 列的值;     SELECT   @@IDENTITY     具体用法查询sql版本信息SELECT  SERVERPROPERTY('productversion'),

2014-11-09 08:36:42 201

原创 经典!SQL总结(四)编辑类

SQL总结(四)编辑类应有尽有1、数据库创建数据库语法:CREATE DATABASE database_name1)创建测试库CREATE DATABASE TestDB 2)使用库USE TestDB3)删除库DROP DATABASE TestDB 2、表1)创建用户信息表

2014-11-09 08:29:06 248

原创 经典!SQL总结(三)其他查询

SQL总结(三)其他查询 其他常用的SQL,在这里集合。1、SELECT INTO从一个表中选取数据,然后把数据插入另一个表中。常用于创建表的备份或者用于对记录进行存档。语法:SELECT column_name(s)INTO new_table_name [IN externaldatabase] FROM old_tablenameIN

2014-11-09 08:02:56 154

原创 经典!SQL总结(二)连表查询

SQL总结(二)连表查询连接查询包括合并、内连接、外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要。只有真正了解它们之间的区别,才能正确使用。1、UnionUNION 操作符用于合并两个或多个 SELECT 语句的结果集。UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。

2014-11-08 23:08:24 184

原创 经典!SQL总结系列

SQL总结系列总结SQL基本知识、用法,并结合多年的应用对SQL有关的相关知识进行总结。希望这些分享能给大家带来一些帮助,如有不足或错误,请批评指正。主要内容1)编辑相关,包括:数据库的创建与删除,表和视图的创建与修改,约束(主键、外键、唯一、默认值、校验器、非空)、索引、触发器等2)查询相关,包括基本查询、分组排序、聚合函数、连表查询(内连接、外连接、全连接、交叉

2014-11-08 22:58:14 225

原创 经典!SQL总结(一)基本查询

SQL总结(一)基本查询 SQL查询的事情很简单,但是常常因为很简单的事情而出错。遇到一些比较复杂的查询我们更是忘记了SQL查询的基本语法。本文希望通过简单的总结,把常用的查询方法予以总结,希望能够明确在心。场景:学生信息系统,包括学生信息、教师信息、专业信息和选课信息。--学生信息表IF OBJECT_ID (N'Students', N'U') IS NO

2014-11-08 22:56:28 273

转载 Hibernate对象的三种状态

在Hibernate中,对象有三种状态:临时状态(Transient)、持久状态(Persistent)和游离状态(Detached)。处于持久态的对象也称为PO(PersistenceObject),临时对象和游离对象也称为VO(ValueObject).1. 临时状态由new命令开辟内存空间的java对象,例如:User user=new User();临时对象在内存孤立存

2014-10-31 14:27:38 183

转载 JDK 1.7新特性

jdk1.7新特性1 对集合类的语言支持; 2 自动资源管理; 3 改进的通用实例创建类型推断; 4 数字字面量下划线支持; 5 switch中使用string; 6 二进制字面量; 7 简化可变参数方法调用;8 新增一些取环境信息的工具方法;9 Boolean类型反转,空指针安全,参与位运算;10 两个char间的equals;11 安全的加减乘除;

2014-10-21 16:21:27 184

原创 Hashmap实现原理

0.参考文献:hash算法 (hashmap 实现原理)Java实现的散列表1.HashMap的数据结构  数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法—— 拉链法,我们可

2014-10-16 10:41:47 178

原创 JAVA中堆栈和内存分配

(一)、栈、堆1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域 :存放静态成员(static定义的)5. 常量池 :存放字符串常量和基本类型常量(pu

2014-10-14 17:28:51 166

原创 Java栈与堆

Java栈与堆 ----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,

2014-10-14 17:27:08 156

原创 Java中== equals hashcode浅析:

Java中== equals hashcode浅析:1. '=='是用来比较两个变量(基本类型和对象类型)的值是否相等的, 如果两个变量是基本类型的,那很容易,直接比较值就可以了。如果两个变量是对象类型的,那么它还是比较值,只是它比较的是这两个对象在栈中的引用(即地址)。对象是放在堆中的,栈中存放的是对象的引用(地址)。由此可见'=='是对栈中的值进行比较的。如果要比较堆中对象的内容是否相

2014-10-14 16:44:32 200

原创 java中equals,hashcode和==的区别

两个对象值相同(x.equals(y) == true),则一定有相同的hash code;这是java语言的定义:因为:Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成

2014-10-14 16:41:39 202

原创 J2EE的多层模型(三)优势

系统分的层数多了,在整体结构上肯定就复杂了,而且代码量也大了。那为什么还要分层呢?当然是分层的优势远远大于劣势。               J2EE 整体上都是基于组件的,这种具有平台无关性的结构使得J2EE 程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE 服务器以容器的形式为所有的组件类型提供后台服务. 因为不用自己开发这种服务, 所以可以集中精力解决手头的业务问题.

2014-10-09 17:19:49 291

原创 J2EE的多层模型(二)交互

上篇文章中说到J2EE的四层经典模型和组成每层的一些相应组件。       J2EE在大的框架上已经规定好,但是每层之间选择合适的组件进行组合很重要,合理的搭配可以在完成功能的同时更好的解耦,有好的维护性和扩展性,易于修改。        基于Java技术的Web应用中,JSP作为很重要的一部分,既可以用于开发小型的Web站点、也可以用于开发大型的、企业级的应用程序。Web浏览器是三层结构

2014-10-09 16:28:07 194

原创 J2EE的多层模型(一)架构概述

对J2EE的宏观认识上篇文章大概的介绍了一下。J2EE是一个标准,这个标准不仅定义了基本的规范和接口,也有一些比较固定的架构模型。       J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。       在传统的不分层的软件架构中,客户端担当了过多的角色而显得庞大而且不容易进行维护和修改,扩展性非常差,它使得重用业务逻辑和界面逻

2014-10-09 15:57:48 464

原创 Oracle中的EXISTS与IN

项目中对数据库的查询操作很多,各种拼接,各种in,但由于in的内容受字符限制,所以有些地方将in改成了Extist,两种写法有什么关联,查了写资料,分析看看:  in针对in很好理解,Sql代码  select * from T1 where T1.a in (select T2.a from T2) ”     Sql代码  

2014-10-09 15:23:50 214 1

原创 SQL大量数据查询的优化

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:sel

2014-10-09 15:14:18 198

原创 聚合索引和非聚合索引

收集点面试常问道的索引问题1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 2. 聚合索引和非聚合索引有什么区别?         深入浅出理解索引结构              实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustere

2014-10-09 14:16:57 296

原创 Hibernate整体理解

Hibernate过了一遍,对这个持久层的框架有了基础性的了解,对框架的真正熟悉还要靠项目实战,动手运用。下面从整体上总结一下我的理解和体会。Hibernate的实现原理很复杂,尤其是一些性能优化发面的,跟Struts框架相比,要高深很多。总的来说hibernate涉及到的内容成块状分布,功能比较明确。在使用上比直接操纵JDBC和建立数据库的表要方便的多。而且最重要的是hibernat

2014-10-09 09:27:53 171

原创 Hibernate主键生成策略总结

Hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定关键字来告诉hibernate我们要使用的主键生成方式,然后hibernate会根据设定完成数据库的主键控制。 一、首先通过举例子来了解实体映射文件(*.hbm.xml)中对id生成策略配置格式    用户User的实体类User.java     [java] view plaincop

2014-10-09 09:26:36 180

原创 Hibernate核心思想—ORM机制(一)

hibernate是一个采用ORM(Object/Relation Mapping对象关系映射)机制持久层的开源框架    其主要核心思想是面向对象,而非面向过程,而这个面向对象则主要通过ORM实现。     ORM是将表与表之间的操作,映射成对象和对象之间的操作,就是通过操作实体类来达到操作表的目的。从数据库提取的数据会自动按你设置的映射要求封装成特定的对象。之后你就可以通过对对象进

2014-10-09 09:25:58 220

原创 Hibernate核心思想—ORM机制(二)

上篇文章总结了对象之间的一对一映射。而在关系模型中,最常见的映射为一对多和多对多。一对一映射主要用到的标签,一对多主要用到和,多对多用到.下面一一来看。(五)单向一对多映射        一对多映射情况非常多件,今天以班级和学生举例,一个班级对应多个学生,一个学生对应一个班级,从而形成一对多关系。如图:         一对多关系由一的一方来维护,在这个例子里由cl

2014-10-09 09:25:32 181

原创 Hibernate核心思想—ORM机制(三)

上篇博文中总结的一对多和多对多实体类的映射。本次总结实体类继承的映射机制。实体类的继承映射常用的共有三种方式。一一来看。(八)继承映射(1)单表继承,每棵继承树使用一个表        这种方法是一个继承的树总共生成一张表,因为类继承树肯定是对应多个类,所以如果要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。这种机制就是,在表中添加一个字段。       

2014-10-09 08:54:05 173

原创 Spring对Hibernate的事务支持

spring提供了对hibernate等pojo对象的事务管理的支持。这是一个spring的一个意义重大的特性。   spring提供两种方式对hibernate提供事务管理方式,分别为编程式事务管理和声明式事务管理。   spring事务策略,也就是spring事务管理的实现方式.它有一个统一的抽象是由实现下面这个接口完成的.org.springframework.transac

2014-10-08 20:37:53 325

原创 Spring核心(四)AOP介绍

AOP即Aspect Oriented Programming的,意为面向切面编程,以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP是横向插入的一种技术,我觉得切面这个“切”字用的很准确,很形象。这个感觉就是在不影响业务的总体纵向流程的情况下横向切进了一段逻辑。        具体介绍        AOP涉及到多个术语,这是AOP的核

2014-10-08 20:27:03 183

原创 Spring核心(二)IoC介绍

IoC控制反转模式(也称作依赖性注入DI)是Spring的核心,他的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。Spring中的IoC容器负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,由容器来决定什么时间调用方法。          控制反转(loc):控

2014-10-08 16:51:02 175

原创 Spring核心(三)IoC使用

上篇文章介绍了Ioc和他的作用,简单的来讲,就是由容器控制程序之间的关系,而不是由我们手动编写控制实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。         下面通过添加用户的小例子具体来看,首先配置Spring的环境        1、加入spring的依赖包             (1)

2014-10-08 16:49:22 161

原创 Spring核心(一)概述

Spring是什么?         Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。         简单来说,Spring就是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。         下面从整体上认识一下Spring的主要特征:

2014-10-08 16:36:42 202

转载 四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较

1. 介绍1)SAX        SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。   选择DOM还是选择SAX?

2014-10-08 16:07:59 108

原创 Java中的流(二)

上一篇文章通过字节流和字符流来总结流,这里通过节点流和处理流总结一下流的具体用法。   节点流的分类:      节点流分别对File(文件),Array(内存中的一个数组),String(字符串),Pipe(管道)进行处理。       处理流的分类: 常用的处理流有:缓冲流,转换流,数据流,对象流,打印流。        

2014-10-08 16:04:21 111

原创 Java中的流(一)

Java语言的输入输出功能是十分强大而灵活的,对于数据的输入和输出操作以“流”(stream)的方式进行。J2SDK提供了各种各样的“流”类,用以获取不同种类的数据,定义在包java.io中。程序中通过标准的方法输入或输出数据。       Java中的流可以从不同的角度进行分类:       按照流的方向不同:分为输入流和输出流。       按照处理数据单位的不同:

2014-10-08 15:54:51 145

原创 java 内存分析

内存分析        这次学习Java,第一次接触内存中的程序的具体执行过程。感觉理解内存中数据的进出对程序的理解确实很有帮助。        Java的执行过程在内存中一共占四个区域:        heap (堆)区:用来存放new出来的东西,是一个对象的真正存放位置。堆用于动态分配和释放程序所使用的对象。        stack (栈)区:用来存放局部

2014-10-08 15:48:22 108

原创 Java语言基础

标识符          所有的语言都有变量,方法等,只要有这些东西就一定会用到标识符,标识符就是自己给变量,方法或者类起的名字。而且他们几乎都有自己的一套规则。名字可以起,但不可以随便起。          Java标识符命名规则: (1)由字母,"_","$"或数字组成,其他符号不可用。                                          

2014-10-08 15:41:23 125

原创 AJAX

AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。         ajax在浏览器里运行,跟任何语言都没有任何关系。因为运行在浏览器,常需要使用JavaScript和XML进行控制和数据传输。        与传统的Web应用比较        传统的Web应用,

2014-10-08 15:37:08 163

原创 web.xml中 listener、filter、servlet等 加载顺序

Web项目的很多信息都配置在web.xml文件中,而且项目启动时,容器(下文以Tomcat为例)会先读配置文件,那web.xml文件中的那么多内容是按照什么顺序加载的呢?        这个读取顺序跟文件内容的上下文顺序基本没有关系,也就是说这些配置信息的读取顺序是一定的,跟他写在哪个位置没关系,写到最后的可能第一个执行。        分析:       (1)因为无论是

2014-10-08 15:34:01 117

原创 Java监听器

监听器的作用是监听Web应用程序中某一个对象,监听客户端的处理动作,然后做出相应的处理。       Java Web应用程序中,Servlet容器提供了多种监听器的接口,使用的时候根据需求选择特定的接口实现就行。这些接口都是继承的java.util包中的EventListener接口。               可以看出,监听器的种类确实很多。        常

2014-10-08 15:29:52 144

原创 Java过滤器

过滤器就是在源数据和目的数据之间起过滤作用的中间件。       Web应用中,在处理请求时,经常有一些公共的工作,比如设置字符集。这样的工作需要写在每个页面,这样的写法费力且不好修改。使用过滤器就像在这些流程前加了一道拦,将需要进行的操作放到拦里执行,而所有经过这道拦的流程都会“被”执行该操作。           开发一个过滤器必须实现Java定义好的javax.ser

2014-10-08 15:23:56 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除