自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java字符串拼接效率分析

关于字符串处理在Java中通常有三个类进行处理:StringStringBuilderStringBuffer这三个类进行字符串拼接,StringBuilder和StringBuffer都有同样的方式,都拥有append()方法.而StringBuilder和StringBuffer不同之处在于,在做一次append操作的时候,StringBuffer是线程安全的(仅仅是在一次操作)。...

2015-01-07 19:31:01 171

原创 JVM内存模型及垃圾回收机制

JVM内存模型1、栈Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。存储局部变量、引用、方法、返回值等。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。2、堆Java中堆是由所有的线程共享的一块内存区域,堆用来保存各种JAVA对象,比如数组,线程对象等。 2.1堆...

2014-11-19 11:36:17 132

原创 Ibatis代码自动生成器

 根据sql语句生成对应的dao,以及ibatis文件。 代码地址https://github.com/qq54903099/ibatis-dalgen

2014-11-12 13:43:43 247

原创 关于Integer比较的小问题

关于Integer比较的小问题 Integer a = 1;Integer b = 1; Integer c = 127;Integer d = 127; Integer e = 128;Integer f = 128;  System.out.println(a==b);System.out.println(c==d);System.ou...

2014-11-06 09:35:24 126

原创 Solr集群配置(Master-slave)

现在使用Master-Slave的放方式配置Solr的集群,Master用来创建索引,Slave从Master复制索引。 Mater-solrConfig.xml 写道<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="master"> <s...

2014-09-22 15:58:34 177

原创 页面下载

主要通过_response将byte[]输出到前端。_response.setHeader("Content-disposition","attachment; filename="+dateFrom+"_"+type+(StringUtil.isEmpty(subType)?"":"_"+subType)+".xls");//filename是下载的xls的名,建议最好用英文 

2014-09-16 14:08:37 103

原创 Tomcat请求流程讲解

这周部门同事要求我来进行分享一下Tomcat,我也在空余的时间对Tomcat的源码进行了阅读。 最初拿到这样一个事情,我也是比较头疼的,找不到着手点进行讲解。后来在网上查询了一些资料,对Tomcat的整体架构也有了一点了解。于是我开始着手于对Tomcat源码跟踪。 Tomcat整体是由多个组件组成,最顶层的组件是Server,一个Server代表着一个JVM实例,由Server...

2014-08-22 17:46:00 116

原创 Quartz+Spring集群配置(转)

概述 虽然单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如可伸缩性、高可靠性满足。假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了。使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的 Job 得到执行。 Quartz 中集群如何工作 一个 Quartz 集群...

2014-08-16 10:02:51 96

原创 Java中几个容易忽略的问题

1.数组转换成list 将数组转成成List一般使用Arrays.asList()这个方法。List<String> staticList = Arrays.asList(strArray);查看源代码可以看到,这里生成的List是Arrays的内部静态类,这个List继承了了AbstractList,但有一些方法没有实现。比如add,delete方法。所以这里直接生...

2014-08-14 09:24:09 170

原创 Java线程状态转换图

 Java线程一共有七个状态,分别是新建,可运行,运行中,睡眠,阻塞,等待,死亡。 

2014-08-13 13:28:08 120

原创 怎样对带有不可序列化属性的Java对象进行序列化 (转载)

出于很多原因我们想使用自定义的序列化方法取代Java默认的机制。一个最常见的原因是提高性能,而另一个原因是有时候我们无法使用默认的序列化方法。在这篇文章中,我们具体来讨论怎样通过定制的序列化方法,对一个较大的、带有不可序列化属性的对象进行序列化。下面这段代码定义了一个简单的类。它可以把一个给定的对象序列化到一个指定的文件,或者从相同的文件中把对象反序列化出来。在这片文章中,我将使用这个类进行...

2014-04-29 11:41:37 832 1

原创 关于判断两个对象是否相等的问题

起源面试中面试官问我的一个问题:long l1 = 10Llong l2 = 10L问: l1==l2 是true还是false我毫不犹豫回答true他接着问,为什么?我卡住了,回答不上来。紧接着,Object o1 = new Object() ;Object o2 = new Object() ;问:o1==o2 是true还是false我回答是...

2014-04-03 11:16:35 105

原创 vim E303错误信息解决记录

用VIM打开一个文件时,出现一下错误信息提示:E303: Unable to open swap file for "[No Name]", recovery impossible在命令行模式下执行::help E303输出相关信息如下:Unable to open swap file for "{filename}", recovery impossible Vim was not able t...

2014-03-25 10:02:44 522

原创 计算Java有效代码行数

最近在学习Python,之前也练习过,但时间一长有些东西还是有一点生疏,如果仅仅停留在看的级别上,那么对一门语言的学习也仅仅停留在了解的基础上。今天闲着无聊,便动手写了一个计算Java代码有效行数的这样一个DEMO,里面用到了正则表达式,这个东西w 我现在用起来还是比较吃力的,纵观整个代码不过100行,但确实用了我今天一天的时间。 这个DEMO,不计算空行、单行注释、多行注释,只计算...

2014-03-18 16:18:13 829

原创 java并发编程实践笔记

1, 保证线程安全的三种方法 :a, 不要跨线程访问共享变量b, 使共享变量是 final类型的c, 将共享变量的操作加上同步2, 一开始就将类设计成线程安全的 , 比在后期重新修复它 ,更容易 .3, 编写多线程程序 , 首先保证它是正确的 , 其次再考虑性能 .4, 无状态或只读对象永远是线程安全的 .5, 不要将一个共享变量裸露在多线程环境下 (无同步或不可变性保护 )...

2014-01-10 15:57:34 100

原创 Java NIO系列教程之 Buffer(转)

原文链接     作者:Jakob Jenkov     译者:airu     校对:丁一Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的...

2014-01-02 15:28:19 106

原创 使用python批量转换文件编码方式

在工作中遇到了问题,有一些文件跟现有工程的文件编码方式不同,于是就想到编写代码批量进行转换,刚好,最近再学习python语言,我觉得学好一门语言最好的方式就是实践,所以,决定使用python批量转换文件的编码。 思路就是从一种编码格式转换成另外一种编码。但实际中还是有一种情况,就是在目录中,有些文件是不需要转换的,如果这种时候也统一转换的话,同样会出现乱码,所以这个地方要处理。 ...

2013-12-25 10:48:51 259

原创 使用haproxy做TCP协议负载均衡

之前有使用过Nginx进行tcp负载均衡,但后来发现nginx总是会跟服务端进行断开连接、断开连接的操作,所以选择一下别的代理进行处理。 写这个的时候,我也只是把haproxy运行成功,而且简单测试了一下,具体适不适合自己的系统还有待测试。 1.下载haproxy:http://haproxy.1wt.eu/从主页下载,我使用的是最新版本,haproxy-1.4.24....

2013-11-14 18:41:34 664

原创 Apache+Tomcat+JK集群部署

闲来无事,就把公司的项目拿来进行集群的学习,虽然都是网上找的方法,但是仍然浪费我不少精力,不过当最后看到结果出来的时候,还是有一些欣喜。 所使用软件包括:Apache-http-2.2.5mod_jk.sotomcat 7 1.首先对tomcat进行配置配置内容主要是对tomcat下面conf/server.xml进行修改。如果是在同一个机器进行部署,需要将t...

2013-10-15 10:21:26 147

原创 三种方式生成对象效率对比

对比不同方式生成对象的效率三种方式生成对象:1.通过反射2.通过Cglib里的FastClass3.直接new在每个循环100000000生成对象后,得到的1结果: 15784 ms2结果: 1574 ms3结果: 717ms多次测试之后,结果没有很大差别,由此可见new的速度是FastClass的两倍,FastClass是反射速度的十倍。  ...

2013-10-09 10:07:08 370

原创 事件驱动模型

 下面简单说下观察者模式是个什么。所谓“观察者”,就是观众,围观群众。但只有围观群众还构不成观察者模式,还需要有“被观察者”。观察者模式由“被观察者”和“观察者”共同构成。一个“被观察者”可能会有0到n个“观察者”。    在我们社区中“被观察者”可以是“博客”、“用户”、“组件设计”、“讨论”、“留言”等等。“观察者”则是“积分”、“动态”、“邮件”、“站内信”、“短信”等等。举个例子:当用...

2013-09-26 19:35:57 70

原创 阻塞与非阻塞,同步与异步

socket阻塞与非阻塞,同步与异步作者:huangguisu 1. 概念理解      在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如...

2013-09-26 09:40:46 118

原创 Maven 环境快速搭建二(eclipse+maven2+jetty)(转)

本文更新一个命令。第一节中提示创建一个项目用archetype:create  create是个被废弃或不被推荐使用的插件,在以后创建项目中请尽量使用archetype:generate创建一个项目,如下:mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com....

2013-09-18 14:06:15 80

原创 maven环境快速搭建(转)

最近,开发中要用到maven,所以对maven进行了简单的学习。因为有个maven高手在身边,所以,很快就上手了,我这里算是自我总结吧。关于maven是什么东东,请参考其它文章。----------------准备工作-------------Jdk  1.5以上java开发环境。Eclipse IDE 一个。Maven 3.0.3下载地址: http://maven.apach...

2013-09-18 14:05:10 74

原创 使用Miglayout布局实例

上个星期使用java swing做一个客户端界面。 对于我来说,做swing界面最难的就是布局了,很多时候不知道使用哪种布局方式。本来想要使用NetBeans的图形化进行布局,但还是觉得不是特别靠谱。在网上搜索了之后,发现有一个开源的布局方式miglayout,在学习了几天之后,觉得感觉很好。下面我把我做的界面和源码贴给大家。共同学习,共同进步。    ...

2013-09-16 13:29:56 1441

原创 Java Swing 滚动条自动到底端

一句话就搞定。(垂直滑动条)ta_frameArea.setCaretPosition(ta_frameArea.getText().length()); 

2013-09-14 17:09:42 297

原创 java swing MigLayout 布局管理

1. MigLayout 初始化的两种方法:MigLayout l = new MigLayout();MigLayout l = new MigLayout("","",""); 主要使用的是以上两种构造函数,第一种无参的就不用介绍了,主要是第二种。 第一个参数可以使用以下语句:wrap + 数字:指定默认在第几个组件后进行换行,如: wrap 2 表示在第二个组件后进行分...

2013-09-09 19:42:09 280

原创 VIM学习笔记

前面一段时间,用了几天的时间,又深入使用了VIM(不仅仅停留在h,j,k,l),下面是一些常用的操作。 2013年8月21日------------------------------------------------------------<Ctrl-v> <Ctrl-d> 在可视化模式下选择到尾部;<Ctrl-a> 将光标放在一个数...

2013-09-03 15:38:29 122

原创 Eclipse里使用javassist实例

这两天比较无聊,随便找点东西进行学习。目标就瞄准了javassist。关于javassist的介绍google一下,这里也不介绍了。 对于某一个类,直接在编译好的.class文件插入一些内容。 比如:package test.param;public class Screen { public void draw(int i , int j){ ...

2013-08-30 15:25:07 216

原创 It is indirectly referenced from required .class file 错误解决方法

今天在导入一个项目时出现It is indirectly referenced from required .class file 的错误,查了一下网,都说是 错误提示: It is indirectly referenced from required .class file 错误的解决原因:你正要使用的类调用了另一个类,而这个类又调用了其他类,这种关系可能会有好多层。而在这个调用...

2013-08-30 14:21:31 115

原创 Linux脚本循环输出传入参数

问题如下:根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3......我有一个循环变量i$i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数就是$($i)的意思来取到第几个参数,当然$($i)是不好用的。第一种方法:#!/bin/shNUMBER=$#echo $NUMBERi=1while [ $i -...

2013-08-09 08:37:55 817 1

原创 关于HashMap在多线程下的使用

最近在做项目的压力测试,测试的过程中,问题多多呀,基本上都是多线程共享数据引发的问题。 在测试的过程中发现程序运行一段时间,就会出现CPU使用100%的情况,每次程序重启之后,又会恢复原貌。通过程序中的一个超时机制得知,程序会停在某一处代码中,这块代码是从map里获得数据,由于map里有数据放入,也有数据移除,导致从map的get方法会死循环。通过网上了解,HashMap不是线程安全的,...

2013-08-02 18:46:41 196

原创 程序员,你会问问题吗?

在工作和生活中,总是会有很多人问题我很多技术方面的问题。有一些时候,问问题的和答问题的总是会有一些不爽的事情发生。如下面的几种情况:比如:“我的电脑老是蓝屏,怎么办?”,通常这样的问题90%以上的回答是:“重装吧”。这让问问题的人感到很沮丧,但你不能不承认那不是答案。而且有时候让人无法解答,比如:“我的makefiel出错了,你帮我看看我的makfile”,我通常会非反问,报了什么错吗?...

2013-07-18 18:55:43 68

原创 最近学习有感

最近一段时间,由于空闲时间比较多,所以有很多时间供自己分配,利用这些时间,我学习了一些东西,例如hadoop,lucene,memcached. 每学一个新东西,先去了解这个是技术的作用,然后搭建环境,然后运行实例。 在搭建hadoop的时候,用时最多。最开始的时候,我以为最新的都是最好的,所以下载的是最新的hadoop,由于hadoop2.x的资料网上很少,大部分都是hadoo...

2013-07-18 10:34:46 114

原创 Lucene初体验

很不错的一个文章,对于了解lucene很有帮助[url]http://www.cnblogs.com/luxh/archive/2012/06/17/2552792.html[/url]

2013-07-16 14:13:00 87

原创 Lucene第一个实例

闲来无事,学习一下lucene,下面运行一下示例代码。在demo里找到两个java文件,一个是IndexFiles.java,一个是SearchFiles.java.在apache的网站内,是可以看到这两个demo的讲解,我也是看过之后才运行成功。这两个类要先运行IndexFiles.java,然后才运行SearchFiles.java. IndexFiles需要将多份文档建立...

2013-07-16 10:01:25 64

原创 如何确保某一个文件只允许一个线程打开解决办法

最近在做一个数据存储优化。我们之前的模式是插入一定量的数据通过批处理进行存储,两个条件进行批处理,一个是超过批处理设定的最大个数,一个是超过批处理延迟时间,否则有新的数据就放入缓存中。 为了保证数据的完整性,现在要改成,不将数据加入缓存里,而改为存放在本地的.data文件中。 在优化的过程中,遇到了一个问题就是:如何确保一个文件只能由一个线程或程序打开? 在网上查找了一些解

2013-07-09 11:10:57 1844

原创 如何确保某一个文件只允许一个线程打开解决办法

最近在做一个数据存储优化。我们之前的模式是插入一定量的数据通过批处理进行存储,两个条件进行批处理,一个是超过批处理设定的最大个数,一个是超过批处理延迟时间,否则有新的数据就放入缓存中。为了保证数据的完整性,现在要改成,不将数据加入缓存里,而改为存放在本地的.data文件中。在优化的过程中,遇到了一个问题就是:如何确保一个文件只能由一个线程或程序打开?在网上查找了一些解决办法...

2013-07-09 11:09:44 282

原创 在问别人问题前,要知道的东西

仅仅个人观点。问别人问题之前:1.要了解你做什么操作才出现的问题(什么样的情景)。2.你想要什么样的结果(什么样的目的)。3.你为了解决这些问题,都尝试过什么样的解决方法。...

2013-06-09 14:44:33 164

原创 使用netbeans写swing程序真不错

一直都想使用Java做一些界面的小程序,可每次都拜倒在那复杂的界面布局上。现在使用netbeans,只需要拖拽,就可以把界面布局完成,极大添加了工作效率。...

2013-04-24 19:11:42 396

初学自动测试框架安装流程

里面包括python安装,easy_install的安装,已经所需要的lxml,selenium的安装流程

2014-03-24

java版俄罗斯方块

java版的俄罗斯方块,适用于初学者理解面向对象。 编程思路清晰,有助于理解源码

2011-12-11

java版蜘蛛纸牌

思路很清晰的蜘蛛纸牌。初学者,建议看下 对于学习很有帮助,如果有问题,可以qq练习 54903099

2011-12-11

javaScript版的植物大战僵尸

网页版的植物大战僵尸。。 好的资源,快点来下载。仅供学习

2011-12-11

简单的文件加密,供初学者学习

这是一款文件加密,供初学者学习 欢迎大家下载

2010-10-22

空空如也

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

TA关注的人

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