使用Source Insight查看Java项目代码
Source Insight是一款优秀的代码编辑和查看软件,提供了丰富的代码高亮、符号关联等功能,尤其对于代码查看及其方便。目前的最新版本是3.50.0076。
使用Source Insight查看Java项目代码时,需要做以下工作:
关联JDK源代码
配置方法为:
Source Insight工作空间下提供一个Base
项目,这是一个全局项目,工作空间下的其他项目均可访问该项目下的代码并建立符号关联。因此,可以将系统库文件放在Base
项目下。对于Java项目而言,可以将JDK源代码置于Base
项目下,使其他项目均可访问JDK的源码。
Eclipse风格配置
一个看上去“舒服”的开发环境是有利于提高开发过程中的体验的。但个人之间对“舒服”的界定真的是仁者见仁智者见智了。以下分享的是本人使用Eclipse时的一些配置。
版本
我是比较倾向于使用最新版本的,原因很简单:新、潮、体验好、功能全。比如我从Kepler SR2更新到Luna SR2,发现几个明显的改进:
- 更新了dark主题,我不需要再安装Eclipse Monnrise UI Theme插件了;况且,一般而言,原生效果永远是插件所达不到的。
- 更新了语法高亮,比如常量使用粗斜体显示,dark主题下方法、类名均加粗显示。
- 更新了图标,尤其在dark主题下感受更为明显,马赛克的图标少了很多。
- 支持JDK 8,至少可以有机会体验JDK 8中的一些新特性了。
中文字体
Eclipse显示的中文默认很小,可以有两种方法解决这个问题:
How to Convert Documents With Pandoc
What's Pandoc
According to official site, Pandoc is your swiss-army knify to convert files from one markup format into another.
Pandoc can convert documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, EPUB, or Haddock markup to
- HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides.
- Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
- Ebooks: EPUB version 2 or 3, FictionBook2
- Documentation formats: DocBook, GNU TexInfo, Groff man pages, Haddock markup
- Page layout formats: InDesign ICML
- Outline formats: OPML
- TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
- PDF via LaTeX
- Lightweight markup formats: Markdown, reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile
- Custom formats: custom writers can be written in lua.
进制转换-[什么是数学]读书笔记
问题:一个二进制的数,比如100011(二进制)可以直接转换成八进制表示吗?
忽略这个问题本身,先从数的基本问题-数的表示说起。
数的表示
数学来自于现实。从最简单的问题讲起:我种了一棵、两棵、三棵、四棵、五棵、六棵、七棵、八棵、九棵、十棵、十一棵或者三十棵数,我该怎么记录我种的树的数量呢?现在,我们可以很轻松的回答这个问题,无怪乎用1、2、3、4、5、6、7、8、9、10、11或30表示这些数量;而在罗马数字中,则分别使用Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ、Ⅺ和XXX表示。表示方式可能是不同的,但无论是现在用的11,还是罗马数字中的Ⅺ,它们的概念却是一致的:即我种的这十一棵树。在这个问题里,十一棵就是现实中的数量,11或Ⅺ就是数学中表示这个数量的符号。说这么多,只是为了强调一点,表示数字的符号是人为定义的,如果历史出现某个巧合,可能我们现在使用的就不是阿拉伯数字了;但不管使用什么符号,它表示的概念——现实中的数量却是不变的。数字只是一个人为定义的符号,但有实际的现实意义。
ObjectOutputStream追加写入导致读取报错的问题分析
问题现象:使用ObjectOutputStream向同一个文件写入多个对象,
A). 当ObjectOutputStream在打开后连续写入多个对象再关闭,可通过ObjectInputStream正常读取写入的多个对象;
B). 当每写入一个对象即关闭ObjectOutputStream并在写入下一个对象时重新打开,通过ObjectInputStream读取对象时,可以正常读取第一个对象,但读取第二个对象时报错。典型的报错信息如下:
Exception in thread "main" java.io.StreamCorruptedException: invalid type code: AC at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at com.demo.ObjectSerializationDemo.writeObjectsSeparately(ObjectSerializationDemo.java:69) at com.demo.ObjectSerializationDemo.main(ObjectSerializationDemo.java:17)
使用Wubi安装Ubuntu 14.04
Wubi(Windows Ubuntu-Based Installer)是Ubuntu官方支持的一个安装工具。我们可以使用它在Windows像安装一个普通程序一样试用Ubuntu系统。Ubuntu 13.04起停止支持Wubi,但实际发现,在Windows 8.1中仍可以使用Wubi安装Ubuntu 14.04.1 LTS。
1、下载Ubuntu安装包
从Ubuntu官网中下载Ubuntu安装包ubuntu-14.04.1-desktop-amd64.iso。
2、使用Wubi安装Ubuntu
将安装包中wubi.exe解压到与安装包相同目录下,断开网络,运行wubi.exe,在弹出界面中配置安装的磁盘分区、分配空间大小、语言、用户名、密码等,安装Ubuntu。安装完成后重启,等待后续安装工作完成后,即可进入Ubuntu系统。
RSA加/解密的Java实现
RSA算法是一种常用的非对称加密算法。所谓非对称性,是指加/解密的过程中需要两个不同的密钥——公钥和私钥,通过公钥对数据加密,通过私钥对密文解密。RSA算法的可靠性是建立在大数因数分解的难度上的。在数论中,对极大整数做因数分解的难度极大,因此决定了RSA算法的高可靠性。若想了解RSA算法的数学原理,可参考WIKI:RSA加密算法和RSA算法原理(一,二)
本文介绍在Java中实现RSA的加/解密操作。(测试环境:Windows OS, jdk_1.7.0_25)
学习Highcharts(二)从示例中认识Highcharts
从“学习Highcharts(一)”就开始构思这篇文章。一直希望做个DEMO页面,可以形象、直观的介绍Highcharts的各个组件并展示示例。趁着公司培训,终于有了机会把它做出来。
Highcharts的主要组件有:title(标题)、legend(图例)、axis(坐标轴)、tooltip(提示框)、series(数据列)。点击下方DEMO中对应标签可看到相应组件的动画演示