X58平台Core i7超频基础知识

简介

Core i7是一款基于Intel Nehalem架构的45nm原生四核处理器,内置内存控制器并支持三通道内存,采用全新的QPI总线设计和1366针脚封装,支持第二代超线程(同步多线程技术 SMT)等新技术。

X58是配合I7众多新特性推出的高端芯片组,它支持更多的PCIE通道,支援三路,四路SLI和CrossFire。

本文的目的是帮助硬件爱好者,理解X58平台下的超频原理,灵活配置参数能让I7运行在更高的主频和内存带宽下。

超频基础知识

对于X58平台的超频,我们主要关注的是4频率,3电压,1时序。超频时,一般是先设置 频率,后调节电压。

4频率指的是

Read more…

2010/10/15 | Posted in Others

Java DNS cache 时效设置备忘

我们知道java的InetAddress会通过自身的cache缓存dns解析结果。
缓存的策略主要有两种,一种是缓存正确解析后的IP地址,还有一种是缓存解析失败后的状态。

这两种策略的时效配置都在 %JRE%\lib\security\java.security 这个文件里。
TTL=Time to Live

networkaddress.cache.ttl

缓存正常解析后的ip,如果在缓存时效内再次lookup时直接返回缓存结果。
缓存时间:

1,在启用 java security manager时,是永久缓存。(PS: jboss, tomcat等app server默认不启用 java security manager,资料见 这里)
2,不启用的话,默认是缓存30秒。
3,缓存时间 设为0的话,表示不缓存,设置-1表示永久缓存,正数表示缓存时间(秒)。

Read more…

2010/07/29 | Posted in Development Skills

剖析一个java对象初始化顺序问题

今天我在Dzone阅读了一篇关于java对象实例初始化顺序的有趣文章。说它有趣,是因为作者使用了一种并不太推荐的编码风格,只有用这种编码风格才能触发这个极为少见的 Java object initialization order 问题。

其实java对象初始化顺序算是一个比较基础的java知识点。但是网上的文章多半描述不清,使用上一不小心就容易出问题。
所以在本文中,我想结合JLS和自己的理解,举例剖析问题的所在。

OK,我们先来看个模仿Dzone作者原意的简单例子:

Read more…

2010/07/21 | Posted in JVM

Docbook转pdf技巧-选择正确的TOC页种类

Docbook转pdf时,可以自由选择想要生成的TOC页种类。一般是通过修改fop(docbook转pdf工具)的配置参数来完成。

官方默认的TOC页配置参数如下:

<xsl:param name="generate.toc">
/appendix toc,title
article/appendix  nop
/article  toc,title
book      toc,title,figure,table,example,equation
/chapter  toc,title
part      toc,title
/preface  toc,title
reference toc,title
/sect1    toc
/sect2    toc
/sect3    toc
/sect4    toc
/sect5    toc
/section  toc
set       toc,title
</xsl:param>

book标签后面用逗号隔开的字串,就是用来控制生成的索引页种类的。
接下来,你可以根据自己的需求,修改下这个字串。
按照多数技术文档的惯例,它们会在这里去掉figure,table,example,equation这些索引页,只保留Table of Content和Title。
修改后的配置如下:

<xsl:param name="generate.toc">
/appendix toc,title
article/appendix  nop
/article  toc,title
book      toc,title
/chapter  toc,title
part      toc,title
/preface  toc,title
reference toc,title
/sect1    toc
/sect2    toc
/sect3    toc
/sect4    toc
/sect5    toc
/section  toc
set       toc,title
</xsl:param>

最后,将上面的配置添加到 FOP 的渲染xsl里即可。

2010/07/20 | Posted in Others

一段Docbook批量生成PDF和HTML的Makefile脚本

这段脚本的作用是,自动将当前目录下Docbook格式的 *.xml 批量转换成同名的 pdf 和 html。
使用脚本前,你需要确保本机已安装Docbook转换工具,包括xsltproc (windows版)和apache fop,以及docbook xsl namespace

然后,修改 PATH Variable 处3个变量路径。分别对应HTML的xsl,PDF格式的xsl以及FOP配置文件路径。
最后,在当前目录中执行 make html && make pdf 即可,html和pdf也可单独执行。

# Docbook Makefile Writed by Ken Wu
 
# Path Variable
XSLFILE_HTML=docbook_html.xsl
XSLFILE_PDF=docbook_pdf.xsl
FOP_CONF_FILE=D:/fop-0.95-bin/fop-0.95/conf/fop.xconf
 
# Properties for make
XML_FILE=$(wildcard *.xml)
HTML_FILE=$(XML_FILE:.xml=.html)
FO_FILE=$(XML_FILE:.xml=.fo)
PDF_FILE=$(XML_FILE:.xml=.pdf)
 
.PHONY: html pdf clean
 
html : $(HTML_FILE)
 
%.html : %.xml
	xsltproc -o $(@F) $(XSLFILE_HTML) $&lt;
 
pdf : $(FO_FILE)
 
%.fo : %.xml
	xsltproc -o $(@F) $(XSLFILE_PDF) $&lt;
	fop -c $(FOP_CONF_FILE) $(@F) -pdf $(PDF_FILE)
 
clean:
	rm -f *.html *.fo *.pdf

“&lt ;” 这个符号请转成 “<“

2010/07/15 | Posted in Linux & Gentoo, Others

一个java程序员的C++学习之路

最近想写点有用的东西,发现自己最拿手的java用起来真是笨手笨脚的。
碰到好多实现起来巨繁琐的问题,比如操作底层库,和OS framework交互,做个用户体验好点的本地图形程序等等,这些都是java的软肋。

而看看人家C++,这类问题哪个不是轻松搞定。
对我来说,也比较惭愧,自己大学里学的C++现在都忘得差不多。除了hello world和console out/input之外,其他一概丢回给老师了。

其实,我一直对底层颇感兴趣,工作中也只能接触一下JVM,但VM毕竟是VM,始终与底层失之交臂。
就好比隔了座山,山那边的事物,山里人多半是一知半解。
所以下半年我打算恶补一下C++。顺便在博客里记录本人的一些学习心得,望各位C++大虾多多指点。

目前我正在阅读钱能著的《C++程序设计教程》,这本书号称是大学C++教学指定用书。我看了几章,说实话,这书真的是漏洞百出。
最好玩的是,作者还时不时发几句牢骚,比如“C++好难啊,reinterpret_cast这么难的关键字,亏他设计的出”,看到这里真让我哭笑不得。
你不介绍reinterpret_cast关键字的设计初衷或原理也就罢了,还向读者诉苦,这种“幽默”看多了,心里会承受不了。

不过话说回来,整书对于初学者来说,还是非常通俗易懂的。
读完这本书后,接下来我计划挺进 《C++ primer》,幸好此前有阅读过《The C programming language》,所以读懂它比较有信心。

下文是我整理的一些C++图书列表,按顺序阅读,可涵盖入门到精通。

Read more…

2010/07/06 | Posted in Others

利用foobar声谱鉴别有损音源

Foobar是一款非常简洁且注重音质的音乐播放器。其自身提供了很多非常专业的分析面板,用于满足不同用户的需求。
今天,我向大家分享一个用foobar声谱面板来初步鉴别音源是否经过有损压缩的小技巧。

怎样调出Foobar声谱面板?

通过点击 View(视图) > Visualizations(可视化) > Spectrogram(声谱)

声谱面板的横坐标代表时间,纵坐标代表频率,颜色的深浅表示声音的分贝大小。

Read more…

2010/06/22 | Posted in Others