??xml version="1.0" encoding="utf-8" standalone="yes"?>91一区二区三区,男人天堂资源在线,欧美日韩一区久久http://www.aygfsteel.com/jobs/archive/2010/07/30/327515.html温少的日?/dc:creator>温少的日?/author>Thu, 29 Jul 2010 16:41:00 GMThttp://www.aygfsteel.com/jobs/archive/2010/07/30/327515.htmlhttp://www.aygfsteel.com/jobs/comments/327515.htmlhttp://www.aygfsteel.com/jobs/archive/2010/07/30/327515.html#Feedback12http://www.aygfsteel.com/jobs/comments/commentRss/327515.htmlhttp://www.aygfsteel.com/jobs/services/trackbacks/327515.html

内容列表

1、用线E的l验Q设|名U、响应中断、用ThreadLocal
2、Executor QExecutorService和Future ???br /> 3、阻塞队?: put和take、offer和poll、drainTo
4、线E间的协调手D:lock、condition、wait、notify、notifyAll ???br /> 5、Lock-free: atomic、concurrentMap.putIfAbsent、CopyOnWriteArrayList ???br /> 6、关于锁使用的经验介l?br /> 7、ƈ发流E控制手D:CountDownlatch、Barrier
8、定时器: ScheduledExecutorService、大规模定时器TimerWheel
9、ƈ发三大定律:Amdahl、Gustafson、Sun-Ni
10、神人和图书
11、业界发展情? GPGPU、OpenCL
12、复习题

下蝲地址Q?/p>  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.pdf  

 Ƣ迎看了之后写反馈给我?br /> 博客园的文章地址Q?/p>

http://www.cnblogs.com/jobs/archive/2010/07/29/1788156.html



]]>
Google云计体验感?/title><link>http://www.aygfsteel.com/jobs/archive/2009/09/27/296691.html</link><dc:creator>温少的日?/dc:creator><author>温少的日?/author><pubDate>Sun, 27 Sep 2009 12:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/jobs/archive/2009/09/27/296691.html</guid><wfw:comment>http://www.aygfsteel.com/jobs/comments/296691.html</wfw:comment><comments>http://www.aygfsteel.com/jobs/archive/2009/09/27/296691.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jobs/comments/commentRss/296691.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jobs/services/trackbacks/296691.html</trackback:ping><description><![CDATA[Google云计AppEngine Java版刚刚推出来的时候,我就甌了该服务。该服务的申请需要提供手机号码验证,GOOGLE很牛BQ能够发送全球的手机短信。申L帐号放了很久Q? 前段旉学习OpenIDQ需要作一个范例,于是在Google AppEngine上作Q作的过E发现其不能使用U程Q导致HttpClientlg无法工作Q于是我修改了OpenID4Java的实玎ͼ全部使用 URLConnection来实现。最l程序部|成功了Q网址 http://cogito-study.appspot.comQ欢q大家测试用?br /> <br /> 我来说一下我对Google AppEngine Java版本的用感受吧?br /> 1? Google AppEngine Java版本Q具备基本功能,但是׃~Z一些重要的功能Q例如线E,没有U程Q很多库无法使用Q例如我上面提到的HttpClient不能使用? Google提供一个类的白名单http://code.google.com/intl/zh-CN/appengine/docs/java /jrewhitelist.htmlQ大多数需要用的c都有,javax.xml.crypto不再其中Q得我要部|一个SAML2的实现时玩不 转?br /> 2、Google AppEngine提供了一个DataStoreQ用JDO讉K数据Q其查询语言支持GQL。基本功能是具备的,但是也是存在很大的局限性,最多返? 1000行数据,COUNT(*)也是最多返?000行。这个限制得很多应用要跑在其上Q会很麻烦?br /> 3、部|很单,在Eclipse中用Google提供的插Ӟ输入帐号密码可以部|了Q太单了。但我用的q程中,l常出现某些时段无法部v的情况,通常遇到q种情况Q多试几次或者过D|间再试好了?br /> 4、管理界面简z方便,功能基本完备。包括性能监控、数据管理、日志、计费等都有?br /> ȝ<br /> Google的AppEngine Java版本已经具备了基本功能,可以部v单应用了Q但是由于其功能不够完备Q目前大多数应用要部|在其上Q都会要做相当大的修Ҏ者无法实现? <img src ="http://www.aygfsteel.com/jobs/aggbug/296691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jobs/" target="_blank">温少的日?/a> 2009-09-27 20:29 <a href="http://www.aygfsteel.com/jobs/archive/2009/09/27/296691.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我在Google云上部v了一个Java应用(OpenID试)http://www.aygfsteel.com/jobs/archive/2009/09/24/296348.html温少的日?/dc:creator>温少的日?/author>Thu, 24 Sep 2009 13:22:00 GMThttp://www.aygfsteel.com/jobs/archive/2009/09/24/296348.htmlhttp://www.aygfsteel.com/jobs/comments/296348.htmlhttp://www.aygfsteel.com/jobs/archive/2009/09/24/296348.html#Feedback1http://www.aygfsteel.com/jobs/comments/commentRss/296348.htmlhttp://www.aygfsteel.com/jobs/services/trackbacks/296348.html http://cogito-study.appspot.com

Google Apps不支持线E,所用到的库openid4java需要创建线E(因ؓHttpClientQ,我修改了openid4java的实玎ͼ使得其支持Google App Engine?br />
部v在Google App Engine上的应用可以应用MOpenID Provider登陆Q包括Google、Yahoo、MSN{?br />
你可以通过q个试|站了解OpenID

]]>
杂谈单点登陆以及相关技?/title><link>http://www.aygfsteel.com/jobs/archive/2009/09/09/294368.html</link><dc:creator>温少的日?/dc:creator><author>温少的日?/author><pubDate>Tue, 08 Sep 2009 17:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/jobs/archive/2009/09/09/294368.html</guid><wfw:comment>http://www.aygfsteel.com/jobs/comments/294368.html</wfw:comment><comments>http://www.aygfsteel.com/jobs/archive/2009/09/09/294368.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jobs/comments/commentRss/294368.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jobs/services/trackbacks/294368.html</trackback:ping><description><![CDATA[最q花了较多时间学习单点登陆以及相关的安全技术,做一个简单的ȝQ发表我的一些看法。抛砖引玉,希望各位朋友参与讨论?br /> <br /> 单点登陆Q鸟语原文ؓSingle Sign-OnQ羃写ؓSSO。别以ؓ单点登陆是很旉高深的技术,相反单点登陆是很古老的技术,例如1980qkerberos v4发布Q一直发展至今,被Windows、Mac OS X、Linux{流行的操作pȝ所采用Q是为应用最q泛的单点登陆技术?br /> <br /> kerberos适用于局域网Q十分成熟。互联网发展之后Q多个网站需要统一认证Q业界需要适合互联|的单点登陆技术,也就是WEB SSO?002q_微Y提出了passport服务Q由微Yl一提供帐号和认证服务,理所当然Q大安不愿意受制于微YQ但是很认同微Y提出WEB SSO理念Q于是生了Liberty AllianceQ另外指定一套标准,q套标准发展h是SAMLQ目前SAML的版本是SAML V2Q属于OASIS的标准?br /> <br /> --------------<br /> SAML<br /> <br /> SAMLQ鸟语全名ؓSecurity Assertion Markup LanguageQI漫着学院z腐尸味道Q羃写十分怪异Qo人望而生畏。计机行业Q向来崇时髦,SAMLq一名称使得其较受到大众程序员的关注?br /> <br /> SAML的标准制定者,来自SUN、BEA、IBM、RSA、AOL、Boeing{大公司Q制定技术规范相当专业有水准Q系l分层合理,抽象了几个概忉|整个pȝ描述得很清楚Q用流行技术XML Schema来描q协议,使用CXML-Sign和XML Encrypt{较为前~XML安全技术?br /> <br /> SAML的基本部分包括Protocol、Bingding、Profile、Metadata、AuthenticationContext。其中Protocol是交互消息的格式Q例如AuthnRuequest/ResponseQ认证请?响应Q的消息寏VBingding是指协议所采用的传输方式,例如使用HTTP Redirect或HTTP POST或SOAP的方式传输Protocol中所定义的消息。Profile是系l角色间交互消息的各U场景,例如Web Single Sign-ON是一UProfile、Single Sign-Out也是一UProfile、n份联邦也是一UProfile。各个参与方所提供的服务的描述信息为metadata。系l的认证Ҏ通常是千差万别的QAuthenticationContext是SAML中定义的认证扩展点,可以是最普通的User Password认证Q也可以是kerberos认证Q也可以是电信常用的RADIUSQ或者是动态密码卡?br /> <br /> SAML在Java企业应用中,得到q泛支持QIBM、BEA、ORACLE、SUN的Java应用服务器都提供了SAML的支持,曄有h_SAML是如同JDBC一P会是ɾpȝ集成的准入证。SAML有很多开源实玎ͼ包括SUN公司的Open SSOQ不q的是,q些开源实现都不够好,或者相当糟p,如果我们需要支持SAML协议Q可能需要在开源的版本上裁剪或者另行开发?br /> <br /> SAML考虑了Web SSOQ也考虑了传l的SSO集成Q包括Kerberos和LDAP的集成,其中Attributed扩展机制以及相关规范Q得SAML拥有良好的扩展性,很好集成传统协议和支持新协议?br /> <br /> SAML是一个定义良好的规范Q概忉|晎ͼ分层合理Q扩展性良好,一切都很棒Q但是有一点不好,是曲高和寡Q?br /> <br /> -------------<br /> OpenID<br /> 有一些互联网公司Q拥有众多很多帐P很牛BQ例如GOOGLE、YAHOO、FacebookQ希望别人的pȝ使用它们的帐L陆。他们希望一U够简单的WEB SSO规范Q于是选择一U草根网l协议OpenID。OpenIDQ名字取得好Q顾名思义Q一看就知道它是q嘛的。国内也有它的FansQ例如豆瓣网。openID的确_单,但是协议本n是不完善Q可能需要一些补充协议才能够满业务需求。例如GOOGLE采用OpenID + OAuth。目前支持OpenID有Yahoo、Google、Windows LiveQ还有号U要支持OpenID的Facebook。目前Yahoo和Google宣称对OpenID的支持,但是其实是有限制的,Yahoo的OpenID只有数合作伙伴才能获得其属性,Google也只有在其Google Apps中才能获得̎LAttribute。用戯̎h竟是一个互联网公司的最宝贵资源Q希望他们完全分享̎h不可能的?br /> <br /> Open ID和SAML两种规范Q都会减少pȝ间交互的成本Q我们提供Open APIӞ应该支持其中一U或者或两种规范?br /> <br /> --------------<br /> OAuth<br /> <br /> oAuth涉及?大块的交互和通信?. 用户Q?. 拥有用户资料/资源的服务器AQ?. 求资源的服务器BQ?br /> <br /> oAuth的典型应用场景(senarioQ?br /> 以前Q用户在 拥有资源 的的|站A有一大堆东西Q现在用户发C一个新的网站BQ比较好玩,但是q个新的|站B惌?拥有资源的网站A的数据?br /> <br /> 用户?求资源的|站B 上,点击一个URLQ蟩转到 拥有 资源的网站A?br /> 拥有资源的网站A提示Q你需要把资源分nlB|站吗?Yes/No?br /> 用户点击 YesQ拥有资源的|站A l?求资源的|站B 临时/怹 开一个通道Q然?求资源的|站 可以来 拥有资源的网?抓取所需的信息了?br /> (参考资料:http://initiative.yo2.cn/archives/633801Q?br /> Q摘抄)<br /> --------------<br /> <br /> 内部pȝ间集成用LDAP、KerberosQ外部系l集成用SAML或者OpenID + OAuthQ这是一U徏议的模式?br /> <br /> ------------<br /> PAM<br /> <br /> ZL一U方案:一斚wQ将鉴别功能从应用中独立出来Q单独进行模块化设计Q实现和l护Q另一斚wQؓq些鉴别模块建立标准 APIQ以便各应用E序能方便的使用它们提供的各U功能;同时Q鉴别机制对其上层用P包括应用E序和最l用P是透明的。直?1995 q_SUN 的研Ih员提Z一U满以上需求的Ҏ--插g式鉴别模块(PAMQ机制ƈ首次在其操作pȝ Solaris 2.3 上部分实现。插件式鉴别模块QPAMQ机刉用模块化设计和插件功能,使得我们可以L地在应用E序中插入新的鉴别模块或替换原先的组?而不必对应用E序做Q何修改,从而软g的定制、维持和升更加L--因ؓ鉴别机制与应用程序之间相对独立。应用程序可以通过 PAM API 方便的?PAM 提供的各U鉴别功能,而不必了解太多的底层l节。此外,PAM的易用性也较强Q主要表现在它对上层屏蔽了鉴别的具体l节Q所以用户不必被q学习各U各L鉴别方式Q也不必C多个口oQ又׃它实C多鉴别机制的集成问题Q所以单个程序可以轻易集成多U鉴别机制如 Kerberos 鉴别机制?Diffie - Hellman 鉴别机制{,但用户仍可以用同一个口令登录而感觉不到采取了各种不同鉴别Ҏ。PAM 后来被标准化?X/Open UNIX® 标准化流E(?X/Open 单点d服务QXSSOQ架构中Q的一部分。(摘抄Q?br /> <br /> 如果我们设计一个认证系l,PAM是应该参考借鉴的?br /> <br /> -------------<br /> JAAS<br /> Java Authentication Authorization ServiceQJAASQJava验证和授权APIQ提供了灉|和可伸羃的机制来保证客户端或服务器端的JavaE序。Java早期的安全框架强调的是通过验证代码的来源和作者,保护用户避免受到下蝲下来的代码的d。JAAS的是通过验证谁在q行代码以及他/她的权限来保护系l面受用Ld。它让你能够一些标准的安全机制Q例如Solaris NISQ网l信息服务)、Windows NT、LDAPQ轻量目录存取协议)QKerberos{通过一U通用的,可配|的方式集成到系l中。在客户端用JAAS很简单。在服务器端使用JAAS时情况要复杂一些。(摘抄Q?br /> <br /> -------------<br /> Spring SecurityQSpring框架大名鼎鼎QSpring Security属于SpringFramework旗下的一个子目Q源自acegi 1.x发展h。很多h目应用了spring securityQ但我个人看来,spring securityl对不算是一个设计良好的安全框架。其设计感觉是一个小目的安全认证实Ş了?br /> <br /> -------------<br /> CAS<br /> 应用最q的开源单点登陆实CQ其实现模仿Kerberos的一些概念,例如KDC、TGS{等Q都是来自于Kerberos。CAS对SAML和OpenID协议支持得不够好。个人感觉类似Kerberos的机制在互联|中可能q于复杂了。我感觉单纯的ticket机制Q过于局限于Z加密解密的安全了Q感觉上SAML的Assertion概念更好QAssertion可以包括认证、授权以及属性信息?br /> <br /> -------------<br /> <img src="http://www.cnblogs.com/jobs/aggbug/1562218.html?type=1" alt="" width="1" height="1" /><br /> <br /> --------------------------<br /> <a target="_blank">09博客园纪念T?/a><br /> 新闻Q?a href="48942" target="_blank">Wordpress发布实时RSS技?推动实时|络发展</a><br /> |站D: <a target="_blank">博客园首?/a>  <a target="_blank">个h主页</a>  <a target="_blank">新闻</a>  <a target="_blank">C֌</a>  <a target="_blank">博问</a>  <a target="_blank">闪存</a>  <a target="_blank">找找?/a> <img src ="http://www.aygfsteel.com/jobs/aggbug/294368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jobs/" target="_blank">温少的日?/a> 2009-09-09 01:17 <a href="http://www.aygfsteel.com/jobs/archive/2009/09/09/294368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>也说一U普遍错误用的LOG方式http://www.aygfsteel.com/jobs/archive/2009/01/05/249864.html温少的日?/dc:creator>温少的日?/author>Mon, 05 Jan 2009 02:49:00 GMThttp://www.aygfsteel.com/jobs/archive/2009/01/05/249864.htmlhttp://www.aygfsteel.com/jobs/comments/249864.htmlhttp://www.aygfsteel.com/jobs/archive/2009/01/05/249864.html#Feedback13http://www.aygfsteel.com/jobs/comments/commentRss/249864.htmlhttp://www.aygfsteel.com/jobs/services/trackbacks/249864.html
例如Q?br />
class Base  {
     private final Log LOG = LogFactory.getLog(this.getClass());
}

class Derived  {
    public void foo() {
           if (LOG.isDebugEnabled()) LOG.debug("foo");
    }
}

q种用法Q当c被l承的时候,LOG完全ؕ了。spring、struts都有q样的问题?br />
正确的用方式应该是直接静态化声明LOG?br />
例如Q?br />
class DerivedA  {
     private final static Log LOG = LogFactory.getLog(DerivedA.class);
}



--------------------------
盛大招聘.Net开发工E师
l典好书Q?NET框架E序设计Q修订版Q?/a>
新闻Q?a target="_blank">2008q最_ֽU技囄Q电运动模拟图居首

DQ?a target="_blank">博客园首?/a>  知识?/a>  新闻  招聘      博问  |摘  找找?/a>
文章来源:
http://www.cnblogs.com/jobs/archive/2009/01/05/1368894.html

]]>
依然令h失望的Eclipse Software Update功能http://www.aygfsteel.com/jobs/archive/2008/07/10/213833.html温少的日?/dc:creator>温少的日?/author>Wed, 09 Jul 2008 19:49:00 GMThttp://www.aygfsteel.com/jobs/archive/2008/07/10/213833.htmlhttp://www.aygfsteel.com/jobs/comments/213833.htmlhttp://www.aygfsteel.com/jobs/archive/2008/07/10/213833.html#Feedback8http://www.aygfsteel.com/jobs/comments/commentRss/213833.htmlhttp://www.aygfsteel.com/jobs/services/trackbacks/213833.html
在Ecliipse的Software Update功能中安装插Ӟ能够解决插g依赖的问题,但是在Eclipse 3.4之前的版本,Software Update不能够多U程同时下蝲Q遇到网速较慢的更新站点Ӟ需要O长的{待Q有时候安装一个插Ӟ需要数个小Ӟ甚至更久?br />
在Eclipse 3.4之后QSoftware Update有了很大的改变,可以多线E下载了Q但是不能手工选择镜像Q它会笨W的选择一些很慢的站点Q效果变得更差了Q下载速度时快时慢Q但是经帔R比以前手工选择镜像要慢。经帔R择一些只有数百B速度的下载站点,令h抓狂Q?br />
所以说QEclipse 3.4的Software Update功能依然令失望?br />
期待数年Q终于盼来了新版的Software Update功能Q但是新版的更差了,哎。。?br />


]]>
一个FileIterator的实?/title><link>http://www.aygfsteel.com/jobs/archive/2008/06/05/205961.html</link><dc:creator>温少的日?/dc:creator><author>温少的日?/author><pubDate>Wed, 04 Jun 2008 23:56:00 GMT</pubDate><guid>http://www.aygfsteel.com/jobs/archive/2008/06/05/205961.html</guid><wfw:comment>http://www.aygfsteel.com/jobs/comments/205961.html</wfw:comment><comments>http://www.aygfsteel.com/jobs/archive/2008/06/05/205961.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jobs/comments/commentRss/205961.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jobs/services/trackbacks/205961.html</trackback:ping><description><![CDATA[     摘要: 我们在开发中Q经帔R要遍历一个目录下的所有文Ӟ常用的办法就是用一个函数递归遍历是常用的办法。但是递归函数的缺点就是扩展不方便Q当然你对这个函数加入一个参数FileHandlerQ这h展性稍好一些,但是仍然不够好,比如_不能Ҏ遍历的需要中途停止遍历,加入Filter{等。我实现了一个FileIteratorQ得遍历一个目录下的文件如何遍历一个集合中的元素一般操作?nbsp; <a href='http://www.aygfsteel.com/jobs/archive/2008/06/05/205961.html'>阅读全文</a><img src ="http://www.aygfsteel.com/jobs/aggbug/205961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jobs/" target="_blank">温少的日?/a> 2008-06-05 07:56 <a href="http://www.aygfsteel.com/jobs/archive/2008/06/05/205961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSR 203目l于启动http://www.aygfsteel.com/jobs/archive/2008/05/09/199391.html温少的日?/dc:creator>温少的日?/author>Thu, 08 May 2008 18:54:00 GMThttp://www.aygfsteel.com/jobs/archive/2008/05/09/199391.htmlhttp://www.aygfsteel.com/jobs/comments/199391.htmlhttp://www.aygfsteel.com/jobs/archive/2008/05/09/199391.html#Feedback3http://www.aygfsteel.com/jobs/comments/commentRss/199391.htmlhttp://www.aygfsteel.com/jobs/services/trackbacks/199391.html http://openjdk.java.net/上的Announcements:

2008/04/28 New Project approved: More New I/O APIs for the Java Platform

包括内容Q?br />
  • 4313887 New I/O: Improved filesystem interface
  • 4640544 New I/O: Complete socket-channel functionality
  • 4607272 New I/O: Support asynchronous I/O

让h期待太久太久了,l于来了QJava在大规模q发、高性能斚w又进一步,JSR 203应该会在JDK 7中实玎ͼ届时随着JDK 7的发布,会有更多的基础软g使用Java实现Q而且有极好的性能?br />
在磁盘I/O和网l大规模q发I/O斚w都会得到更好的性能?br />
可以预见受益的程序:
1、WEB服务?Tomcat、Jetty{,在Windows下,Java可以用IOCPQ而不是现在nio所用的selectQ网lƈ发性能会得到大幅度提升。在Linux下则应该改变不多Q毕竟linux现在q发最好性能的网lI/O EPOLLQJDK 6.0 nio的缺省实现就是epoll?br /> 2、数据库应用E序。如Derby、Berkeley DB Java Edition{用Java实现的数据库Q性能会得到更好的提升,有望能够诞生和Oracle、SQL Server一样强大的100% Pure Java的数据库pȝ?br /> 3、其他网l应用程序。例如DNS、LDAP{,随着MINA之类的框架更强大和JDK的原生支持,会来多的服务器E序使用Java实现?br />


]]>
使用JSON替代XMLhttp://www.aygfsteel.com/jobs/archive/2008/03/08/184676.html温少的日?/dc:creator>温少的日?/author>Sat, 08 Mar 2008 06:24:00 GMThttp://www.aygfsteel.com/jobs/archive/2008/03/08/184676.htmlhttp://www.aygfsteel.com/jobs/comments/184676.htmlhttp://www.aygfsteel.com/jobs/archive/2008/03/08/184676.html#Feedback12http://www.aygfsteel.com/jobs/comments/commentRss/184676.htmlhttp://www.aygfsteel.com/jobs/services/trackbacks/184676.html 在新目中,除了一些框架所依赖的配|文件用XML外,基本没有使用XML。JSON基本替代了原来XML在程序内的位|。在以前Q我们不愿意使用一U私有的格式Q于是选择了XML。选择XML的理由,可能是大安用它Q所以我们也用它?br />
XML 是一U很好的技术,但是目前的情冉|看,XML被滥用了QSOAP是XML被滥用的一U典型,E序内部的表CZ用XML也是滥用的一U典型。看到的一U情况,一个对象toString使用XML格式输出Q导致日志文件十分罗嗦,调试Ӟ在watchH口中看C大堆<tag>?br />
在新目中,认真考虑q种情况Q找C另外一U选择Q那是JSON。选择JSON的理由很充分Q?br /> 1、JSON的解释性能要比XML要好Q要z紧凑?br /> 2、可L要比XML好。JSON本n是JavaScript的语法,和程序员的思维Q而非文档~写的思维?br /> 3、JavaScript原生支持Q客L览器不需要ؓ此用额外的解释器,在web环境中用特别合适?br />
在java中用jsonQ目前需要注意一些情况:
1、目前开源的JSON-LIB代码质量不好Q最好是在此基础之上修改一个版本,或者自己重新开发一个版本?br /> 2、用new Date的方式替代JSON-LIB中的{year:2007, month:12, ....}之类的方?br /> 3、JSON-LIB中,object的propertyName在输出的时候,都带?"Q例如{"name": "温少"}, 其中name是的双引h不必要的Q在输出时应该判断,不需要的是׃加上""Q减网l流量?br /> 4、JSON的解释器中,应该支持单的表达式,例如new Date()、new Date(2939234723)之类的,q得JSON的表达能力会更强一些?br /> 5、JSON应该分两U,一U只支持单格式,cM开源的JSON-LIBQ一U是通过JavaScript解释器来实现的。后者在E序中传输数据时Q能够得到更强大的表达能力,但是也会D安全问题Q需要慎重用?br />

]]>
回想q去几年软g业的荒唐?/title><link>http://www.aygfsteel.com/jobs/archive/2008/02/09/179501.html</link><dc:creator>温少的日?/dc:creator><author>温少的日?/author><pubDate>Sat, 09 Feb 2008 07:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/jobs/archive/2008/02/09/179501.html</guid><wfw:comment>http://www.aygfsteel.com/jobs/comments/179501.html</wfw:comment><comments>http://www.aygfsteel.com/jobs/archive/2008/02/09/179501.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jobs/comments/commentRss/179501.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jobs/services/trackbacks/179501.html</trackback:ping><description><![CDATA[<br /> 1? XP中的l对~程。XP~程中,有一些思想ȝ的很好,例如试驱动Q但又有极度的荒唐的是l对~程。结对编E是我看到过的最荒唐最可笑的Y件工E方 法,两倍的投入Q一半的产出Q可谓事倍功半。以前看l对~程只是觉得荒唐可笑Q后来看了李安的电媄《断背山》,觉得?#8220;断背”来Ş容结对编E最适合了,l? 对编E简直就是专门ؓ“男同?#8221;们度w定做的软g工程ҎQ你想一?#8220;男同?#8221;Q每天手牉|背靠背进?#8220;l对~程”Q是多么“O有趣”的事情。不q这? ?#8220;男同?#8221;们的O有趣Q对工作本n一点也不有!<br /> --------------<br /> <br /> 2、JDO投票闹剧Q?004-2005Q? 一个通过黑客式静态AOP方式旁门左道实现的持久化技术JDOQ竟然会被一些hq捧Q这本n是一个很荒唐的事情了。在JCP的投中QJDO被否决了Q? q一点也不奇怪,奇怪的是投结果出来之后的闹剧。一些h?#8220;政治阴谋?#8221;来说事,说JDO不被通过Q是因ؓ政治原因Q而非技术原因,q个荒唐的理q? 被社区的很多人相信了Q一片声讨,JCPq于压力Q重新投,通过了JDO相关的JSR。但是JDOq没有因此有一点点赯Q一直沉沦至今。JDO通过? 态AOPQenhanceQ的方式使得代码无法调试Q就单这一点,p以JDO永远无法行?br /> <br /> qg事情很明表明两点:1)、不要相信一些技术作家的判断力;2)、普通的大众没有判断能力Q会Z亦云?br /> <br /> 当年荒唐的文章选录Q?br /> 《程序员?005q第2?http://blog.csdn.net/gigix/archive/2005/01/21/262163.aspx <br /> --------------- <img src ="http://www.aygfsteel.com/jobs/aggbug/179501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jobs/" target="_blank">温少的日?/a> 2008-02-09 15:39 <a href="http://www.aygfsteel.com/jobs/archive/2008/02/09/179501.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">»</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ȳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">崨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ֺ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">н</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>