博文

目前显示的是 2012的博文

2012,我的年度关键词

外企:屡次被拒百度之后,进入一家外企,行业老二,待遇尚可。私企,国企,外企都混过了,各有所长,下一个会是什么呢? 自由行1:年中去了一次欧洲,体验了德国的地铁和火车,当然还有啤酒,捷克人民的友善,我想留下来不回中国,但是签证到期了,我丫不得不回到天朝。世界人民都大团结了,又何必分这么清楚呢,反正中国是欢迎外国人来定居的。 自由行2:为了躲避年终的寒冷并且迎接世界末日的到来,12月20日凌晨飞往新加坡避寒,新加坡没有想象中的好,环球影城是个很欢喜的地方。顺便还去了印尼的民丹岛,海边度假村,骑着大象穿越了雨林,这宠物就是有点大,要不我也养一只。 家庭:添加了两位新成员,一个乱尿尿拉不屎还猛吃,另一个胆小如鼠天天趴暖气。其中还包括客串人物:李小六,毛豆,猪咖啡。 违章:作为曾经的业内人士,我还是没有躲过电子眼,限号被抓了一次,我已经很注意的没走大路,绕小路,还是被拍到了,我怀疑是流动哨干的,明年的交规更严了,还是得注意了。 专业:从WEB开发转向了企业应用开发,其实我还是喜欢做WEB。所以现在的工作重点是偏前端的javascript和CSS,当然Java还是不能放下。不知2年后会是怎样,心里没底,中年危机提前了。 转变:读万卷书不如行万里路,本来我也不看书,就趁现在有时间有精力,多出去走走,钱花完了可以再挣,时间过了就没了。 发展:保持学习,不能被淘汰。自我发展自我完善才是硬道理。 SSD:给去年买的Macbook Pro换上了SSD和16G内存,秒开,看来SSD真的很牛逼。牛逼感满足之后,每天还是用来看视频,浏览网页,别无他用。 Iphone:等了又等,Iphone5终于发布了,我买了Iphone4S,原因是Iphone4S便宜了,Iphone5掉漆了。 投资:延续2011年的失败,我就操这件事情。 玛雅人:你们说话有谱吗?付责任吗?世界末日没来,我的钱花完了,还得保持苦逼的赚钱模式。 感谢:这一年中帮助过我的人,坑过我的人。 此BLOG:一年中很少更新,很少写,微博也用的很少,大多的时间都是在看,其中一部分还献给了1024的CL。 2013:末日元年,希望会更好。。

EJB事务注解TransactionAttribute说明

在 Java EE 的应用开发中,事务的应用是必不可少的,同时由于方法调用的原因,比如方法 A 调用方法 B 的时候。如果方法 A 在事务环境中运行,那么方法 B 是否也要在事务中运行呢,方法 B 是要和方法 A 在同一个事务中运行还是新开起一个事物呢?等等。要弄清楚这些问题,就要牵涉到事务传播属性的问题,EJB 中针对不同的的情况提供了下面六种不同的事物传播属性: Required :用该属性标注的方法或组件总是在事务中运行。如果客户端已经在事务中,则在原事务中运行;如果没有事务,则开启一个新事务,在其中运行。 Requires_New :方法或组件总是在新开启的事务中运行。如果客户端已经在事务中,则首先将原事务挂起,然后新开启一个事务,在其中运行,新事务结束之后,原来事务从挂起点继续执行;如果没有事务,则开启一个新事务,在其中运行。 Supports :和 Required 属性的不同点是,在没有事务的环境中不会开启一个新事务;如果存在事务的话则加入其中运行,这点和 Reuqired 相同。 Not_Supported :如果事务已经存在的情况下,则原来的事务要挂起,然后调用标注该属性的方法或组件,调用结束之后,继续原来的事务;无事务环境中调用的时候,不开启新事务,这点和 Supports 相同。 Mandatory :调用标注该属性的方法或组件的客户端,必须已经在事务中,如果不在事务中则会抛出异常;如果已经在事务中,则加入原来事务运行。和 Required 不同的是,该属性不会自动开启新的事务; Never :用 Never 属性标注的方法或组件,不能在事务中运行。如果调用该方法或组件的客户端已经在事务中,则抛出异常。

愚人节,我的第一个iOS app

图片
今天是愚人节,为了纪念这个特殊的日子,我写了平生第一个原创的iOS程序。 点了某个部位之后。。。。

一款Dropbox的替代品Comodo Online Storage

随着Dropbox的成功,各式网盘层出不穷,但国内的产品都怀疑存在信息不安全的问题,所以还一直使用Dropbox。 Comodo应该都不陌生,出品免费防火墙和杀毒软件,进来Comodo又推出了一款以安全为主打的云存储产品Comodo Online Storage。现在注册有免费的5G空间,邀请朋友注册还有200M的奖励,最多到10G的免费空间。 下载客户端之后,当用户点住文件拖动的时候,就会出现一个半透明的窗口,可以将要上传的文件拖到小窗口里就可以方便的上传文件了。当不用的时候,小窗口会自动消失。 在Dropbox国内访问比较困难的情况下,大家也可以考虑这款产品,毕竟安全性胜过国内的云存储产品。 注册链接为:http://goo.gl/8dEee

我的第一个mac app

图片
买了MBP很久了,一直觉得Objective-C的语法很怪,就没有写过mac程序,春节假期闲着没事干,就学习一下Objective-C和Xcode,准备试试mac和iphone开发,先写一个显示外网IP的小程序,熟悉一下Objective-C和Xcode。 源代码使用github托管,也顺便熟悉一了一下github的使用,参考: http://goo.gl/HEvds ,设置好Xcode的git环境,使用起来很方便。 github地址: https://github.com/lveyo/IpShow app下载地址: https://github.com/downloads/lveyo/IpShow/IP Show.zip

Tomcat 7 的新JDBC连接池的使用说明

Tomcat 7 的JDBC连接池实现类为 org.apache.tomcat.jdbc.pool ,作为替换 commons-dbcp 的方案。 替换 commons-dbcp 的原因如下: commons-dbcp 是单线程的,为了线程安全,就要琐住整个连接池,查询验证阶段也要琐住整个连接池。 commons-dbcp 速度慢,性能差,多CPU的环境下单线程运行,不支持高并发,在JAVA 6中也不能解决速度和并发的问题。 commons-dbcp 实现复杂,超过60个类。 tomcat-jdbc-pool 核心只有8个类,修改更加简单,只需运行连接池本身,易测试。 commons-dbcp 应用静态接口,就意味着并不能用JDK 1.6编译它,在JDK 1.6/1.7中运行时,即使驱动程序支持,所有没有实现的方法也都会抛出 NoSuchMethodException 异常。 commons-dbcp 几乎停滞,很少更新。 作为一个连接池的简单实现不值得重写超过60个类。 Tomcat jdbc连接池实现了一个 commons-dbcp 没有的公平算法,并且比 commons-dbcp 性能更好。 Tomcat jdbc连接池实现了异步获取连接,也不需增加额外的线程。 Tomcat jdbc连接池是一个Tomcat的模块,依赖于Tomcat JULI(Tomcat日志框架) 使用 javax.sql.PooledConnection 接口获取连接。 饥饿算法。如果连接池空了,同时一个线程要获得连接,当一个连接返回到连接池,连接池会将正确的线程唤醒。 除了 commons-dbcp 连接池,还有其它可以选择的方案,如 c3p0 , bonecp 等,与这些连接池实现相比,Tomcat jdbc pool更突出的功能体现在: 支持多核系统,提供更好的高并发性能。 接口动态实现,运行时环境支持 java.sql 和 javax.sql 接口,可以使用低版本JDK编译。 无需每次使用连接时都验证连接,可以在获取或返回连接时验证,不用比设置的间隔时间更频繁。 当数据库连接建立时,一个可设置的查询将运行一次。这对保持连接建立整个时间中的会话十分有用。 可以自定义拦截器增强功能。可定义拦截器来收集查询统计,缓存会话状