`
王世纪
  • 浏览: 17194 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表

从死锁问题说起

    博客分类:
  • java
前几天发生了一个枚举死锁问题,下面分析下,同时将java初始化话进行整理下   一:枚举死锁 问题 在讨论上面这个问题之前,先熟悉下什么情况会触发java类的初始化。 参考jvm规范,java虚拟
今天群里 有人发了个比赛的题目,就是实现类似linux 下命令 du-c -s 目录名,这样的功能 一、首先看下 这个命令 du是文件和目录磁盘使用的空间的查看 -c为 最后加上总计, -s为显示各档案大小的总和,题目就是 查看目录名下的所占空间的大小 二、来看下 java下是怎么实现的 参考文章为: http://www.java3z.com/cwbwebhome/article/article5/5924.html?id=1838,http://www.myexception.cn/program/971411.html 简单分析下, 1、最简单的就是递归分析了,实现如下: ...

oscache 的问题

    博客分类:
  • java
一:现象: 系统页面无法打开,数据显示异常 二:原因分析:(代码分析,比较枯燥,请耐心查看)   在使用oscache的时候,为了减轻开发者的负担,同时也让代码具有更好的可读性,我们一般会使用annotation的方式来完成缓存的设值和取值 Code:1  

java序列化3

    博客分类:
  • java
上面的java,hessian和fastjson的序列化,说到底还是java内部之间的转换,也就是说序列化和反序列化都必须在java环境中,但是下面要说的apache thrift 和google protobuf和hadoop avro 则是不同语言之间的数据传递。 闲言少叙,具体看下:首先看下他们的哲学理念,也就是说他们为什么产生,是解决什么问题的。咱们公司的编程哲学是统一用java(部分算法以用c),这样可以做到最大程度的复用,但是在google和facebook ,他们的编程哲学是什么方便用什么,比如在后台用java

java序列化2

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

java序列化1

    博客分类:
  • java
前言:    如果仔细的分析网络编程的话,就会发现 这个里面就两件事情,一个是协议,即采用什么协议进行传输。另一个就是序列化,通过什么样的方式共享数据,我序列化的东西对方能够反序列化出来。既然序列化如此 ...
下面我们再来看下cglib的实现,首先看下测试类吧,上面已经看到了,主要是实现了MethodInterceptor方法,里面一个主要的类是Enhancer,那我们来看下cglib是怎么生成代理类的。 Cglib主要是这个方法 enhancer.setSuperclass(clz);//设置父类,从这个地方也可以看到cglib是
动态代理的东东 听起来很牛,用起别人提供的现成的工具,也很方便,比如spring 的事务管理,虽然我们用的是和不是很多,但是真正用的时候,会有一些意想不到的东东出现,本着知其然并知其所以然的原则,我们来看下到底是怎么实现的 下面会研究下 java本身实现的动态代理,cglib实现的动态代理, 其他的比如bcel和javassist实现的,大家可以自己研究下,大同小异 好了,我们开始,本着诚实的原则(
问题背景: 一个工商注册号,正常的用trim能解决的问题,但是这个case,trim后和肉眼看到的就是不一样就是多了一个字符 分析问题: 为了能问题重现,下面模拟 创造一个12345加上一个特殊字符(假象空白) select concat('123456',chr(9)) as xx  from dual)      
  得到便利,总是要付出代价的!! 本周遇到一个JavaScript问题,思来想去只能用这句话来总结了。 简单来说,就是将某一个值和0进行比较,但是有些异常情况导致结果怪异,最后发现是在某些情况下那个值有可能是’’,也就是空值,而空值和0在JavaScript中是相等的,这个之前由于研究的不深,不知道这个内容,感觉有些不可思议,就问了下虞青,查了些资料,不敢独享,如果已知,敬请忽略。   首先从JavaScript中的对象说起,JavaScript有六种对象 number、string、
1、单例模式       单例,延迟加载,静态初始化,以及静态holder,还有序列化问题 2、代理模式       静态代理,仅仅是代理某一个接口或者类,动态代理 java动态代理,cglib动态,javassist,asm等的动态代理  aspectj spring中的aop  实现 3、模板方法       spring中的jdbc模板方法,以及平常自己的一些模板方法 4、组合模式      同一种类型的不同实现,可以用这个模式表达复杂的内容, 5、适配器模式 6、装饰器模式
独立部署 之前先将所要得到的东西准备好,可以节省很多时间的。 1、手下要将所有的缓存项拿到 2、将所有的bean引用拿到 3、将所有的xml中引用的表名得到 以上可以通过静态代码分析得到,或者直接通过读取java源程序得到        

mule的链接

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

mule的消息路由

    博客分类:
  • java
这个是从infoq载录下的文章,具体链接为http://www.infoq.com/cn/articles/mule-message-routing mule  消息路由的几个概念 端点(Endpoints)定义了发送和接收消息的通道(channel)。例如,一个购物组件可能会接收到一个HTTP订单请求。一旦该组件处理完订单请求,它可能会发送一个 JMS消息到一个主题(topic)上,以通知审计系统,并返回一个HTTP响应。可以通过端点监听JMS消息、发送email、调用web services等。 入站路由器(Inbound router)控制服务如何处理入站(incoming) ...
1、今天决定写博客了,每天10点回家吧 2、每天一篇,不能懈怠。
Global site tag (gtag.js) - Google Analytics