- 博客(34)
- 问答 (1)
- 收藏
- 关注
原创 Java内存溢出和内存泄露
内存溢出(out of memory): 程序在申请内存时,申请的内存不足以存相应的值。比如:声明一个Integer的变量,存一个Long类型才能存下的数值,就发生了内存溢出。 内存泄漏(memory leak): 程序申请的内存,无法被释放,最终导致内存资源耗尽。内存泄漏说明程序逻辑有问题,最简单的例子就是死循环。在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾回收器(Gabag
2015-05-05 22:15:09
338
原创 HTTP返回码总结
HTTP协议状态码表示的意思主要分为5大类: 1xx:保留 2xx:表示请求成功地接收 3xx:为完成请求,客户需要进一步细化请求 4xx:客户错误 5xx:服务器错误200 OK: 客户端的请求成功收到,解析,接受。 301 Moved Permanently: 请求的资源已经被赋予了一个新的URI。比如请求“www.sun.com”时,返回301,跳转到“www.oracle.c
2015-05-05 22:02:10
347
原创 session和cookie的区别与联系
1.cookie是一种在客户端保存状态的方案,session是在服务器端保存状态的方案; 2.cookie根据过期时间分为2种: 未设置过期时间的称为会话cookie,关闭浏览器就销毁; 设置了过期时间的称为持久cookie,其在到达过期时间的时候销毁。 3.session默认存在服务器的文件里,session的运行依赖于session id,而session id通常保存在
2015-05-05 21:52:40
390
原创 数据库并发机制及事务隔离机制
数据并发的问题: 1.脏读:A事务读取B事务尚未提交的更改数据,并在这个数据的基础上操作。 2.不可重复读:A事务读取了B事务已经提交的更改数据。 3.幻读:A事务读取B事务提交的新增数据。 4.第一类丢失更新:A事务撤销时,把已经提交的B事务的更新数据覆盖了。 5.第二类丢失更新:A事务覆盖B事务已经提交的数据,造成B事务所做操作丢失。
2015-05-05 21:37:39
311
原创 MySQL的存储引擎
1.MyISAM:MySQL最早提供的引擎,分为:静态MyISAM、动态MyISAM和压缩MyISAM三种。 MyISAM引擎不支持事务,行级锁和外键约束的功能。 2.InnoDB:提供了事务、行级锁机制和外键约束的功能。 3.memory(heap):只存在于内存中。使用散列索引,所以存取速度非常快,常用于临时表。 4.archive:只支持select和insert语句,不支持索引。常用
2015-05-05 21:16:24
253
原创 使用Ajax异步上传文件
HTML表单结构:<form id="myForm" enctype="multipart/form-data"> <input type="file" name="myFile" /> <input type="submit" value="提交"></form>通过异步的方式提交表单中的myFile,需要引入“jquery.form.js”:<script src="http:
2015-05-04 15:48:12
279
原创 Java读取Excel
程序默认跳过表头,从第二行数据开始读: public List<String> readMobilesFromExcel(InputStream inputStream) throws Exception { List<String> result = new ArrayList<String>(); POIFSFileSystem inputPoifsFile
2015-04-29 17:01:23
462
原创 校验文件名后缀是否合法
/** * 校验上传的文件类型是否合法 * @param file * @return * @author John * @Date 2015年4月13日 */ private boolean isValidFileExt(MultipartFile file){ String[] extArray = {"doc"
2015-04-29 16:32:36
969
原创 Apache HttpClient 使用
public Map<String,String> post(String url, List<NameValuePair> formParams, String requestEncoding, String responseEncoding) throws Exception{ //返回状态 String httpStatusCode = "";
2015-04-28 10:49:55
391
原创 对象的比较--Comparable接口和Comparator接口的使用
实现对象之间的比较通常有两种办法: 1.实现Comparable接口,这种方法比较简单。因为Comparable接口中只定义了一个方法:compareTo() 使需要比较的对象实现Comparable接口并覆盖compareTo()方法:public class User implements Comparable @Override public int compareTo(Ob
2015-04-27 21:52:48
278
原创 Java简单验证码的生成思路
1.生成四位随机数 2.使用awt中的组件,生成四位数的图像 3.加入一些干扰噪点、干扰线 4.设置content-type为image,将图片以流的方式写入到HttpServletResponse对象中 response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"
2015-04-27 08:43:09
451
原创 HashMap详解
HashMap是一种存储键/值关联的数据结构。 它有3个构造方法:public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + initialC
2015-04-26 01:12:19
323
原创 ArrayList, Vector和LinkedList详解
1.ArrayList, Vector,LinkedList ArrayList和Vector的API基本相同,区别在于ArrayList是非线程安全的,而Vector是线程安全的,而Vector的效率低于ArrayList,因此在不考虑多线程的时候,应当使用ArrayList。 ArrayList是一种可以动态增长和所见的索引序列。其实现是基于动态对象数组,因此,其中的元素之间的物理存储是连续
2015-04-25 23:51:15
560
转载 单例模式在Java中的7种实现
参考文章链接: http://www.blogjava.net/kenzhh/archive/2011/09/02/357824.html1.懒汉模式-非线程安全/** * 懒汉-非线程安全 * * @author John * */public class Singleton1 { //声明静态的实例 private static Singleton1 instan
2015-04-25 16:41:02
364
原创 SQL行列转换实例
1.准备表和测试数据create table trandata ( id int primary key auto_increment, flow_merc_id varchar(255), tran_type varchar(255), tran_amount int);create table trantype ( id int primary key auto_increme
2015-04-24 16:34:11
342
原创 Object类中的方法
为了便于验证,定义一个User实体类如下:public class User { private int id; private String name; private int age; public User(int id, String name, int age) { super(); this.id = id;
2015-04-21 09:05:00
605
原创 通过HttpServletResponse对象,实现图片的流方式显示和文件的流方式下载
1.图片的流方式显示,在controller中创建以下方法:public void showImage(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("image/jpeg"); // 获取图片 File file =
2015-04-20 11:05:54
6276
原创 使用Spring MVC 完成文件的上传
1.表单的结构:<form method="post" action="save.ht" enctype="multipart/form-data"> <input type="file" name="files" /> <input type="file" name="files" /> <input type="file" name="files" /></form>2
2015-04-13 21:26:14
573
原创 Linux命令
1.mv 命令:移动文件或目录 mv ROOT /home/backup(将ROOT目录移动到/home/backup目录下)2.rm 命令:删除文件或目录 rm -rf ROOT* (删除当前目录下,以ROOT开头的文件和目录)3.tail -f logs/catalina.out:查看tomcat的输出日志
2015-04-10 10:02:13
251
原创 解决Redhat默认无法使用sbin目录下命令的问题
新装了RedHat5.8,进入后发现无法使用ifconfig命令。而该命令在/sbin目录下存在。在终端使用/sbin/ifconfig命令能够正常。若要在任何路径都能使用该目录下的命令,则需要启用ROOT权限,把该目录下的命令加入到系统的环境变量里,步骤如下:1.获取ROOT权限,编辑/etc/profile文件。 2.在文件的末尾追加”export PATH=$PATH:/sbin”,然后
2015-04-10 09:56:25
450
原创 Linux 客户机操作系统中安装 VMware Tools
要使用 RPM 在 Linux 客户机操作系统中安装 VMware Tools,请执行以下操作: 1. 确保 Linux 虚拟机已开启。 2. 如果您运行 GUI 界面,则打开一个命令 shell。 3. 在虚拟机菜单中单击 VM,然后单击客户机 > 安装/升级 VMware Tools,然后单击确定。 4. 要创建一个装载点,请运行以下命令: mkdir /mnt
2015-04-10 09:52:38
2447
原创 解决centos虚拟机无法获取ipv4地址的问题
虚拟机用的vmware,开了两台centos虚拟机,联网方式选的bridge。 使用ifconfig命令查看ip地址时,发现只显示了ipv6的地址,没有ipv4的地址。解决办法: 由于我用的笔记本,我怀疑是由于桥接了有线物理网卡导致的,于是在网络连接中将所有的其它虚拟或物理网卡全部禁用,只留下了一个无线网卡。 重启centos虚拟机,发现已经能正常获取ipv4的地址了:
2015-04-10 09:50:52
8880
原创 Centos安装JDK7和Tomcat
一、安装JDK7 1.从Oracle下载JDK7到Centos桌面:jdk-7u71-linux-x64.rpm 2.将其拷贝到/usr目录下: cp ‘/home/shenzhun/Desktop/jdk-7u71-linux-x64.rpm’ /usr/ 3.进入/usr目录,赋予其权限,运行安装: cd /usr chmod 777 jdk-7u71-linux-x64
2015-04-10 09:48:56
293
原创 JAVA校验字符串中的每个字符是否都在GB2312字符集中
需要在服务器端校验前台表单中传来的字符串,是否符合GB2312编码(所有字符都在GB2312字符集)。import java.io.UnsupportedEncodingException;public class EncodingValidationUtil { /** * 校验目标字符串中的字符是否均在GB2312字符集 * @param str * @re
2015-04-10 09:39:47
616
原创 jQuery的each方法中实现continue和break的流控制
// i 对应下标,n对应当前循环的元素$(p).each(function(i,n){ //相当于continue if(i==0) return true; //相当于break if(i==1) return false;});
2015-04-10 09:38:50
264
原创 RedHat使其终端支持中文
RedHat使其终端支持中文,以便创建中文目录或文件。 在/etc/profile文件中追加: export LC_ALL=”zh_CN.GB18030” 运行:source /etc/profile使其生效
2015-04-10 09:38:39
367
原创 Linux Shell 替换
for l in `find /disk/mercInfoPicUpload/*/*_6_*.jpg`;do mv $l `echo $l |sed s/_6_/_5_/g`;done将/disk/mercInfoPicUpload及子目录下形如”_6_.jpg”的文件,并将”6“替换为”5“。
2015-04-10 09:37:33
261
原创 使用HTML5的<vedio>标签插入视频,兼容主流浏览器
1.在头部引入js文件如下:<script src="http://api.html5media.info/1.1.4/html5media.min.js"></script>注意:只把js下载到本地服务器目录,然后修改为本地服务器的引用路径是不行的,因为该js文件中还引用了远程服务器上的其它资源。2.在正文里引入如下标签:<video id="video_1" src="video/qrcode.
2015-04-03 09:54:04
930
原创 Calendar类的使用,待完善
使用Calendar类可以很方便的定位到历史或将来的某个日期: 简单演示如下: String startDate = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); //在
2015-04-01 17:49:12
287
原创 sitemesh的使用步骤
sitemesh的使用步骤: 1.添加 Library File:将sitemesh-xxxx.jar导入到WEB-INF/lib中。 2.添加 SiteMesh Filter:配置WEB-INF/web.xml文件,将下面的配置加入到web.xml文件中的web-app标签中。<filter> <filter-name>sitemesh</filter-name> <filter-cl
2015-03-28 18:42:46
259
原创 slf4j与log4j的配置和使用
使用maven管理项目时,在pom.xml中加入slf4j和log4j的jar包依赖: <!-- Logging configuration: start --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId>
2015-03-28 18:13:44
365
原创 Eclipse中创建基于Maven管理的web项目
在eclipse中创建新的maven project;模版选择“maven-archetype-webapp“; 配置build path,删除miss的项, 并重新创建src package如下: 配置Build Path中各个src文件夹的output目录: 在项目上右键点击properties,选择项目对应的JDK版本: 在项目上点右键,Maven–>Update projects
2015-03-28 17:56:39
224
空空如也
请教关于mysql数据库字段枚举类型的问题
2013-04-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人