自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 apache commons-fileupload 文件上传

import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.List;import javax.servlet.ServletC

2014-01-02 01:24:56 785

原创 哈希表

哈希表是通过使用称为散列法的机制来存储信息的。在散列法中,键的信息内容用于确定一个唯一值,称为它的哈希码(散列码)。然后哈希码作为与键相关的索引。键到哈希码的转化自动完成,你不会键到哈希码本身,同样,哈希码也不能直接索引哈希表。散列法的好处是它允许基本操作,如add,contains,remove和size的执行时间保持不变,即使对于大的集合来说也是如此。

2014-01-01 11:50:15 749

原创 Cloneable接口潜在的危险

Cloneable接口没有定义成员,只是用于标识一个类允许对象的位拷贝(克隆)。如果调用一个没有实现cloneable接口的类的clone()方法,就会抛出CloneNotSuppoaedException异常。当完成复制后,并没有调用复制对象的构造函数。副本是原有对象的精确复制品。复制是一个具有潜在危险的行为,他会导致一些你意想不到的负面效应。例如,如果被复制的对象包含obRef变量的引用,

2014-01-01 11:47:29 693

原创 泛型数组的局限

1.       不能实例化原始类型是类型参数的数组。T values[]=new T[10];原因是T在运行时不存在,一次编译器无法知道实际创建哪种类型的数组。2.       不能创建一个类型特定的泛型引用的数组。Gen gens[]=new Gen[10];特定泛型类型的数组绝对不允许使用,因为他们会损害类型的安全。但可以使用通配符:Gen gen[]=new Gen[10];

2014-01-01 11:41:38 581

原创 Volatile修饰符

Volatile修饰符告诉编译器,被volatile修饰的变量可以被程序的其他部分改变。其中一种情况涉及多线程编程。在一个多线程的程序里面,有时两个或多个线程共享同一个实例变量。从效率方面考虑,每一个线程可以保存这个实例中变量的私有的副本,所以变量的实际(或主要)备份在不同时间被更新,例如当进入synchronized方法时,需要反映他的当前状态。为了保证这一点,只要简单的指定变量volatile

2014-01-01 11:26:22 649

原创 通过接口引用访问实现比正常的方法调用开销大

与Java中正常的方法调用相比,在运行时动态查找方法会导致大量的开销,所以应该注意在关键性能的代码中不要随便的使用接口。

2014-01-01 11:19:03 894

原创 星号形式导入包只对编译有影响,对运行无影响

星号形式可能会增加编译时间,特别是在导入几个大的包时更是如此,因此,一般显示的命名想要使用的类而不是导入整个包,但星号形式对运行时性能和类的大小却没有影响。

2014-01-01 11:16:18 678

原创 一个final变量本质上是一个常量

被声明为final的变量不是每个实例都占有内存,因此,一个final变量本质上是一个常量。

2014-01-01 11:12:29 613

原创 Switch语句通常比一组嵌套的if语句更高效

Java编译器的工作方式。当编译器编译switch语句时,Java编译器将检查每个case常量并创建一个“跳转表”,该表用于在表达式值的基础上选择执行路径,因此,如果在很多值中选择,switch语句将比使用一系列if-else的等效逻辑代码运行速度快。因为编译器知道case常量都是同一类型的,所以做的只是将它与switch表达式相比较。而对于一系列的if表达式,编译器就无此功能。

2014-01-01 11:09:11 2001

原创 查看源码 ViewJavaSourceServlet

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import javax.servlet.ServletException;

2013-11-13 11:24:57 617

原创 ProxyServlet代理

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLEx

2013-11-13 11:15:19 1967

原创 web页面登录校验码

import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;impor

2013-11-12 21:46:56 1201

原创 Json lib JsonConfig用法

import java.util.Arrays;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;public class JsonTest { public

2013-11-12 18:29:26 1343

原创 java用补码表示负数

所有的整数类型(除了char类型外)都是有符号的整数。他们既能表示正数,又能表示负数。Java用2的补码(two's complement)这种编码来表示负数。2的补码是把一个值的所有位取反(即将1变成0,将0变成1),然后对其结果加1。例如,-42就是通过取反42中所有的位00101010来表示,得到11010101,然后再加1,得到11010110,即-42 。要解码一个负数,首先取反其所有的

2013-11-12 12:25:45 3050

原创 Java多维数组第二维维度可以不同

给多维数组分配内存时,仅需要为第一维指定内存。然后再分配其余的维的内存。手工分配内存时,不需要为每维分配相同数量的元素。int twoD[][] = new int[4][];twoD[0] = new int[1];twoD[1] = new int[2];twoD[2] = new int[3];twoD[3] = new int[4];

2013-11-12 12:01:16 1112

原创 java字符占16位

在C/C++中,char是一个8位的整数类型,但在Java中使用Unicode来表示字符。Unicode定义了一个完全国际化的字符集,可以表示人类语言中发现的所有字符。它要求16位

2013-11-12 11:56:23 1030

原创 Java类型决定行为,而不是大小

不应该把整型的宽度(width)理解为它占用的存储空间,而应该是该类变量和表达式的行为(behavior)。只要已经对类型进行了说明,Java的运行时环境对该类的大小是没有限制的。事实上,为了提高性能,byte和short的存储是32位(而非8位和16位),因为这是现在大多数计算机使用的字的大小。这些整数类型的长度和变化范围如表3-1所示:类型决定行为,而不是大小(惟一的例外是数组,字

2013-11-09 23:47:42 1170

原创 J2SE5新特性

泛型元数据自动装箱和拆箱(Autoboxing和Auto-unboxing)枚举增强的for-each循环变长参数(varargs)静态导入格式化I/O并行工具对API的升级

2013-11-09 23:01:51 819

原创 Java特性

简单(Simple) 安全(Secure) 可移植(Portable) 面向对象(Object-oriented) 健壮(Robust) 多线程(Multithreaded) 体系结构中立(Architecture-neutral) 解释执行(Interpreted) 高性能(High performance) 分布式(Distributed) 动态(Dyn

2013-11-09 22:54:19 672

原创 Java字节码---解释执行

Java安全性和可移植性的关键在于Java编译器的输出并不是可执行的代码,而是字节码(bytecode)。字节码是一套在Java运行时系统执行的高度优化的指令集,该Java运行时系统称为Java虚拟机(JavaVirtual Machine,JVM)。在其标准形式下,JVM 就是一个字节码解释器。这可能有点让人吃惊,因为出于对性能的考虑,大多数现代语言都被设计为编译型,而不是解释型。然而,正是通过

2013-11-09 21:32:44 4654

原创 编程语言发展历史

C语言出现以前:FORTRAN可以编写高效的程序,但不适于编写系统程序。BASIC虽然易学,但功能不够强大,并且谈不上结构化。汇编语言虽能写出高效的程序,但学习或高效的使用并非易事,而且调试相当困难。 C语言(1978):Dennis Ritchie在运行UNIX操作系统的DEC PDP-11上发明并首次实现了C。而Martin Richards设计的BCPL语言导致了C语

2013-11-09 00:31:14 1419

原创 window的message事件

在HTML5中新增了postMessage方法,postMessage可以实现跨文档消息传输(Cross Document Messaging),Internet Explorer 8, Firefox 3, Opera 9, Chrome 3和 Safari 4都支持postMessage。该方法可以通过绑定window的message事件来监听发送跨文档消息传输内容。

2013-10-29 11:43:17 20193

原创 用IE浏览器可以上网,用其他浏览器都不能上网

除了IE可以上网页,其他浏览器都不能打开网页用360的修复网络(LSP)360——功能大全——网络优化——修复网络(LSP)问题解决

2013-10-22 10:34:52 1055

转载 使用Spring框架的12个开源项目

http://www.csdn.net/article/2013-10-14/2817176-open-source-projects-that-use-spring-frameworkSpring框架是一个相对较难学习的一个框架,尤其是当你想要使用行业标准开发一个真实的项目案例的时候。虽然刚开始的时候阅读大量的教程是很有帮助的,但是最终,还是要通过真实的项目案例来阅读代码、学习设

2013-10-21 09:08:16 571

转载 oracle wm_concat(column)函数

oracle数据库中,使用wm_concat(column)函数,可以进行字段合并shopping:-----------------------------------------u_id       goods            num------------------------------------------1             

2013-10-16 17:28:29 592

转载 利用pl/sql执行计划评估SQL语句的性能简析

一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在。 那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考: 1、 打开熟悉的查看工具:PL/SQL Developer。   在PL/SQL

2013-10-16 17:12:19 652

原创 ORACLE 分页效率比较

举例:查询表mdl_indicator中20000-20100之间的数据一、rownum二、row_number三、row_number四、rowid总结:第二种方式性能最高

2013-10-16 15:07:24 682

原创 ORACLE intersect

intersect连接两个查询,返回重复的行SELECT id FROM a INTERSECT SELECT id FROM b;返回重复的id

2013-10-15 23:45:39 676

原创 数据库 外连接

左外链接:左侧表全部显示,(+)写在右侧表侧右外连接相反

2013-10-15 23:08:53 599

原创 ORACLE函数使用问题总结

count():count(字段名),查出的结果不包括null,所以,如果一个字段中有null值,那么查出的值与count(*)是不同的

2013-10-15 22:35:52 528

原创 ORACLE设置当前日期格式

ALTER SESSION SET NLS_DATE_FORMAT='dd-mon-yyyy hh:mi:ss';

2013-10-15 22:27:31 607

原创 sqlplus 连接,启停数据库

startup:启动实例->打开控制文件(database mount)->打开数据文件(database open)startup mount:启动数据库实例的时候同时启动控制文件,不启动数据文件startup nomount:启动实例,当控制文件丢失一个或多个的时候采用该方式热备份的时候要在归档模式下修改日志模式为归档:alter database archivelog打开

2013-10-15 00:13:24 813

原创 ORACLE体系结构概述

V$CONTROLFILE  控制文件V$DATAFILE  数据文件V$LOGFILE  日志文件

2013-10-14 22:36:01 472

原创 java中集合类比较

Collection接口  Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。  所

2013-10-14 11:24:11 620

原创 数据库基础知识

一、数据库发展概述1.网状数据库2.关系数据库3.对象数据库二、关系数据库特点数据完整性数据安全性三、主流数据库系统简介OracleMS SQLServerDB2Sybase

2013-10-13 22:44:46 526

原创 Ext4 类的静态成员属性 statics

可通过Ext.Class.statics属性来设置类的静态成员Ext.define("A", { statics: { count: 0, appName: "A" }, constructor: function(){ ++this.self.count; 或 ++this.statics().count;

2013-10-13 18:16:32 824

原创 Ext4 组合 mixins

可用于实现多继承。该属性会以同步方式加载类文件,并实例化该类!Ext.define("MyClass.A", { showA: function(){ console.log("A"); }});Ext.define("MyClass.B", { showB: function(){ console.log("B")

2013-10-13 18:02:43 823

原创 Ext4 Configuration 配置

Ext.define("MyClass.A", { config: { name: "tom", sex: "male" }, show: function(){ // console.log(this.config.name); alert(this.config.name); }});config属性会将为其属性自动添加setter和gette

2013-10-13 17:36:26 734

原创 Ext4 创建类 Ext.define

Ext.define(className, members, onClassCreated);className 要声明的类的名字members 一个对象,包含类成员onClassCreated 一个可选的回调函数,因为新的异步加载机制,这个回调函数会很有用,当所有依赖已经引入,并且类完全创建好了之后,这个函数会被调用继承:Ext.define("MyApp.M

2013-10-13 16:44:36 1155

转载 Oracle 索引 详解

转自 http://blog.csdn.net/tianlesoftware/article/details/5347098一.索引介绍 1.1 索引的创建语法: CREATE UNIUQE | BITMAP INDEX .      ON .           ( |  ASC | DESC,             |  ASC | DESC,

2013-10-12 17:02:44 904

空空如也

空空如也

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

TA关注的人

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