对于 NIO 来说,Channel(通道) 和 Buffer(缓冲区) 这两个东西是不得不提的,因为它们是 NIO 的核心对象,几乎每一个 I/O 操作都要它们。
通道是对原 I/O 流的模拟,但有不同的是它是双向的,不再像流那样分 InputStream 和 OutputStream,通道的双向性更好的反映了底层操作系统的真识情况。也不能像原 I/O 那样可以直接往流里写或读数据,在通道了传输数据必须经由缓冲区。有点类似原 I/O 流通过过滤器流 BufferedInputStream 和 BufferedOutputStream 来读写数据。
FileInputStream/FileOutputStream/RandomAccessFile/DatagramSocket/ServerSocket/Socket 的 getChannel() 方法可以获得相应类型的 Channel,Channel 的类型有 FileChannel/SocketChannel/SelectableChannel/DatagramChannel/ServerSocketChannel 等。 Read More
Java NIO(New IO) 还是在 JDK 1.4 中引入的新特性。JDK 1.4 的另一重要特性正则表达式大家应该经常用到,但 NIO 就可能使用寥寥了,大概是缘于旧有 IO 体系仍然够用。有如 JDK1.5 早就泛型和注解了,但基于各种原因而无法亲力去实践泛型和注解一般,NIO 多数时候也只是与我们擦着肩而已。
相比与 Old IO,NIO 在某些领域里确有其过人之处,所以现在让我们一起来对 NIO 有个更楚的认识。
NIO 的相关 API,在 java.nio 中,它会与你纠缠的就是各种 Channel 和 Buffer。相关的应用在于处理通道和缓冲区、异步(非阻塞)的 IO、文件的锁定、字符集的处理上。 Read More
- 前记:看到 Twitter 和 Digg 相继用 NoSQL 替代了原有的关系型数据库 MySql。显然,NoSQL 定然有它的许多优势,且目前已有相当的 NoSQL 产品实现,所以有必要对 NoSQL 表示一定的关注,故找些资料来看。它也是非关系型的数据库,那它与著名的文档型数据库 Domino 又有何种关系呢,Java 程序又该如何实际应用 NoSQL 呢?
NoSQL 的官网是:http://nosql-database.org/,里面有丰富的介绍
Wiki 百科上的条目:http://en.wikipedia.org/wiki/NoSQL。以及如下文字:
NoSQL 是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。该术语在 2009 年初得到了广泛认同。 Read More - IPv4的地址数目高达40亿个,去除了部分私有的和保留的IP地址后,互联网上可能出现的公有地址数量依然相当可观(虽然这些地址仍然不够用),在经过汇总和合理的分配之后,互联网上的路由条目仍然有接近30万条!运行在互联网上的路由器为了可以选择最佳的路径达到全球目的地,有必要接收大部分甚至所有的路由条目,想必很多人会对这个包含全球路由的BGP路由表深感兴趣吧?Let‘s check it out!
1.打开SecureCRT或者Putty甚至系统自带的telnet程序(不建议用系统自带的)
2.telnet 这个地址:route-server.ip.att.net
3.接着就会收到一些欢迎信息,和提示要求输入用户名,输入rviews Read More 原文:101 on jQuery Selector Performance by Andreas Grabner, Nov 09, 09
上周我认真分析了一个 Web 页面,它在 onLoad 事件中处理一段定制脚本文件用了 4.8 秒。结果是其中 2.8 秒消耗在动态菜单库上(将会在博客中单独记录),剩下的 2 秒花费在 jQuery 的选择器上。分析显示多数选择器不返回任何对象,而那些会返回对象的选择器可考虑用不同的选择器来改善性能。
关于 jQuery 选择器
有大量的日志文章论述了 jQuery 选择器及它们的性能影响。正如你所知,可以通过 ID, TagName 或 ClassName 选择元素。依赖于不同的选择器, jQuery 会使用浏览器本地方法,如 通过 ID 或标签来选择元素,或者在使用类名选择时须手工从 DOM 中遍历获得元素(因为在 IE 中不存在相应的 getElementsByClssName).
分析我的页面时间中这 2 秒
在 onLoad 处理器中对页面中某些特定的元素使用 jQuery 设置为隐藏,显示或改变样式表...。这里是一个代码片断: Read More
JCK Patched Editor 2.4.6.1 Beta1(http://www.joomlagate.com/component/option,com_remository/Itemid,48/func,fileinfo/id,289/) 能够很方便的支持语法加亮显示。目前它所支持的语言有 C++、C#、CSS、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、VB.NET、XML/HTML。因为它所采用的语法着色程序是 db.syntaxhighlighter,而我之前对 db.syntaxhighlighter 也有一定的研究,它对其他语法的支持扩展是很容易的,加把相应的刷子而已。
这里先讲安装好 JCK Patched Editor 之后,如何让它支持 Groovy 和 Scala 语法。
1. 下载 Groovy/Scala 刷子脚本
在页面 http://code.google.com/p/syntaxhighlighter/source/browse/trunk/Scripts/?r=92 下载到 shBrushGroovy.js 和 shBrushScala.js 这两个脚本,放到 Joomla 站点的目录 /plugins/content/joomler_syntaxhighlighter/Scripts/ 中。 Read More
对 Joomla 1.5 下的几个常用的 WYSIWYG 编辑器进行简单比较,甄选出自己喜爱的一个。每个人的口味肯定也是不一样的,用着顺手,投己所好即可,比如,我一直蛮喜欢 BlogJava 现在用的这个 FreeTextBox 编辑器的。
1. TinyMCE
Joomla 自带默认的编辑器,Joomla 1.5.14 中所带的版本是 3.2.4.1,2009-05-25 发布的,当前版本是 2009-09-20 发布的 3.2.7。官网: http://tinymce.moxiecode.com/。它是开源免费的,在 Joomla 1.5.14 的汉化版中,该插件没有被汉化,按钮提示为中文,也没有中文字体。一般我们技术性的文章也不会去设置特别的字体,调调字号,颜色足矣。按照按钮的多少,分为简易、高级、扩展三种设置,虽然默认为高级功能,但我还是觉得不够,所以设置为扩展功能。有默认、Office 2007 的蓝色、银灰和黑色三种皮肤设置。 Read More
- 在对 F!BB 和 Kunena Forum 这两个论坛组件进行对比时,很容易会发现,在最新话题页面中,鼠标悬停在贴子标题上,它们都会提示贴子内容。Kunena 的提示能正确换行,而 F!BB 的提示内容无法换行,全部挤在一团,实在丑陋。再继续看看它们的显示样式,Kunena 是用 <a> 的 title 属性来提示的,可以认识回车 Chr(10);F!BB 却创新的使用了 <div> 来显示内容提示,所以无法把内容中的 Chr(10) 转换成显示时的 <br>。
注意的,不管是 F!BB 也好,还是 Kunena Forum,都必须设置论坛模板为 default_ex 时才会最新话题贴子内容提示的效果。
知道问题的症结所在,解决就容易了。
先简述一下 Kunena Forum 内容提示的实现。它的最新话题页面 Read More - 安装了 Joomla 1.5 的论坛组件 F!BB(Frenzy Bulletin Board) 1.5.96 RC,前台在针对贴子点击 Quote 按钮引用回贴时会出现错误
Fatal error: Call to a member function defaultPermCheck() on a non-object in E:\xampp\htdocs\joomla\components\com_fbb\template\default\post.php on line 1904
这是 F!BB 的一个 Bug,还好错误提示告诉了是哪段代码出问题(注:不同的版本可能指示的行号不一样)。打开那个 post.php 文件,找到错误是发生在方法 quote() 中
$can_reply = $FbCatPermissions->defaultPermCheck($canpost,$permsArray['post_own'],$this->firstPostUid,$this->my_id,$permsArray['post_any'])?1:0; Read More 我在 BlogJava 后台传的文件为什么点击不能下载了,从上星期六开始的,比如地址为:http://www.blogjava.net/Files/Unmi/testrmi.rar,点击后出现 403 - Forbidden: Access is denied. 如图:

我以为登录后就行,可是登录后仍然一样的提示,直接在后台“文件”中点击下载也是这样提示。
希望能快点好。