- 博客(82)
- 问答 (1)
- 收藏
- 关注
原创 Java Unsafe类实现任意实例浅克隆
了解java并发包或nio底层的都应该知道Unsafe这个类,如并发包的锁,通过Unsafe#park() 和Unsafe#unPark()来实现线程阻塞和恢复运行的,这个类没有公布源码,但是有很多比较有用的方法,它可以直接操作内存,使用的时候务必要谨慎,不小心可能会造成内存泄漏。实现浅克隆思路为了表述方便,用S代表要克隆的对象,D表示克隆后的对象,SD表示S的内存地址,DD表...
2015-09-01 19:45:14
1479
3
原创 用AtomicStampedReference解决ABA问题
在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如下面的例子:现有一个用单向链表实现的堆栈,栈顶为A,这时线程T1已经知道A....
2015-09-01 19:26:33
306
ubuntu下安装cx_Oracle
Oracle 为 Ubuntu 用户设立了专门的 apt 源服务器,只需要在 /etc/apt/source.list 中添加一行: deb http://oss.oracle.com/debian unstable main non-free 即可。在运行 apt-get update 命令之前,还需要将该源服务器的公钥添加在本地 apt 系统的密钥库中。首先下载公钥...
2009-04-01 14:37:34
327
原创 memcached安装
转自:http://www.oliyo.com/article/15.htm.3.安装libevent tar zxvf libevent-xxx.tar.gz cd libevent-xxx ./configure make make install我下载的1.4.9-stable版本,需要先make clean和make distcle...
2009-03-16 15:49:11
181
原创 用dnsmasq建立dns缓存服务器
近几天很烦,经常开个网页突然转到http://autosearch.gd.vnet.cn/,我恨死电信拉。google一下,找到了这个。最后发现还是je上面的文章,看来je人才何其多也。题外话,我这边google经常打不开,要用ip就可以访问,但百度一直很正常,莫非........电信.......百度.......查看原文:http://ubuntu.group.iteye.co...
2009-03-13 08:54:53
778
原创 开源协议简介BSD、Apache Licence、GPL、LGPL、MIT
当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!最初来自:http://www.sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。参考文献:http://www.fsf.org/licensing/lice...
2008-12-01 17:01:23
143
jsp文件下载,中文文件名
分ie和firefox/oprea不同而不同,红色部分解决编码后空格变+号的问题。[code="java"]String browser = request.getHeader("user-agent"); Pattern pattern = Pattern.compile(".* MSIE.*?;.*"); Matcher matcherAccount = pattern.ma...
2008-11-13 18:59:35
378
Tomcat 安装apr(Apache Portable Runtime)
Tomcat 可以使用 apr(Apache Portable Runtime) 来提供更好的伸缩性、性能和集成到本地服务器技术.linux:1.安装依赖.libapr1-dev libssl-dev2.安装 apr apr-util,./configure && make && make install3.安装tomcat-native, cd jni/native && ./c...
2008-11-01 11:31:11
206
grails配合mysql的中文乱码问题
问题描述:客户端提交的中文能正确的回显在浏览器上,但写入mysql数据库乱码,之后读取也乱码.问题原因:mysql编码问题,mysql默认编码为latin1,需要修改为utf-8解决方案:停止mysql服务,修改mysql配置文件(linux下为/etc/mysql/my.cnf, windows下为安装目录下my.ini),在[client]和[mysqld]下各添加default-ch...
2008-10-31 09:43:33
159
原创 Fcitx输入法不能2键选字的毛病竟然解决了
多少年了,终于解决了!!!虽然是个问题,但竟然可以解决!!!仅限Linux,并且在Linux上输入中文,并且使用这个小企鹅输入法(Fcitx)的。以下来自newsmth:发信人: disrupt (早乙女乱马), 信区: LinuxApp标 题: fcitx的2键选字发信站: 水木社区 (Tue Jun 17 21:45:52 2008 ), 站内算...
2008-10-22 16:06:49
276
原创 输入法下keyup失效的解决方案
来源:Realazy 作者:Realazy在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup, 如果世界是美好的,那么就不会有这篇blog. 可是……世界是不美好的。我们活在中文世界,我们要用输入法。在输入法开启的情况下,您会碰到不美好的事情:keyup失效。对于您绑定到keyup的任...
2008-10-22 12:31:11
2128
ui.datepicker clone后不能显示日历组件
问题描述:使用ui.datepicker日历组件,在源节点上正常显示,在clone(true)的目的节点提示"inst is undefined"问题原因:ui.datepicker使用id标志被添加日历控件的节点,此时节点id="dp1224231616319",克隆后id保持到了目的节点解决方案:在给源节点添加日历控件之前clone或clone后清除id属性再为目的节点添加日历控件...
2008-10-17 16:47:09
186
jquery.validate.js ie "不支持此方法"
问题描述:jquery.validate.js表单验证,ie提示"不支持"validate方法问题原因:代码解码错误,js内出现乱码解决方案:[code="javascript"][/code]
2008-10-17 16:37:34
402
原创 调整Linux磁盘分区大小
在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发现, /usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G. 空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是...
2008-10-14 14:16:47
1195
原创 NTFS分区转换成EXT3分区格式
以E盘为例,在Linux下对应于/dev/hda6,操作步骤如下: 1、先将/dev/hda6给卸载掉(sudo umount /dev/hda6 ) 2、用fdisk转换分区格式,改为83 sudo fdisk /dev/hdaCommand (m for help): m (这里有m可以看一下各个参数的意思)Command act...
2008-10-14 14:15:49
878
Struts2中的collection验证
Struts2提供了Collection的转换器,可以直接把页面传递过来的参数转换成List Set类型,使用这个转换器能为我们节省不少手指运动量,但Collection的验证就成了一个问题.google之后,找到了这个资料[url=http://www.iteye.com/topic/176026]webwork数组形式提交表单及validation研究[/url].但文中的collection...
2008-09-30 10:18:46
179
原创 解決 vmware-server 無法啟動問題
$ vmware-server-console/usr/lib/vmware-server-console/bin/vmware-server-console: /usr/lib/vmware-server-console/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib32/l...
2008-08-30 16:21:33
150
sudo dpkg -i --force-architecture(64位安装32位文件)
sudo dpkg -i --force-architecture (64位安装32位文件)
2008-07-28 09:18:26
1016
原创 为Ajax的XMLHttpRequest提供对象池(模仿Apache中ObjectPool的实现)
在网上看到了有些同志提到了为Ajax的XMLHttpRequest提供一个对象池,也读了他们给出的实现代码。感觉不是特别理想,于是模仿apache的commons中的ObjectPool的思路写了一个简单的JavaScript版。望指教:function ObjectPool(poolableObjectFactory) { this ._poolableObjectFac...
2008-07-12 17:13:40
171
原创 Tomcat 服务器server.xml的关键参数配置
说明:以下文字均以tomcat5.0.30为例进行。1,配置tomcat服务器访问端口,只需配置Connector的port端口即可。Tomcat默认为8080,现修改port参数值为80。 2,配置tomcat支持URL中文参数,只需添加Connector的URIEncoding参数即可,默认情况下该参数未被配置。要支持URL参数支持中文,加上U...
2008-07-12 17:12:20
125
原创 Tomcat配置文件server.xml中常用元素简介
Tomcat配置文件server.xml中常用元素简介● Server ○ port 指定一个端口,这个端口负责监听关闭tomcat的请求 ○ shutdown 指定向端口发送的命令字符串● Service ○ name 指定service的名字● Connector (表示客户端和service之间的连接) ○ port 指定服务器端要创建的端口号,并在这个断...
2008-07-12 17:11:41
129
原创 Tomcat启动分析server.xml
Tomcat Server的结构图 该文件描述了如何启动Tomcat Server<Server> <Listener /> <GlobaNamingResources> </GlobaNamingResources <Service> <...
2008-07-12 17:10:42
317
jstl判断object类型的偷懒办法
最好的办法是自定义标签,不过复杂一点。我这个办法只推荐给懒人。利用了object.class和jstl的自动转换类型。如果System.out.println(obj.getClass())打印的不是那个格式,改过去即可。...
2008-07-08 09:36:28
376
关于hibernate的缓存使用
摘自http://blog.youkuaiyun.com/woshichenxu/archive/2006/01/22/586361.aspx1. 关于hibernate缓存的问题:1.1.1. 基本的缓存原理Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。 第二级是由sessionFactory控制的进程级...
2008-04-16 16:42:46
84
Hibernate性能调优(摘自城市胡同)
一、inverse = ? inverse=false(default) 用于单向one-to-many关联 parent.getChildren().add(child) // insert child parent.getChild...
2008-04-11 09:23:55
171
join和union(摘自csdn)
[quote]1.交集 Inner Join, 等价于select * from a b where a.id=b.id ,*表示a.*,b.*,一笔纪录你可以取出a,b的栏位 left join 或right join 可以表示差集 ,一笔纪录你可以取出a,b的栏位 full join才是表示并集...
2008-04-09 10:12:39
113
Hibernate的Lifecycle Validatable 和 Interceptor
Lifecycle接口包含4个方法:[code="java"] public boolean onSave(Session s) throws CallbackException; public boolean onUpdate(Session s) throws CallbackException; public boolean onDelete(Sessi...
2008-03-20 17:27:29
157
Ubuntu下安装oracle和java字体配置
安装Java及中文字体,解决Java的乱码问题,还有安装oracle 10g我这里都是直接从源里安装,比较方便,适合我这样的懒人,先安装Java,我是直接安装jdk sudo apt-get install sun-java6-jdk 安装好之后,设置环境变量! sudo vim /etc/environment JAVA_HOME="/usr/...
2008-03-15 08:22:39
156
Ubuntu 下 VirtualBox 安装及网络配制(同事的blog,拿来备份)
Host interface模式 vim /soft/tap0.sh sysctl -w net.ipv4.ip_forward=1 sleep 1 iptables -t nat -A POSTROUTING -j MASQUERADE sleep 1 VBoxTunctl -b -u jacker -t tap0 i...
2008-03-14 15:59:56
156
ubuntu下用samba实现windows与linux文件共享(同事的blog,拿来备份)
首先要安装sambasudo apt-get install sambasudo apt-get install smbfs1.windows 访问 ubuntu下面我们来共享群组可读写文件夹,A: 可匿名访问,只有读取权限 /home/shareB: 授权用户可访问,且可读写 /home/mes首先创建这个两个文件夹代码:mkd...
2008-03-14 15:57:47
313
Ubuntu 下安装网络打印机(同事的blog,拿来备份)
先安装cupsys,再安装打印机管理程式,及打印机驱动程式 sudo apt-get install cupsys gnome-cups-manager cupsys-driver-gimpprint 运行打印机管理程式,添加新的打印机 gnome-cups-manager #也可直接运行gnome-cups-add 来增加新的打印机 先择新增,再选网络打...
2008-03-14 15:56:54
190
Ubuntu 网络配制方法(同事的blog,拿来备份.)
/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.1. 以DHCP方式配置网卡编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network in...
2008-03-14 15:54:51
1970
wine模拟完美世界
一.安装 wine 和 cabextract1. 终端下:sudo gedit /etc/apt/sources.list添加源:deb http://us.archive.ubuntu.com/ubuntu feisty universedeb http://wine.budgetdedicated.com/apt feisty main2.终端下:sudo apt-...
2008-03-14 15:46:21
319
Ubuntu硬盘安装
ubuntu安裝流程1.把ubuntu-7.10-alternate-i386.iso、initrd.gz、vmlinuz放到硬盤分區上(比如:e盤)。2.解壓grub4dos到c盤,修改boot.ini,添加一行c:\grldr=Grub,重啟。3.操作系統選擇菜單選擇Grub,按c進入命令模式。4.輸入 find ubuntu-7.10-alternate-i386.iso查找...
2008-03-14 15:37:56
111
Annotation学习笔记
Annotation是继承自[b]java.lang.annotation.Annotation[/b]的类,用于向程序分析工具或虚拟机提供package class field methed 等方面的信息,它和其他类没什么区别,除了使用方式. Annotation的一般形式是 :[code="java"]public @interface MyAnnotation {...
2008-03-14 15:00:57
106
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(十)
菜单条 翻译:tellmenow菜单条控件是在Pocket PC 2000中开始引入的。从外观上看,菜单条同命令条的不同之处在于它是位于窗口底部而不是顶部。但是,对程序员来说,菜单条有许多不同的编程接口。因为Pocket PC的流行以及OEM厂商希望能够创建同Pocket PC软件兼容的嵌入式系统,所以从Windows CE.NET 4.2开始,现在菜单条同Windows CE的嵌入式版本一...
2006-06-25 14:11:00
147
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(九)
处理命令带消息 翻译:tellmenow同起命令条相比,命令带控件需要更多一些维护。差别在于,命令带控件可以改变高度,这样就要求包含命令带控件的窗口必须监视控件,并且在控件尺寸变化时重新绘制窗口,很可能还要格式化其客户区。当用户重新排列控件的时候,命令带控件会发送许多不同的WM_NOTIFY消息。为了监控控件高度,应用程序需要检查RBN_HEIGHCHANGE通知消息并做相应回应。下面的代码演...
2006-04-21 00:59:00
101
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(八)
保存带区布局 翻译:tellmenow命令带控件的可配置能力给程序员带来一个问题。用户重新排列带区后,希望定制的布局在应用程序下一次启动的时候能够恢复。通过使用下面的函数,可以轻易的达到目的:BOOL CommandBans_GetRestoreInformation (HWND hwndCmdBands, UINT uBand, LPCOMMANDBANDSRESTOREINFO pcbr);该...
2006-04-17 00:38:00
84
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(七)
配置单独带区 翻译:tellmenow进行到这里时,命令带控件已经创建,单独单区已经加到控件中了。接下来我们有更多的任务要做,就是去配置每个带区中单独的命令条控件。(实际上,配置命令条控件比起前面讲述的命令条要略微复杂一些。)可以使用下面的函数来获取带区中的命令条句柄:HWND CommandBands_GetCommandBar (HWND hwndCmdBands, UINT uBand)...
2006-04-13 01:47:00
96
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(六)
增加带区 翻译:tellmenowREBARBANDINFO结构用来描述控件中的每个带区,通过给CommamndBands_AddBands函数传递一个REBARBANDINFO结构数组,可以给应用程序添加带区。CommandBands_AddBands函数原型如下:BOOL CommandBands_AddBands (HWND hWndCmdBands, HINSTANCE hinst, UI...
2006-04-02 03:57:00
95
空空如也
Hibernate
2008-06-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人