java中的四舍五入
涉及到货币计算的时候,四舍五入是个大问题,钱算错了客户是不会饶了你的,在java(jdk1.5)中可以使用DecimalFormat来进行计算,DecimalFormat通过RoundingMode中定义的模式进行四舍五入操作,不同的模式操作结果如下(下表取自jdk6 API 文档):
[阅读全文]涉及到货币计算的时候,四舍五入是个大问题,钱算错了客户是不会饶了你的,在java(jdk1.5)中可以使用DecimalFormat来进行计算,DecimalFormat通过RoundingMode中定义的模式进行四舍五入操作,不同的模式操作结果如下(下表取自jdk6 API 文档):
[阅读全文]对于JDK1.5以上的版本,如果涉及到多个线程之间的同步、等待,可以使用CyclicBarrier工具类,CyclicBarrier是JDK1.5中的同步辅助类,其应用场景是:如果有一组线程需要互相等待,直到达到某个公共屏障点,则CyclicBarrier非常有用。比如赛马游戏,可以把每匹马看做是一个线程,则每一轮赛马都必须等到所有的马全部跑完上一轮才能重新开始。
[阅读全文]ruby文件中如果有中文,在命令行运行的时候会报错,解决方法:中文通过iconv转换一下,并且在文件头上加入:#encoding:utf-8,如: #encoding:utf-8 require "iconv" s = "abc中国" puts s.length puts Iconv.conv("gbk", "utf-8", s)
[阅读全文]如果你需要一个功能非常强大的微博客户端,那么这款工具不适合你。 1. 现在支持自定义的app key了,如果我的key被新浪封了,你们自己申请一个吧,然后在授权的时候把key和secret填上去就行了。 2. 腾讯微博现在授权有问题,不知道他们服务器又怎么调整了下 但如果你只是需要一个功能简单,消耗很少资源,在需要时,只需按下win+G就能快速唤出供你发微博的小工具,那你算是找对了。 分享吧可以绑定新浪微博、腾讯微博、网易微博、搜狐微博、follow5,twitter(支持自定义API),绑定这些微博后,消息可以一次性发送到所有的微博,免去你同步的烦恼。 同时,还有个chrome插件,如果你用chrome浏览器,可以试用一下:在浏览器中选中文字,直接右键就可以快速分享了,地址:https://chrome.google.com/webstore/detail/jbiamgiklmgeljlbnojhnodadogbolhg 有什么问题可以在新浪微博联系我:http://t.sina.com.cn/bokix 下载地址:http://www.bokix.com/resource/share8.gadget
[阅读全文]原来word2007以后的版本可以直接用来发布wordpress博客,以前都没怎么用过。 首先点击”文件”中的”新建”,新建一个”博客文章”,在”管理帐户”那里可以输入你的wordpress地址,用户名及密码,然后就ok了,写完博客后,点击发布,非常的简单。
[阅读全文]同事最近有个项目需要用到quartz,下了最新版的1.8.3, 跑的时候有些问题,让我帮忙看一下,我也是很久以前用过quartz1.6,1.6文档也还算比较多,用的也很顺手,可升级到1.8以后,还真是有些不一样。 1. 插件的变化。1.6的时候,我们用org.quartz.plugins.xml.JobInitializationPlugin来解析job.xml,到了1.8, 就要换成:org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin。这一点在配置quartz.properties的时候要注意。其实你在下载quartz1.8的时候页面上就有个提示:说如果你不想暂时升级你的job配置文件,就需要下载一个老的插件包: Legacy XML (“JobInitializationPlugin”) Plug-in and XML schema (that was used up through Quartz 1.7.x) – may be used with Quartz 1.8.x if you do not wish to immediately upgrade your job-data XML files. 2. job.xml的变化。quartz1.6和1.8 的xml变化还是挺大的。1.6的xml文件就不说了,很简单,重点说一下1.8的,1.8的xsd和样例xml文件你可以从http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd 和 http://www.bokix.com/resource/下载,job.xml貌似必须要有命名空间,否则解析的时候总是报错,其中“xsi:schemaLocation”的语法是:“命名空间+空格+xsd文件地址(带版本号)”,这个不要写错了,可以看一下我的样例文件(样例xml是根据xmlspy生产的,实际应用的时候有些不需要的可以删掉,需要修改的String要根据自己的实际情况作修改)
[阅读全文]jsp页面中有这样一段代码: <jsp:include page=”a.jsp”> <jsp:param value=”x” name=”pa”/> </jsp:include> 在tomcat和weblogic9中可以正确执行,但是在weblogic8中页面无法正确执行,查看页面源代码,发现上述代码被直接输出了,没有被编译。 经过一点一点的调试后发现,jsp:param中name必须写在value的前面,即:<jsp:param name=”pa” value=”x”/>,只有这样weblogic8才能正确编译。 其实对于这种在不同服务器上表现不一样的东西,首先就应该明确十有八九是规范的问题,有些服务器可能需要这样写,而有些服务器则需要按另一种规范写。
[阅读全文]硬盘安装windows7就不用说了,拷贝bootmgr等文件到C盘,然后运行c:\boot\bootsect.exe/nt60 c: 重启即可,这方法网上一搜多的是,就不说了。关键的是,如果你没有win7的安装盘,或者你没有DVD光驱(win7安装盘一般都是DVD),而且某天你突然发现你系统坏了,启动不了了,给你来了个措手不及,这时候你想重装系统,该如何做呢? 方法1:用微软的Windows7 USB/DVD Download Tool制作一个U盘启动盘,不过这种方法要求你有一个4G大小的U盘,而且要有win7安装镜像。 方法2: 如果你没有这么大的U盘,怎么办?插入U盘,在我的电脑-》管理(windows7操作系统)-》磁盘管理中选择U盘所在驱动器,格式化,设置为活动分区,然后拷贝win7安装文件中的bootmgr和boot目录,及sources\boot.wim拷贝的U盘是,然后重启电脑,bios中设置为U盘启动,这样就可以用刚才的U盘启动了,接下来就是常规做法了,启动后不要直接安装,选择修复系统,然后进入命令模式,在命令行进入你硬盘上的win7安装文件(事先在硬盘上已经有的)目录,运行setup.exe就行了。 将U盘格式化并设置为活动分区主要为了能用U盘启动电脑,如果你没法这么做,也可以下载个winPE,安装到U盘上,因为安装winPE时,会格式化U盘并设置成活动分区,然后删除U盘上的文件,将bootmgr,boot,boot.wim拷贝上去也是一样的
[阅读全文]对于ps的印象,还是初中时比较深刻,虽然现在看来,那时的ps第一代很逊色,但在当时,那声色效果已经给了我不小的震撼。现在能自己支配生活了,当然不会忘记已经被称作次世代游戏机的ps3了。 不过这东西真是烧钱的货,没有盗版,一张游戏盘3、4百,还真是有点心痛,话又说回来,经典大作,这钱还是值得的,战神就是。 周末早上5:30起床,开始挑战困难模式,一直到晚上12点,眼睛有点受不了了,太难了,一个boss要打一个多小时,旁边还开了一个笔记本,随时看视频攻略…就这样才打了一半,不敢想像后面的极难模式该怎么打。
[阅读全文]