2014年5月27日
摘要: 字节是网络传输上的最小单位,是web开发中需要了解的一个知识点。1.有效位在谈字节序前需要先了解有效位,有效位分为两种:最低有效位(LSB: Least Significant Bit) 和最高有效位(MSB:Most Significant Bit)。在二进制数中,LSB是最低加权位,与十进制数字... 阅读全文
posted @ 2014-05-27 13:58 孙振超 阅读(901) 评论(0) 推荐(0) 编辑
  2014年3月7日
摘要: CDN和镜像站点是常用的提高网站访问速度的两种方式,但这两种方式具体是什么、二者间有什么相同和不同之处,本文对此做一粗浅介绍。一、镜像站点1.1定义镜像网站是指将一个完全相同的网站源程序放到几个服务器,分别有自己独立的URL,在这些服务器上互为镜像网站。它和主站并没有太大差别,或者可算是为主站作的后备措施。有了镜像网站的好处是:如果不能对主站作正常访问(如某个服务器死掉或出了意外),但仍能通过其它服务器正常浏览。相对来说主站在速度等各方面比镜像站点略胜一筹。创建镜像站点通常是由于网络带宽限制、封锁或是其他原因,导致无法实现对主站点的正常访问。这时通过将主站点的信息资源移植转移到相对容易访问的本 阅读全文
posted @ 2014-03-07 15:05 孙振超 阅读(4868) 评论(0) 推荐(1) 编辑
  2014年1月11日
摘要: 在学习Java 多线程并发开发过程中,了解到DelayQueue类的主要作用:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。Delayed,一种混合风格的接口,用来标记那些应该在给定延迟时间之后执行的对象。此接口的实现必须定义一个compareTo方法,该方法提供与此接口的getDelay方法一致的排序。在网上也看到两个示例,但这两个示例个人在实际运行时均没有达到满足业务场景的效果,因而对其进行了修改,供大家参考讨论。业务场景一: 阅读全文
posted @ 2014-01-11 16:21 孙振超 阅读(38293) 评论(28) 推荐(7) 编辑
  2013年12月20日
摘要: JVM通过GC来回收堆和方法区中的内存,GC的基本原理首先会找到程序中不再被使用的对象,然后回收这些对象所占用的内存。1.收集器 通常采用收集器的方式实现GC,主要的收集器有引用计数收集器和跟踪收集器。 1.1引用计数收集器 引用计数收集器采用的是分散式的管理方式,通过计数器记录对象是否被引用。当计数器为零时,说明此对象已经不再被使用,于是可进行回收。引用计数需要在每次对象赋值时进行引用计数器的增减,它有一定的消耗。另外,引用计数器对于循环引用的场景没有办法实现回收。 1.2跟踪收集器 跟踪收集器采用的集中式的管理方式,全局记录数据的引用状态。基于一定条件的触发(例如定时、空间不足),执行时需 阅读全文
posted @ 2013-12-20 16:59 孙振超 阅读(2565) 评论(0) 推荐(0) 编辑
  2013年12月13日
摘要: 很多开发者都认为Redis不可能比Memcached快,Memcached完全基于内存,而Redis具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快。但是测试结果基本是Redis占绝对优势。一直在思考这个原因,目前想到的原因有这几方面。Libevent。和Memcached不同,Redis并没有选择libevent。Libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。Redis用libevent中两个文件修改实现了自己的epoll event loop(4)。业界不少开发者也建议Redis使用另外 阅读全文
posted @ 2013-12-13 15:27 孙振超 阅读(438) 评论(0) 推荐(0) 编辑
  2013年11月27日
摘要: Sun JDK中采用javac将Java源码编译为class文件,这个过程包含三个步骤: 1.分析和输入到符号表(Parse and Enter) Parse过程所做的工作有词法和语法分析。词法分析要完成将代码字符串转变为Token序列。语法分析则是根据语法将Token序列生成抽象语法树。 Enter过程将符号输入到符号表,通常包括确定类的超类型和接口、根据需要添... 阅读全文
posted @ 2013-11-27 17:43 孙振超 阅读(1721) 评论(0) 推荐(0) 编辑
  2013年10月24日
摘要: 题记:无意间在公司图书馆看到这本书,感觉内容写得很不错,很细很有条理。虽然自己并非前端工程师,然而也需要对此有所了解,供以后在架构设计、系统优化时考虑这些因素,特在此将对该书进行摘录,供不时之需。也希望有更多的同行能够了解到这本书,进而提升自己所负责网站的展现速度,给与用户更好地访问体验。 只有10-20%的最终用户响应时间花在了下载HTML文档上。其余的80-90%时间花在了... 阅读全文
posted @ 2013-10-24 16:48 孙振超 阅读(3136) 评论(4) 推荐(6) 编辑
  2013年9月18日
摘要: 一、序言 Mybatis作为ORM,实现了对象与关系数据库间的映射。Mybatis中的映射包含两个方面: 1.将对象中的值(parameterType所指定的对象)映射到具体的sql中,例如: insert into Author (id,username,password,email,bio) values (#{id},#{username},#{password},#... 阅读全文
posted @ 2013-09-18 11:00 孙振超 阅读(7180) 评论(3) 推荐(0) 编辑
  2013年6月28日
摘要: parsing,从字面上理解就是编译解析的意思,那么这个包中的内容就应该和mybatis配置文件的编译解析有关系。本文首先会按照引用层次来分别介绍这个包中各个类的作用,而后再用实际的例子解释它们是如何组合到一起去解决了什么样的问题。一、类和接口介绍1.TokenHandlerpublic interface TokenHandler { String handleToken(String content);}这个接口中只有一个函数,就是对字符串进行处理。2.GenericTokenParser从这个类的名字看到,这个类是对常用Token进行parser的类,我们首先了解这个类的属性和构造函数. 阅读全文
posted @ 2013-06-28 16:15 孙振超 阅读(12144) 评论(0) 推荐(1) 编辑
  2013年6月14日
摘要: 最近在研读Mybatis的源代码,发现其官网上列出了几个报告,这几个报告都是关于Mybatis代码质量的:http://mybatis.github.io/mybatis-3/project-reports.html因而百度了相关的资料:JDepend http://www.blogjava.net/hengheng123456789/archive/2007/01/30/96675.htmlFindBugs http://www.cnblogs.com/hyddd/archive/2009/02/13/1390362.htmlSurefire http://www.dotlife.info/ 阅读全文
posted @ 2013-06-14 18:50 孙振超 阅读(3488) 评论(0) 推荐(0) 编辑