jQuery对象入门级介绍

admin 发布于 [2014-09-03 08:07:03.0] jquery 入门教程 教程

    你是否曾经见过像$(".cta").click(function(){})这样的JavaScrip代码?或许你还会思考下$('#X')是什么,如果看到这些你都觉得摸不着头脑,那请一定要读完这篇文章。如果你觉得上述的代码片段是不能正常工作的,那请先看一些jQuery的代码范例,你会发现链接中的代码都是这样的结构。     这篇文章将会分析下面代码片段(动画化一个方形)中出现的一些关键知识点。你可能不会经常接触这样的代码,但了解一下这段代码的机制有助于你理解jQuery: $(document).ready(function(){     $("button").click(functi...

高吞吐低延迟Java应用的垃圾回收优化

admin 发布于 [2014-08-28 07:52:05.0] gc gc优化

高性能应用构成了现代网络的支柱。LinkedIn有许多内部高吞吐量服务来满足每秒数千次的用户请求。要优化用户体验,低延迟地响应这些请求非常重要。 比如说,用户经常用到的一个功能是了解动态信息——不断更新的专业活动和内容的列表。动态信息在LinkedIn随处可见,包括公司页面,学校页面以及最重要的主页。基础动态信息数据平台为我们的经济图谱(会员,公司,群组等等)中各种实体的更新建立索引,它必须高吞吐低延迟地实现相关的更新。 图1 LinkedIn 动态信息 这些高吞吐低延迟的Java应用转变为产品,开发人员必须确保应用开发周期的每个阶段一致的性能。确定优化垃圾回收(Garbage Collect...

Netty 4 中的线程模型

admin 发布于 [2014-08-28 07:42:56.0] netty 线程 模型

这是Netty 4系列教程的一部分,主要介绍了Netty 4中使用的新线程模型以及如何解决在Netty3线程模型中出现的问题。 以channel为例,简单来说: 不考虑事件的传输和类型,所有的upstream事件(例如inboud)必须由处理channel I/O的线程触发。 所有的downstream(例如outbound)事件是可以由任意类型的线程触发,例如I/O线程和非I/O线程。然而,downstream事件的触发会带来一个副作用:在同一个I/O线程中,upstream事件也会被触发(例如,如果Channel.close()必须在I/O线程中触发channelDisconnecte、c...

10 个你需要了解的最佳 javascript 开发实践

admin 发布于 [2014-08-27 22:23:00.0] javascript

Javascript 的很多扩展的特性是的它变得更加的犀利, 同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站。 尽管很多的开发人员都乐于颂扬 javascript,但是仍旧有人看到它的阴暗面。 使用很多 javascript 代码的 web 页面会加载很慢,过多的使用 javascript 使得网页丑陋和拖沓。很快如何有效地使用 javascript 成为一个非常火热的话题。 这里让我们列出 10 个最佳 javascript 实践,帮助你有效地使用 javascript。 1. 尽可能的保持代码简洁 可能大家都听到过了N遍这个代码简洁问题了。作为一个开发人员你可能在你的代码开发过程中使...

高效 jquery 的奥秘

admin 发布于 [2014-08-27 22:09:18.0] jquery

讨论 jQuery 和 javascript 性能的文章并不罕见。 然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的 jQuery 和 javascript 代码。 好的代码会带来速度的提升。 快速渲染和响应意味着更好的用户体验。 首先,在脑子里牢牢记住 jQuery 就是 javascript。 这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。 首先,如果你是一个 javascript 新手,我建议您阅读 《24 JavaScript Best Practices for Beginners》, 这是一篇高质量的 javascript 教程,接触 jQuery 之...

df与du命令区别解析

admin 发布于 [2014-08-25 22:59:06.0] linux df du

1、正常情况下,df和du输出结果都会有差距。 du -sh命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数;  而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。  文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。  du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。 因此正常情况下,df计算的USED空间会比du计算的结果要稍大。 2、异常情况下,df计算的U...

CPU缓存与java程序开发

admin 发布于 [2014-08-24 11:09:56.0] java cache cpu

        CPU,一般认为写C/C++的才需要了解,写高级语言的(Java/C#/pathon…)并不需要了解那么底层的东西。我一开始也是这么想的,但直到碰到LMAX的Disruptor,以及马丁的博文,才发现写Java的,更加不能忽视CPU。经过一段时间的阅读,希望总结一下自己的阅读后的感悟。本文主要谈谈CPU缓存对Java编程的影响,不涉及具体CPU缓存的机制和实现。     现代CPU的缓存结构一般分三层,L1,L2和L3。如下图所示:   级别越小的缓存,越接近CPU, 意味着速度越快且容量越少。 L1是最接近CPU的,它容量最小,速度最快,每个核上都有一个L1 Cache(准确...

理解指令重排序

admin 发布于 [2014-08-22 08:35:41.0] 重排序 指令重排序

    重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。     在并发程序中,程序员会特别关注不同进程或线程之间的数据同步,特别是多个线程同时修改同一变量时,必须采取可靠的同步或其它措施保障数据被正确地修改,这里的一条重要原则是:不要假设指令执行的顺序,你无法预知不同线程之间的指令会以何种顺序执行。     但是在单线程程序中,通常我们容易假设指令是顺序执行的,否则可以想象程序会发生什么可怕的变化。理想的模型是:各种指令执行的顺序是唯一且有序的,这个顺序就是它们被编写在代码中的顺序...

MySQL备份方法总结

admin 发布于 [2014-08-19 08:05:32.0] mysql 备份

总结下几种常用的mysql备份方法: 一、直接拷贝数据库文件 首先把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入: mysql>FLUSH TABLES WITH READ LOCK; 使用tar或cp等命令备份数据库文件,这里使用tar: tar zcvf /backup/mysql_$(date "+%Y%m%d").tar.gz /var/lib/mysql c、备份完后解锁数据表 mysql> unlock tables; 这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。需要注意,对于 Innodb 类型表来说,还需要备份其日志文...

Buffer和Cache的区别

admin 发布于 [2014-08-19 08:01:29.0] cache buffer

Buffer和Cache这两个知识点比较难理解一些,经过多方面资料的整理和总结吧,用一个比较通俗的语言将其描述出来,希望对大家有所帮助: 1. Buffer: 通过应用程序(比如nginx)来分配一个内存区域,指定此块内存区域作为buffer专用,其作用是能够使不同电脑硬件组件,不同运转速度的设备都有一个缓冲区域,避免快的过快,慢的过慢的情况,减少IO的操作次数,每次的逻辑运算后的值是不能重复使用的,即这次使用完了,值就清空了. 用一个例子来说明:”比如一辆公交车能载50人,但现在车上有45个人了,司机现在不开车,等在上5个人凑够50人的时候,在开车.这样一来就减少了一次发车次数.否则的话,就...