- 博客(47)
- 收藏
- 关注
转载 Java中ArrayList和LinkedList区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为Li
2011-09-21 13:44:58
1195
1
原创 SQL 左外连接,右外连接,全连接,内连接
连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行。 连接可分为以下几类: 内连接。(典型的连接运算,使用像
2011-08-19 17:11:03
764
原创 聚簇索引与非聚簇索引的区别
在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚簇索引。不过这个定义太抽象了。在SQL Server中,索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。一
2011-06-29 14:40:00
866
原创 echo命令
echo英文意思是回显,在程序中就是显示,打印的意思.刚刚查了下资料,在mysql中使用的echo并不是sql语句,而是dos命令,如果你是在命令行下使用mysql那么echo语句就会生效.在dos中echo的用法如下.一、ECHO命令是DOS批处理命令的一条子命令: 1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 2. 显示当前ECHO设置状态 格式:
2011-06-13 20:54:00
1556
转载 File,FileInputStream,FileReader,InputStreamReader,BufferedReader的使用和区别
<br />File,FileInputStream,FileReader,InputStreamReader,BufferedReader的使用和区别 <br />参考资料: <br /> 《core java》12章 <br /> 使用Java操作文本文件的方法详解http://java.ccidnet.com/art/3737/20041108/523627_1.html <br /> FileReader 是什么类?和 FileInputStream 有什么不同??? <br />http:/
2011-05-04 13:36:00
6212
1
转载 Java垃圾回收机制
一.谁在做Garbage Collection? 在C++里,释放内存是手动处理的,要用delete运算符来释放分配的内存。这是流行的说法。确切地说,是应用认为不需要某实体时,就需用delete告诉系统,可以回收这块空间了。这个要求,对编码者来说,是件很麻烦、很难做到的事。随便上哪个BBS,在C/C++版块里总是有一大堆关于内存泄漏的话题。 Java采用一种不同的,很方便的方法:Garbage Collection。Java垃圾回收机制放在JVM里。JVM完全负责垃圾回收事宜,应用只在需要时申请空间,而在抛
2011-04-04 15:10:00
877
转载 Bean的生命周期
<br />一、Bean的定义<br /> Spring通常通过配置文件定义Bean。如:<br /> <?xml version="1.0" encoding="UTF-8"?><br /> <beans xmlns="http://www.springframework.org/schema/beans"<br /> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
2011-04-04 10:15:00
761
原创 Java中的事务处理
<br />一般情况下,J2EE应用服务器支持JDBC事务、JTA(Java Transaction API)事务、容器管理事务。一般情况下,最好不要在程序中同时使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务。第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用。下面我们列举两种事务处理方式。<br /><br /> 1、JavaBean中使用JDBC方式进行事务处理<br /> 在JDBC中怎样将多个SQL语句组合成一个事务呢?在JDBC中,打开一个连接对象Connecti
2011-04-03 22:36:00
791
原创 AOP技术
Aspect Oriented Programming(AOP)-面向切面编程是近来较为热门的一个话题。一、AOP与OOP的比较 AOP与OOP在字面上虽然非常类似,但却是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异。二、AOP中几个比较重要的
2011-04-02 11:34:00
776
转载 Statement、PreparedStatement、PreparedStatement + 批处理 的区别
<br />1.使用Statement对象<br />2.预编译PreparedStatement<br />3.使用PreparedStatement + 批处理<br />为了区分出这三者之间的效率,下面的事例执行过程都是在数据库表t1中插入1万条记录,并记录出所需的时间(此时间与电脑硬件有关)<br />1.使用Statement对象<br />使用范围:当执行相似SQL(结构相同,具体值不同)语句的次数比较少<br />优点:语法简单<br />缺点:采用硬编码效率低,安全性较差。<br />原理:
2011-03-31 09:44:00
1793
原创 SimpleJdbcCall的使用
java.lang.Object org.springframework.jdbc.core.simple.AbstractJdbcCall org.springframework.jdbc.core.simple.SimpleJdbcCall SimpleJdbcCall源自springframework,是一个多线程、可重用,用来调用存储过程或者存储函数的工具,它通过提供元数据的处理方式来简化对基本的存储过程和函数的访问。我们所需要做的就是提供执行存储过程或函数的名字和用Map表示的相应的
2011-03-25 09:21:00
7948
转载 CallableStatement
<br />概述<br /><br /> CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(IN 参数)、输出(OUT 参数)或输入和输出(INOUT 参数)的参数。问号将用作参数的
2011-03-25 09:20:00
970
转载 PreparedStatement的用法
jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement需求研发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或 02/05/02 8:56 pm。 通过使用java.sql.preparedstatement,这个问题能自动解决。一个preparedstatement是从java.sql.connection
2011-03-24 14:30:00
744
转载 Statement详细用法
<br />1、创建 Statement 对象 <br /><br />建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段中所示: <br /><br />Connection con = DriverManager.getConnection(url, "sunny", ""); <br />Statement stmt = con.createStatement(); <br /><b
2011-03-24 13:44:00
1464
转载 Java 获取classpath
<br />ClassLoader提供了两个方法用于从装载的类路径中取得资源:<br /><br /> public URL getResource(String name); <br /> public InputStream getResourceAsStream(String name); <br /><br /> 这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位资源,而getResourceAsSt
2011-03-24 09:49:00
1989
原创 整数的素数分解算法
<br />素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。<br /> <br />void PrimaryCal(int num)<br />{<br /> for(int i=2;i*i<=num;i++)<br /> {<br /> while(num%i==0)<br />
2011-03-21 16:01:00
5962
1
原创 二分查找算法
折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。二分搜索法的应用极其广泛,而且它的思想易于理解,但是要写一个正确的二分搜索算法也不是一件简单的事。第一个二分搜索算法早
2011-03-21 15:57:00
875
转载 Java中equals和==的区别
<br />值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。<br /> ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。<br /> equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。<br /> ==比较的是2个对象的地址,而equals比较的是2个对象的内容。<br />
2011-03-05 22:11:00
1423
1
转载 Java异常体系结构
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架, 是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。 Java异常体系结构呈树状,其层次结构图如图 1所示: 图 1 Java
2010-12-24 14:10:00
68271
13
转载 getResourceAsStream的用法
首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/
2010-12-23 13:48:00
1063
转载 synchronized详解
<br />一直对这些不是很懂。找了一下,看一下,供我以后再看: <br />第一篇: <br />Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 <br /><br /> 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。<br /> 二、然而,当一个线程访问object的一
2010-12-21 16:36:00
828
转载 ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext的区别
<br /> 获得Spring中定义的bean实例(对象).<br /> ClassPathXmlApplicationContext cpx=new ClassPathXmlApplicationContext ("包名(或者是保的完整路径)/配置文件名字(也就是xml文件)");<br /> cpx.getBean("配置文件中定义的bean实例");<br /> <br /> classpath: 前缀是不需要的, 默认就是指项目的classpath路径下面; <br /> 如果要使用绝对路
2010-12-21 16:19:00
755
原创 一些实用的Linux命令
<br />1. 以前经常想删除一些先前的trace File同时保留最新的File,苦思良久却无从下手,只好把所有的File一并删掉,诚惶诚恐。今天看见cut命令后顿时豁然开朗,相见恨晚啦!<br /> cut命令可以从一个文本文件或者文本流中提取文本列<br /> 命令用法:<br /> cut -b list [-n] [file ...]<br /> cut -c list [file ...]<br /> cut -f list [-d delim]
2010-07-12 16:46:00
197
转载 Linux下用C语言实现Ping程序功能
<br />大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中,作者将介绍如何用C语言编写一个模拟ping命令功能的程序。<br />ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。<br />例如,在Linux终端上执行pinglocalhost命令将会看到以下结果: <br /
2010-07-07 10:23:00
6611
转载 Linux下用C语言实现Ping程序功能
<br />大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中,作者将介绍如何用C语言编写一个模拟ping命令功能的程序。<br />ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。<br />例如,在Linux终端上执行pinglocalhost命令将会看到以下结果: <br /
2010-07-07 10:22:00
1150
转载 linux 常用C函数系列之六
<br />14. 接口处理篇<br />14.1 accept(接受socket连线) <br />相关函数 socket,bind,listen,connect<br />表头文件 #include<sys/types.h><br />#include<sys/socket.h><br />定义函数 int accept(int s,struct sockaddr * addr,int * addrlen);<br />函数说明 accept()用来接受参数s的socket连线。参数s的soc
2010-07-01 17:09:00
741
转载 linux 常用C函数系列之五
<br />11. 进程操作篇<br />11.1 atexit(设置程序正常结束前调用的函数) <br />相关函数 _exit,exit,on_exit<br />表头文件 #include<stdlib.h><br />定义函数 int atexit (void (*function)(void));<br />函数说明 atexit()用来设置一个程序正常结束前调用的函数。当程序通过调用exit()或从main中返回时,<br />参数function所指定的函数会先被调用,然后才真正由
2010-07-01 17:06:00
154
转载 linux 常用C函数系列之五
<br />11. 进程操作篇<br />11.1 atexit(设置程序正常结束前调用的函数) <br />相关函数 _exit,exit,on_exit<br />表头文件 #include<stdlib.h><br />定义函数 int atexit (void (*function)(void));<br />函数说明 atexit()用来设置一个程序正常结束前调用的函数。当程序通过调用exit()或从main中返回时,<br />参数function所指定的函数会先被调用,然后才真正由
2010-07-01 17:06:00
183
转载 linux 常用C函数系列之五
11. 进程操作篇11.1 atexit(设置程序正常结束前调用的函数) 相关函数 _exit,exit,on_exit表头文件 #include定义函数 int atexit (void (*function)(void));函数说明 atexit()用来设置一个程序正常结束前调用的函数。当程序通过调用exit()或从main中返回时,参数function所指定的函数会先被调用,然后才真正由exit()结束程序。返回值 如果执行成功则返回0,否则返回-1,失败原因存于errno中。范例 #
2010-07-01 17:05:00
932
转载 linux 常用C函数系列之四
<br />8. 数据结构及算法篇<br />8.1 crypt(将密码或数据编码) <br />相关函数 getpass<br />表头文件 #define _XOPEN_SOURCE<br />#include<unistd.h><br />定义函数 char * crypt (const char *key,const char * salt);<br />函数说明 crypt()将使用Data Encryption Standard(DES)演算法将参数key所指的字符串加以编码,key<
2010-07-01 17:02:00
290
转载 linux 常用C函数系列之三
<br />7. 用户组篇<br />7.1 endgrent(关闭组文件) <br />相关函数 getgrent,setgrent<br />表头文件 #include<grp.h><br />#include<sys/types.h><br />定义函数 void endgrent(void);<br />函数说明 endgrent()用来关闭由getgrent()所打开的密码文件。<br />返回值 <br />附加说明 <br />范例 请参考getgrent()与setgren
2010-07-01 16:59:00
264
转载 linux 常用C函数系列之三
<br />7. 用户组篇<br />7.1 endgrent(关闭组文件) <br />相关函数 getgrent,setgrent<br />表头文件 #include<grp.h><br />#include<sys/types.h><br />定义函数 void endgrent(void);<br />函数说明 endgrent()用来关闭由getgrent()所打开的密码文件。<br />返回值 <br />附加说明 <br />范例 请参考getgrent()与setgren
2010-07-01 16:59:00
292
转载 linux 常用C函数系列之三
<br />7. 用户组篇<br />7.1 endgrent(关闭组文件) <br />相关函数 getgrent,setgrent<br />表头文件 #include<grp.h><br />#include<sys/types.h><br />定义函数 void endgrent(void);<br />函数说明 endgrent()用来关闭由getgrent()所打开的密码文件。<br />返回值 <br />附加说明 <br />范例 请参考getgrent()与setgren
2010-07-01 16:58:00
360
转载 linux 常用C函数系列之二
<br />3. 内存控制篇<br />3.1 calloc(配置内存空间) <br />相关函数 malloc,free,realloc,brk<br />表头文件 #include <stdlib.h><br />定义函数 void *calloc(size_t nmemb,size_t size);<br />函数说明 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素<br />的指针。这和使用下列的方式效果相同:malloc(nmemb*s
2010-07-01 14:53:00
250
转载 网管必须熟悉的几个网络DOS命令
网管和黑客的斗争是永不会停息的,他们的关系就如同警察和小偷。在网络这个没有硝烟的战场上,谁的技术手段高明,谁的头脑灵活,谁虚心学习不断成长,谁就能立于不败之地。前言:网管和黑客的斗争是永不会停息的,他们的关系就如同警察和小偷。在网络这个没有硝烟的战场上,谁的技术手段高明,谁的头脑灵活,谁虚心学习不断成长,谁就能立于不败之地。网管为了维护自己服务器的安全,黑客为了成功入侵一台服务器,他们使用工具是一种很简便、很省时间、很高效的做法,但你可曾想过很多问题其实不是我们想象的那么复杂,而且工具都是别人的
2010-06-29 09:31:00
175
转载 linux 常用C函数系列之一
<br />1. 字符测试篇<br />1.1 isalnum(测试字符是否为英文或数字) <br />相关函数 isalpha,isdigit,islower,isupper<br />表头文件 #include<ctype.h><br />定义函数 int isalnum (int c)<br />函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测<br />试。<br />返回值 若参数c为字母或数字,则返回TRUE
2010-06-28 14:28:00
213
原创 常用英语口语
<br />1. I see. 我明白了。 <br />2. I quit! 我不干了! <br />3. Let go! 放手! <br />4. Me too. 我也是。 <br />5. My god! 天哪! <br />6. No way! 不行! <br />7. Come on. 来吧(赶快) <br />8. Hold on. 等一等。 <br />9. I agree。 我同意。 <br />10. Not bad. 还不错。 <br />11. Not yet. 还没。 <br />12
2010-06-17 17:41:00
137
原创 Linux C MySQL数据库函数
1. 初始化一个连接句柄 MYSQL *mysql_init(MYSQL *); 正确:返回一个指向新分配的链接句柄结构的指针 错误:NULL 注:该函数的传入参数通常为NULL即可。 2. 建立物理连接 MYSQL *mysql_real_connect(MYSQL *connection, const char *server_host, const ch
2010-04-27 15:49:00
5282
原创 Linux C调试入门
1.自定义输出 想必大家都有利用输出函数如printf来帮助我们调试程序的经历,这是一种比较原始的程序调试辅助方法,在Linux下也可以为我们所用。不过这种方法有一个明显的缺点,就是在调试完后我们必须注释或删除掉这些辅助代码。Linux C提供了-DDEBUG这个编译标记来定义DEBUG这个符号,借助于该符号,我们可以在应用程序中添加额外代码并根据需要决定执行与否。 如: #include
2010-01-08 14:02:00
4928
原创 Shell编程
利用Shell编程,我们可以方便的实现更复杂的功能。比如说列出当前目录下所有的C文件,我们可以在命令行下直接输入以下脚本: for file in *.c do print "$file" done 我们可以把这些脚本写入文件中,通过调用文件来执行脚本,这对于编写大型脚本是十分有帮助的。下面我就来介绍Shell编程的一
2010-01-04 08:42:00
1980
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人