- 博客(104)
- 收藏
- 关注
原创 对LinkageError的分析
同事开发时遇到些类加载的问题,在协助他fix的时候,自己也对类加载相关知识有了更深的理解。现在回顾总结下。环境:运行在OSGI环境中代码如下(需注意:我们自定义的ReviceContractPayInfo_Service 继承了rt.jar中javax.xml.ws.Service这个类):import java.net.MalformedURLException;import ja
2015-01-06 15:06:37
1244
1
转载 读取Java文件到byte数组的三种方式
原文链接:读取java文件到byte数组的三种方式Java代码 import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import jav
2014-12-17 12:27:43
640
原创 request.getInputstrem方法的注意点
读取一次后,流已经被读完,且不能reset,如需多次读取,需手动的缓存http://ayaoxinchao.iteye.com/blog/2110902 《request.getInputStream()只能获取一次的问题》From what I've read by Googling, any of the following methods will render ge
2014-12-03 20:10:06
389
转载 Eclipse OSGI如何用Fragment的类覆盖掉Host Plugin里的类
链接:http://blog.sina.com.cn/s/blog_7f9b8c510101d4hs.html有这样一个需求,希望用Fragment增强现有Plugin的功能,但是Eclipse的OSGI classloader是优先加载Host Plugin的,但我又不想修改classloader。查了一下,有一个比较Tricky的方法,记录一下: 1.在Fragment项目中编写同
2014-03-19 13:28:33
1011
原创 关于OSGI模块化编程中MENIFEST.MF文件中的Required Plug-ins和Imported Packages的区别
最近在做一个“把OSIG上的bundle结构的工程打成标准的war包来在各中间件上发布”的工作,给了自己一个了解OSGI底层源码的机会。过程中也发现了许多之前开发时没注意的小问题,譬如这个Dependencise中的Required Plug-ins和Imported Packages的区别,网上搜集了些资料,总结到这里吧:参考自:http://blog.sina.com.cn/s/blo
2014-03-17 09:57:32
1157
转载 程序员的“横向发展”
转载于:http://blog.sae.sina.com.cn/archives/2436在我小的时候,家长经常对胖孩子打趣说:哟,身体长得挺快,可惜就是横向发展了。看来在很多人的潜意识里,纵向发展是向上的,值得夸奖,横向发展则不是那么光彩的事情。但是我的工作经历和思考,却让我对“横向发展”有了新的认识。程序员的发展,长期以来都是大家关心的问题。通常程序员的发展有两大方向,深度
2014-01-14 23:41:56
537
原创 eclipse远程调试
关于使用eclipse进行远程调试的介绍http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/ 两步:1、启动windows(linux中也相同)服务端时加上远程调试参数: -server -Xdebug -Xnoagent -Djava.compiler=NONE-Xrunjdwp:transpo
2014-01-02 00:29:14
412
原创 git学习小计(六):git重置reset、git检出checkout
git reflog show branch : 显示branch分支的commit历史git reflog show branch | head -n 显示branch分支最近n次的commit历史git reflog 默认将最新的改变放在最前面显示,且只显示每次改变的SHA1值的前7位。下面着重介绍reset命令用法一: git reset [] [--] 用
2013-12-29 23:43:54
2736
转载 git学习小计(五):log的几种常见参数
git log是查看git历史的好工具,不过默认的格式并不是特别的直观。很多时候想要更简便的输出更多或者更少的信息,这里列出几个git log的format。可以根据自己的需要定制。git log命令可一接受一个--pretty选项,来确定输出的格式.如果我们只想输出hash.git log --pretty=format:"%h" git用各
2013-12-26 23:13:41
569
转载 git学习小计(四):对象模型
git中会经常出现40位的十六进制数字。所有用来表示项目历史信息的文件,都是通过这些40个字符的“对象名”key(譬如:6ff87c4664981e4397625791c8ea3bbb5f2279a3)来索引的,即key-value对。每一个“对象名”都是对“对象”内容作SHA1哈希计算得来的。(哈希hash是一种数据摘要算法,或称散列算法,目前应用最广泛的hash算法有MD5和SHA1,SH
2013-12-26 22:19:36
564
转载 git学习小计(三):git diff
在了解了git中的工作区、暂存区、版本库的概念后,git diff命令就容易理解了,git diff会根据不同的参数,对工作区、暂存区和HEAD版本库进行两两比较。1、git diff:工作区和暂存区比较2、git diff --cached:暂存区和HEAD比较3、git diff HEAD:工作区和HEAD比较
2013-12-23 17:56:27
4114
1
原创 git学习小计(二):常用命令、index暂存区
这篇博文大量引用了如下地址的内容:http://www.worldhello.net/2010/11/30/2166.htmlhttp://gitbook.liuhui998.com/index.htmlgit常用命令总结:1、别名git config --global alias.st statusgit config --global alias.ci
2013-12-23 17:07:59
784
原创 SSH简介及公钥、私钥的基本概念
在学习git的过程中接触到了SSH的概念,于是到处google了一下,算是基本明白了概念吧。抱着知识共享的原则以及于己于人皆有益处的事实,根据网上的资料按着自己的理解把这些知识点的原理概念再总结一遍。首先介绍SSH,wikipedia的介绍如下:SSH为一项创建在应用层和传输层基础上的安全协议。最早的时候,互联网通信都是明文通信,一但被截获,内容就暴露无遗,之后在1995年,芬兰学者Tat
2013-12-19 22:47:35
4451
原创 git学习小计(一)
工作需要从SVN迁移到Git上来,之前已经无数次听说Git的强大了,但不深入了解学习,别人眼中的无比强大在我看来只能是雾里看花,抓不到精髓,所以从今天开始认真的学习分析下git的使用,分享点自己学习过程中的小心得。先来看看Linus特别推崇的diff和patch。这两个工具并不是Git中独有的,甚至远远早于Git。1、用diff命令比较两个文件或目录的差异现在有两个文件
2013-12-17 23:55:06
520
转载 Collections.sort() 对 List 排序
排序的算法是我们最常用的算法,初学程序,每个人都尝试过排序。但只是局限于简单的排序。]如将下列数字进行排序1,3,5,8,3,6于是我们得出结果1,3,3,5,6,8将下列字母(字符)进行排序a,i,e,f,w,s于是我们得出结果a,e,f,i,s,w 但是我们实际遇到的情况就不是如此简单了。如给公司里的商品进行排序,我们很轻易的想到按照商品的名称排序不就完了
2013-10-29 16:34:14
1234
转载 Java 面试题问与答:编译时与运行时(加精+强推)
(转自:http://www.importnew.com/1796.html)在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?public class ConstantFolding {
2013-10-19 23:44:07
598
原创 java压缩文件夹
import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.
2013-10-18 17:50:54
497
原创 java不解压直接读取压缩包中文件内容
public String readZipFile(String file) throws Exception { ZipFile zipFile = null; ZipInputStream zin = null; InputStream in = null; StringBuffer sbf = null; try { zipFile = new ZipFile(file);
2013-10-18 17:06:43
2636
原创 java删除文件夹及子文件
/** * 删除文件 * * @param file 要删除的文件 */public static void deleteFile(File file){ if(!file.exists()) { return; } else { if(!file.isDirectory()) file.delete(); else{ File[] files = file
2013-10-18 16:43:48
553
原创 java解压缩zip包
package com.qimiguang.common;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputS
2013-10-18 15:54:16
505
转载 深入Java虚拟机JVM类加载初始化学习笔记
1. Classloader的作用,概括来说就是将编译后的class装载、加载到机器内存中,为了以后的程序的执行提供前提条件。2. 一段程序引发的思考:风中叶老师在他的视频中给了我们一段程序,号称是世界上所有的Java程序员都会犯的错误。诡异代码如下:class Singleton { public static Singleton singleto
2013-10-18 14:55:17
507
原创 关于Test.class和new Test().getClass()的区别
package com.qimiguang.common;import java.lang.reflect.Method;import java.math.BigDecimal;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class TestClass { publ
2013-10-18 11:18:47
506
转载 java初始化顺序分析
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器。package com.jiuqi.dna.bap.log.common;public class TestInit { // 静态变量 public static String staticField = "静态变量"; // 变量 public
2013-10-17 17:50:54
457
转载 java中Class.forName()的分析
Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pac
2013-10-17 15:08:29
549
原创 java读取excel的两种方法(jxl、poi)
jxl实现:public static void readExcelContent(File file) { Workbook book = null; Sheet[] sheets = null; StringBuffer sbf = new StringBuffer(); StringBuffer sBuffer = new StringBuffer(); try { b
2013-10-14 15:35:53
793
转载 网站性能分析
1.用户视角的网站性能从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度快还是慢。用户感受到的时间,包括用户计算机和网站服务器通信的时间、网站服务器处理的时间、用户计算机浏览器构造请求解析响应数据的时间,如图1所示。图1 用户视角的网站性能不同计算机的性能差异,不同浏览器解析HTML速度的差异,不同网络运营商提供的互联网宽带服务的差异,这些差异最终导致用户感受到
2013-09-28 22:27:02
628
转载 关于随机读取流
JAVA操作大数据量的文件利用FileReader的会把所有的内容加载到内存中,因此没有意义。如果要使用BIO,建议使用java.io.RandomAccessFile来做,读取部分信息。如果要使用NIO,建议使用java.nio.channels.FileChannel,使用虚拟内存来Mapping大文件。有如下情况下可以用到内存文件映射技术解决问题: 1.不要复制文件中所有的数
2013-09-27 09:25:29
451
转载 多线程的一些总结
多线程的使用一定要慎用,使用多个线程来处理多任务的时候,效率肯定是有提高的,要不也不会有多线程这种东西存在了。但是对硬盘的读写有特殊的地方。对磁盘进行多线程处理的时候,效率会急速下降!!!因为不同文件的读写,会造成磁头的频繁转换,磁头的频繁转换要比读取磁盘的时间更长。所以这种情况下,最好有个线程去读取文件,其他的线程去处理文件数据中的业务逻辑处理
2013-09-25 11:38:03
359
原创 获取目录下所有文件的总大小
// 返回大小以MB为单位private static double getSize(File file) { if (file.isFile()) { return (double) file.length() / 1024 / 1024; } else if (file.isDirectory()) { long totalSize = 0; File[] listFile
2013-09-12 11:33:49
525
原创 eclipse中Program arguments和VM arguments的区别
arguments和VM arguments的区别 eclispse" title="program arguments和VM arguments的区别 eclispse">如上图所示(上图是通过Run Configurations打开的,实际也可以通过Debug Configurations打开Debug的配置界面)Arguments下面有两个代码编辑区,Program argume
2013-09-11 12:29:04
4428
1
转载 js中children和childNodes的区别
.children is a property of an Element. Only Elements have children, and these children are all of type Element(元素节点).However .childNodes is a property of Node. .childNodes can contain any
2013-08-30 10:03:22
750
转载 Javascript设置和获取Textarea的光标位置的方法
html>head> meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> title>JS设置及获取Textarea的光标位置title> script>
2013-08-28 22:19:56
856
转载 获取TextArea光标位置
在任何编辑器中,获取光标位置都是非常重要的,很多人可能认为较难,其实只要处理好浏览器的兼容,还是比较容易实现的。下面我们一起来看看如何获取到 Textarea 元素中的光标位置(测试地址)。首先,我们用 rangeData 对象作为数据存储,并获得焦点:var rangeData = {start: 0, end: 0, text: "" };textarea.focus()
2013-08-28 21:59:45
2044
转载 DOM中nodeName、nodeValue 及 nodeType的说明
nodeNamenodeName 属性含有某个节点的名称。元素(element)节点的 nodeName 是标签名称属性(attribute)节点的 nodeName 是属性名称文本(text)节点的 nodeName 永远是 #text文档(document)节点的 nodeName 永远是 #document注:浏览器兼容性问题,某些浏览器中的nodeName是大写,有
2013-08-27 16:47:25
436
原创 Java中通过正则表达式判断是否为合法的url地址
String regex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" ;Pattern patt = Pattern. compile(regex );Matcher matcher = patt.matcher( this .getURL());boolean isMatch
2013-08-27 16:19:38
14433
1
转载 常用正则表达式大全
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r
2013-08-27 13:55:27
483
原创 document中Selection、Range的介绍
Selection对象: 代表窗口或窗格中的当前所选内容。所选内容代表文档中选定(或突出显示)的区域,如果文档中没有选定任何内容,则代表插入点。每个文档窗格只能有一个 Selection 对象,并且在整个应用程序中只能有一个活动的 Selection 对象。 Text 属性是 Selection 对象的默认属性。使用此属性可设置或返回当前所选内容中的文本。 由于 Range 对象与
2013-08-26 16:55:39
583
转载 innerHTML、innerText和outerHTML、outerText的区别
1、区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTMLouterHTML 设置或获取对象及其内容的 HTML 形式innerText 设置或获取位于对象起始和结束标签内的文本outerText 设置(包括标签)或获取(不包括标签)对象的文本innerText和outerText在获取时是相同效果,但在设置时,innerText仅设置标签内
2013-08-26 14:20:10
389
转载 Eclipse常用快捷键
1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找
2013-08-23 16:32:03
403
原创 Keycode对照表
字母和数字键的键码值(keyCode)按键键码按键键码按键键码按键键码A65J74S83149B66K75T84250C67L76U
2013-08-12 11:07:59
415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人