<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_温少的日志</title><subtitle type="text">我希望我所作的事情对别人有所帮助！</subtitle><id>http://feed.cnblogs.com/blog/u/3761/rss</id><updated>2010-12-02T13:05:59Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/3761/rss"/><entry><id>http://www.cnblogs.com/jobs/archive/2010/12/02/1894863.html</id><title type="text">Java中的System.nano()很慢</title><summary type="text">System.nano()调用耗时450 nano，超级慢，比new Object()的操作慢100倍。经一群无聊好事者查证，System.nanoTime()在linux下的实现，最终调用clock_gettime系统函数。100万次调用耗时，java语言中System.nanoTime()和C语言中的clock_gettime()调用时间基本一致，所以System.nanoTime()慢的原因...</summary><published>2010-12-02T13:06:00Z</published><updated>2010-12-02T13:06:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2010/12/02/1894863.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2010/12/02/1894863.html"/><content type="html">System.nano()调用耗时450 nano，超级慢，比new Object()的操作慢100倍。&lt;br /&gt;&lt;br /&gt;经一群无聊好事者查证，System.nanoTime()在linux下的实现，最终调用clock_gettime系统函数。&lt;br /&gt;&lt;br /&gt;100万次调用耗时，java语言中System.nanoTime()和C语言中的clock_gettime()调用时间基本一致，所以System.nanoTime()慢的原因就是系统调用clock_gettime。&lt;br /&gt;&lt;br /&gt;无聊好事者请注意，自行测试System.nanoTime()性能时，要这样写：&lt;br /&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;long&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;v&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.nanoTime();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;而不能这样写：&lt;br /&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.nanoTime();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jobs/aggbug/1894863.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jobs/archive/2010/12/02/1894863.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jobs/archive/2010/07/29/1788156.html</id><title type="text">新写了一个Java并发程序设计教程</title><summary type="text">新写了一个Java并发程序设计教程， 用于公司内部培训的，和2007年写的那个相比，内容更翔实一些。内容列表1、使用线程的经验：设置名称、响应中断、使用ThreadLocal2、Executor ：ExecutorService和Future ☆ ☆ ☆3、阻塞队列 : put和take、offer和poll、drainTo4、线程间的协调手段：lock、condition、 wait、notify、notifyAll ☆ ☆ ☆5、Lock-free: atomic、concurrentMap.putIfAbsent、CopyOnWriteArrayList ☆ ☆ ☆6、关于锁使用的经验介绍7、并发流程控制手段：CountDownlatch、Barrier8、定时器: ScheduledExecutorService、大规模定时器TimerWheel9、并发三大定律：Amdahl、Gustafson、 Sun-Ni10、神人和图书11、业界发展情况: GPGPU、OpenCL12、复习题</summary><published>2010-07-29T10:34:00Z</published><updated>2010-07-29T10:34:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2010/07/29/1788156.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2010/07/29/1788156.html"/><content type="html">&lt;p&gt;新写了一个Java并发程序设计教程， 用于公司内部培训的，和2007年写的那个相比，内容更翔实一些。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;内容列表 &lt;/p&gt;&lt;p&gt;1、使用线程的经验：设置名称、响应中断、使用ThreadLocal&lt;/p&gt;2、Executor ：ExecutorService和Future &amp;#9734; &amp;#9734; &amp;#9734;&lt;br /&gt;3、阻塞队列 : put和take、offer和poll、drainTo&lt;br /&gt;4、线程间的协调手段：lock、condition、wait、notify、notifyAll &amp;#9734; &amp;#9734; &amp;#9734;&lt;br /&gt;5、Lock-free: atomic、concurrentMap.putIfAbsent、CopyOnWriteArrayList &amp;#9734; &amp;#9734; &amp;#9734;&lt;br /&gt;6、关于锁使用的经验介绍&lt;br /&gt;7、并发流程控制手段：CountDownlatch、Barrier&lt;br /&gt;8、定时器: ScheduledExecutorService、大规模定时器TimerWheel&lt;br /&gt;9、并发三大定律：Amdahl、Gustafson、Sun-Ni&lt;br /&gt;10、神人和图书&lt;br /&gt;11、业界发展情况: GPGPU、OpenCL&lt;br /&gt;&lt;p&gt;12、复习题&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;下载地址：&lt;/p&gt;&lt;p&gt;2010-10-10版&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/jobs/Java%e5%b9%b6%e5%8f%91%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e6%95%99%e7%a8%8b-2010-08-10.pdf"&gt;http://files.cnblogs.com/jobs/Java%e5%b9%b6%e5%8f%91%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e6%95%99%e7%a8%8b-2010-08-10.pdf&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;欢迎看了之后写反馈给我。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;博客园的文章地址：&lt;/p&gt;&lt;p&gt;http://www.cnblogs.com/jobs/archive/2010/07/29/1788156.html &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jobs/aggbug/1788156.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jobs/archive/2010/07/29/1788156.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jobs/archive/2010/04/11/1709639.html</id><title type="text">佛教典故</title><summary type="text">杭州佛教信徒众多，我新住进的小区也是重灾区，每天早上8点，就有人很大声的播放朗诵佛经，这影响了我的睡眠，但又无可奈何。忽然想起一个佛教的典故，调侃一下。　　圆悟克勤生于大宋年间，从小修习儒家经典，远近学子无人能比，一日偶见佛经，拿起来看了又看，虽是初见，却像是见到了自己原有的东西一般，因道：&amp;#8220;恐怕我前生是和尚吧！&amp;#8221;竟然就此剃度出家。克勤出家之后行脚四方，遍寻名师，终于拜在五...</summary><published>2010-04-11T09:32:00Z</published><updated>2010-04-11T09:32:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2010/04/11/1709639.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2010/04/11/1709639.html"/><content type="html">&lt;p&gt;杭州佛教信徒众多，我新住进的小区也是重灾区，每天早上8点，就有人很大声的播放朗诵佛经，这影响了我的睡眠，但又无可奈何。忽然想起一个佛教的典故，调侃一下。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;圆悟克勤生于大宋年间，从小修习儒家经典，远近学子无人能比，一日偶见佛经，拿起来看了又看，虽是初见，却像是见到了自己原有的东西一般，因道：&amp;#8220;恐怕我前生是和尚吧！&amp;#8221;竟然就此剃度出家。克勤出家之后行脚四方，遍寻名师，终于拜在五祖法演门下。一日，有个大官陈某正好辞官要返回四川老家，特地前来参访五祖法演，问：&amp;#8220;什么是祖师西来意？&amp;#8221;法演说：&amp;#8220;有两句诗，正好与此相似：频呼小玉原无事，只要檀郎认得声。&amp;#8221;这两句诗里藏着个典故，说有一位美人名叫小艳，在闺房内知道她的情人檀郎来找她，小艳为了使檀郎知道她在闺房，又不好意思直接与檀郎说，只得借机叫丫环小玉做这做那，目的是利用呼唤小玉的声音，让檀郎知道她在闺房里。法演以此典故比喻禅法，意思是说什么本身并不是禅的目的，只是借说法的声音，要让人知道其言外之意&amp;#8212;&amp;#8212;这类比喻亦是佛门惯技！但法演的用意，陈某却无法理解，反是旁边的克勤有悟。陈某走后，克勤问： &amp;#8220;师父举小艳的诗，陈提刑懂了没有？&amp;#8221;五祖法演说：&amp;#8220;他只认得声。&amp;#8221;克勤又问：&amp;#8220;他既然认得声，因何不能悟道？&amp;#8221;五祖法演见克勤有所触悟，便大喝道：&amp;#8220;何为祖师西来意？莫是庭前柏树子？&amp;#8221;克勤被法演这么一喝，顿时大彻大悟，手舞足蹈，走出室外，因写了一首悟道偈：&amp;#8220;金鸭香销锦绣帏，笙歌丛里醉扶归。少年一段风流事，只许佳人独自知。&amp;#8221;按照正统的说法，克勤此偈是以偷情比喻悟法，意思是说等到檀郎认得了佳人呼唤丫鬟的声音之后，就偷偷爬进房内上床，在绣着金鸭的锦帷中经过一番被翻红浪、缠绵缱绻，又于笙歌弦乐声中扶醉归去，而这一段偷情妙事，除了当事人之外，旁人都懵然不知。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;　　这是佛教里非常有名的典故，除了正统的说法之外，也有别的解读：老和尚们吃饱了没事做，胯下不免难受，所以天天想着&amp;#8220;锦绣帏&amp;#8221;、&amp;#8220;风流事&amp;#8221;，连写偈语也拿这个来说事，直把女子脐下数寸地，当作参佛悟道菩提根。&lt;img src="http://www.cnblogs.com/jobs/aggbug/1709639.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jobs/archive/2010/04/11/1709639.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/10/16/1584436.html</id><title type="text">绝世名将</title><summary type="text">[代码]以上摘自《东海屠》第二二三章 萨摩一战惊九州。每次看到有人把一丁点大的事情吹得天花乱坠，就想起一个词&amp;#8220;绝世名将&amp;#8221;！</summary><published>2009-10-16T04:29:00Z</published><updated>2009-10-16T04:29:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/10/16/1584436.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/10/16/1584436.html"/></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/09/27/1575210.html</id><title type="text">Google云计算体验感受</title><summary type="text">Google云计算AppEngine Java版刚刚推出来的时候，我就申请了该服务。该服务的申请需要提供手机号码验证，GOOGLE很牛B，能够发送全球的手机短信。申请的帐号放了很久，前段时间学习OpenID，需要作一个范例，于是就在Google AppEngine上作，作的过程发现其不能使用线程，导致HttpClient组件无法工作，于是我修改了OpenID4Java的实现，全部使用URLConn...</summary><published>2009-09-27T12:28:00Z</published><updated>2009-09-27T12:28:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/09/27/1575210.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/09/27/1575210.html"/></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/09/24/1573424.html</id><title type="text">我在Google AppEngine上部署了一个Java应用(OpenID测试)</title><summary type="text">我在Google AppEngine上部署了一个Java应用(OpenID测试)http://cogito-study.appspot.comGoogle Apps不支持线程，所用到的库openid4java需要创建线程（因为HttpClient），我修改了openid4java的实现，使得其支持Google App Engine。部署在Google App Engine上的应用可以应用任何Ope...</summary><published>2009-09-24T08:43:00Z</published><updated>2009-09-24T08:43:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/09/24/1573424.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/09/24/1573424.html"/></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/09/09/1562218.html</id><title type="text">杂谈单点登陆以及相关技术</title><summary type="text">最近花了较多时间学习单点登陆以及相关的安全技术，做一个简单的总结，发表我的一些看法。抛砖引玉，希望各位朋友参与讨论。单点登陆，鸟语原文为Single Sign-On，缩写为SSO。别以为单点登陆是很时髦高深的技术，相反单点登陆是很古老的技术，例如1980年kerberos v4发布，一直发展至今，被Windows、Mac OS X、Linux等流行的操作系统所采用，是为应用最广泛的单点登陆技术。k...</summary><published>2009-09-08T17:17:00Z</published><updated>2009-09-08T17:17:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/09/09/1562218.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/09/09/1562218.html"/></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/08/28/1555521.html</id><title type="text">喜闻我的文章进入“多核技术博客征文” top 30</title><summary type="text">很久没去看博客园的留言，半夜睡不着，登上去，竟然有好消息。感谢您参加多核技术博客征文活动，您的作品&amp;#8220;《多核程序设计技术》读后感 &amp;#8221;已入围top30排行榜，您可以获得英特尔乾唐彩文具套装一份，请尽快与我联系确认领奖事宜！详情查看：http://g.csdn.net/5089205------------我没有主动参加，是别人把我的文章拿去投稿的。细看排名，似乎是排名12。那是...</summary><published>2009-08-27T18:22:00Z</published><updated>2009-08-27T18:22:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/08/28/1555521.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/08/28/1555521.html"/></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/08/23/1552370.html</id><title type="text">重读罗素《西方哲学史》关于浪漫主义部分的介绍</title><summary type="text">读尼采之后，一度厌恶罗素，并且拒绝再阅读罗素相关著作。最近经历了一些事情，使得我重新阅读罗素《西方哲学史》中关于浪漫主义的介绍。其中一些观点我深表赞同，摘抄如下：浪漫主义观点所以打动人心的理由，隐伏在人性和人类环境的极深处。出于自利，人类变成了群居性的，但是在本能上一直依然非常孤独；因此，需要有宗教和道德 来补充自利的力量。但是为将来的利益而割弃现在的满足，这个习惯让人烦腻，所以炽情一激发起来，社...</summary><published>2009-08-23T06:24:00Z</published><updated>2009-08-23T06:24:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/08/23/1552370.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/08/23/1552370.html"/></entry><entry><id>http://www.cnblogs.com/jobs/archive/2009/08/11/1543319.html</id><title type="text">随想</title><summary type="text">昨晚跟一个朋友聊天，说有人给我的评价是：温少写的代码太复杂了。嗯，过去我给人的感觉的确应该会这样，过去我的确是偏爱复杂的实现方式。我对复杂度的把握是在08年初开始，那时候才比较好的体会&amp;#8220;恰到好处，不多不少&amp;#8221;，那时候也是刚经历过超大量的编码，对更大规模的程序设计有了更强的设计和实现能力，更强的能力也使得我对复杂度的更好认识。这是我最近几年最重要的能力提升！！！随便聊了一些业界...</summary><published>2009-08-10T23:26:00Z</published><updated>2009-08-10T23:26:00Z</updated><author><name>温少</name><uri>http://www.cnblogs.com/jobs/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jobs/archive/2009/08/11/1543319.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jobs/archive/2009/08/11/1543319.html"/></entry></feed>
