自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

从死锁问题说起

前几天发生了一个枚举死锁问题,下面分析下,同时将java初始化话进行整理下   一:枚举死锁 问题 在讨论上面这个问题之前,先熟悉下什么情况会触发java类的初始化。 参考jvm规范,java虚拟机实现都必须在类,接口首次被主动使用时进行初始化,那什么情况是主动使用,以下几种情形符合主动使用的要求。  执行以下java指令的时候,new, getstatic, putstatic,...

2013-07-13 16:24:19 141

原创 java 统计文件夹大小

今天群里 有人发了个比赛的题目,就是实现类似linux 下命令 du-c -s 目录名,这样的功能 一、首先看下 这个命令 du是文件和目录磁盘使用的空间的查看 -c为 最后加上总计, -s为显示各档案大小的总和,题目就是 查看目录名下的所占空间的大小 二、来看下 java下是怎么实现的 参考文章为: http://www.java3z.com/cwbwebhome/article/a...

2013-07-06 17:48:17 336

原创 oscache 的问题

一:现象: 系统页面无法打开,数据显示异常 二:原因分析:(代码分析,比较枯燥,请耐心查看)   在使用oscache的时候,为了减轻开发者的负担,同时也让代码具有更好的可读性,我们一般会使用annotation的方式来完成缓存的设值和取值 Code:1   在调用当前方法的时候 会调用annotation拦截器的方法进行拦截,然后将返回值设置到缓存系统并返回。调研系统ann...

2013-06-29 09:42:07 185

原创 java序列化3

上面的java,hessian和fastjson的序列化,说到底还是java内部之间的转换,也就是说序列化和反序列化都必须在java环境中,但是下面要说的apache thrift 和google protobuf和hadoop avro 则是不同语言之间的数据传递。 闲言少叙,具体看下:首先看下他们的哲学理念,也就是说他们为什么产生,是解决什么问题的。咱们公司的编程哲学是统一用java(部...

2013-06-29 09:41:37 158

原创 java序列化2

Java序列化有两个重要的问题,第一个是冗余数据太多,也就是序列化之后的数据量太大,第二个就是序列化的速度慢,因此要搞那么多数据,所以慢,正常来说在java世界中,只要有有缺陷,就会被填上,而正常的任何一个rpc框架都少不了序列化内容的,但是由于mina基本没有做什么优化,默认用的是java序列化,没有比较的意义,因此我们看下hessian怎么做的。Hessian的下载地址: http://h...

2013-06-29 09:40:11 128

java序列化1

前言:    如果仔细的分析网络编程的话,就会发现 这个里面就两件事情,一个是协议,即采用什么协议进行传输。另一个就是序列化,通过什么样的方式共享数据,我序列化的东西对方能够反序列化出来。既然序列化如此重要,那就闲话少说,进入正题,为了看得方便的,我回重点讲解 java序列化,然后在这个基础上讲解改进以及其他的算法等。   --------------------------------...

2013-06-27 09:39:14 96

原创 动态代理的简单分析(2)

下面我们再来看下cglib的实现,首先看下测试类吧,上面已经看到了,主要是实现了MethodInterceptor方法,里面一个主要的类是Enhancer,那我们来看下cglib是怎么生成代理类的。 Cglib主要是这个方法 enhancer.setSuperclass(clz);//设置父类,从这个地方也可以看到cglib是通过子类化来实现代理的     enhancer.setCall...

2013-06-27 09:31:41 76

动态代理的简单分析

动态代理的东东 听起来很牛,用起别人提供的现成的工具,也很方便,比如spring 的事务管理,虽然我们用的是和不是很多,但是真正用的时候,会有一些意想不到的东东出现,本着知其然并知其所以然的原则,我们来看下到底是怎么实现的 下面会研究下 java本身实现的动态代理,cglib实现的动态代理, 其他的比如bcel和javassist实现的,大家可以自己研究下,大同小异 好了,我们开始,本着诚实...

2013-06-27 09:28:21 87

orcale trim 不掉空白字符分享

问题背景: 一个工商注册号,正常的用trim能解决的问题,但是这个case,trim后和肉眼看到的就是不一样就是多了一个字符 分析问题: 为了能问题重现,下面模拟 创造一个12345加上一个特殊字符(假象空白) select concat('123456',chr(9)) as xx  from dual)       1.看看长度 SELECT  length(concat(...

2013-06-27 09:21:49 104

JavaScript null 与0

  得到便利,总是要付出代价的!! 本周遇到一个JavaScript问题,思来想去只能用这句话来总结了。 简单来说,就是将某一个值和0进行比较,但是有些异常情况导致结果怪异,最后发现是在某些情况下那个值有可能是’’,也就是空值,而空值和0在JavaScript中是相等的,这个之前由于研究的不深,不知道这个内容,感觉有些不可思议,就问了下虞青,查了些资料,不敢独享,如果已知,敬请忽略。   ...

2013-06-27 09:11:24 210

原创 设计模式的简单总结

1、单例模式       单例,延迟加载,静态初始化,以及静态holder,还有序列化问题 2、代理模式       静态代理,仅仅是代理某一个接口或者类,动态代理 java动态代理,cglib动态,javassist,asm等的动态代理  aspectj spring中的aop  实现 3、模板方法       spring中的jdbc模板方法,以及平常自己的一些模板方法 4、组合...

2013-06-26 18:33:16 116

独立部署 需要注意的点

独立部署 之前先将所要得到的东西准备好,可以节省很多时间的。 1、手下要将所有的缓存项拿到 2、将所有的bean引用拿到 3、将所有的xml中引用的表名得到 以上可以通过静态代码分析得到,或者直接通过读取java源程序得到         ...

2013-06-24 12:04:04 316

原创 mule的链接

ESB架构之企业实施案例:http://www.infoq.com/cn/articles/esb-enterprises-case 这个也不错blog http://guoshiguan.iteye.com/

2011-07-12 21:18:54 98

mule的消息路由

这个是从infoq载录下的文章,具体链接为http://www.infoq.com/cn/articles/mule-message-routing mule  消息路由的几个概念 端点(Endpoints)定义了发送和接收消息的通道(channel)。例如,一个购物组件可能会接收到一个HTTP订单请求。一旦该组件处理完订单请求,它可能会发送一个 JMS消息到一个主题(topic)上,以通...

2011-07-12 21:13:19 104

今天决定写技术blog 了

1、今天决定写博客了,每天10点回家吧 2、每天一篇,不能懈怠。

2011-07-11 19:15:31 65

每周一点

业界动态2011年智能手机:Android继续闪耀或暗淡?  http://www.iteye.com/wiki/topic/860441Apache HTTP 服务器 2010 年继续高歌猛进! http://www.oschina.net/news/14344/apache-web-server-hit-a-home-run-in-2010美博客评全球15大最智能计算机 http://www....

2011-03-03 14:17:22 88

to_char

TO_CHAR()函数有三种情况,分别是: 1、 TO_CHAR ( nchar | clob | nclob ) 以接受NCHAR, NVARCHAR2, CLOB, NCLOB类型的字符串作为自己的参数,把它们转换成数据库的字符集的字符串。请看下面这个例子: 这个是national 字符集的情况: 这个是clob的情况: 09:59:03...

2010-12-03 09:57:45 76

原创 技术生产

学习的模式 1、在项目中学习 2、随时记录,分门别类的记录 3、要有选择性,指定长期和短期计划 本周计划 javassit 以及visit模式

2010-11-29 14:00:24 83

原创 Java编程 的动态性,第 2部分: 引入反射

反射使您的程序代码能够接入装载到JVM中的类的内部信息,允许您编写与执行时,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是 --如果使用不当,反射的成本很高。在Java平台系列的第2部分中,软件顾问Dennis Sosnoski介绍了如何使用反射,以及某些相关的成本。您还将找到JavaReflection API如何使您能够在运行时关联对象。 在“ Jav...

2010-11-15 21:30:16 66

原创 Java编程 的动态性,第 2部分: 引入反射

反射使您的程序代码能够接入装载到JVM中的类的内部信息,允许您编写与执行时,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是 --如果使用不当,反射的成本很高。在Java平台系列的第2部分中,软件顾问Dennis Sosnoski介绍了如何使用反射,以及某些相关的成本。您还将找到JavaReflection API如何使您能够在运行时关联对象。 在“ Jav...

2010-11-15 21:29:22 63

原创 Java 编程的动态性,第3部分: 应用反射

命令行参数处理是一项令人厌烦的零碎工作,不管您过去已经处理过多少次了,它好像总能重新摆在您的面前。与其一遍又一遍地编写同一块代码的不同变种,为什么不利用反射来简化参数处理的工作呢?Java 顾问 Dennis Sosnoski 向您展示了如何做到这一点。在本文中,Dennis 简明扼要地介绍了一个开源库,这个库可以使得命令行参数实际上自己处理自己。 在 上个月的文章中,我介绍了Java Ref...

2010-11-15 21:28:40 63

原创 Java 编程的动态性, 第四部分: 用 Javassist 进行类转换

厌倦了只能按编写好源代码的方式执行的 Java 类了吗?那么打起精神吧,因为您就要发现如何将编译器编译好的类进行改造的方法了!在本文中,Java 顾问 Dennis Sosnoski 通过介绍字节码操作库 Javassist 将他的 Java 编程的动态性系列带入高潮,Javassist 是广泛使用的 JBoss 应用服务器中加入的面向方面的编程功能的基础。您会看到到用 Javassist 转换现...

2010-11-15 21:27:28 75

原创 马士兵存储过程sql

[code="sql"]这可是我一个字符一个字符的敲上去的,希望对诸位有用。 --PL/QL---------- --------------------------------------------------------------- set serveroutput on;--开启输出方法 begin dbms_output.put_line('HelloWorld!'); e...

2009-09-23 12:30:30 89

存储过程完成数据更新

工作中遇到这样一个需求 原来的表结构[code="xml"] rds_interface_define rds_step id number id number step_id number [/code] 现在的表结构是这样的 [code="xml"] rds_interface_...

2009-09-23 12:28:49 199

Java 与 UML 面向对象程序设计

Java 与 UML 面向对象程序设计

2014-04-20

空空如也

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

TA关注的人

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