GNU Make学习笔记
make
概述
对于任何编译器可以通过Shell调用的编程语言,均可以通过GNU Make(以下称make)构建。make可以用于任何这样的任务:如果某些文件所依赖的文件发生了变化,则自动更新这些文件。
需要编写makefile文件来使用make,该文件中包含了文件之间的依赖关系、提供更新每个文件的命令,在makefile所在目录中运行make命令,即可完成文件更新,make会根据文件名GNUmakefile、makefile、Makefile依次寻找,可…
阅读全文
15 years ago
0
Spring知识集锦
配置
Spring各种注入方式的区别
| 注入方式 | 说明 |
| @Resource | 来源:JSR250 (Common Annotations for Java) 注入方式:
|
15 years ago
0
Linux内核学习笔记(五)
调试
内核的调试比用户级程序困难的多,并且风险高——内核中的一个错误可能导致系统立即崩溃。驾驭内核调试的能力很大程度上取决于经验和对内核的深刻理解。
通过打印来调试
内核提供的打印函数 printk() 与对应的C库函数功能几乎相同,但是它有一些特殊的特性:
健壮性
printk()函数是个弹性极佳的函数,可以在中断上下文、进程上下文、持有任何锁时、…
阅读全文
15 years ago
0
Dom4j知识集锦
如何禁止加载XSD和DTD
|
1 2 |
SAXReader reader = new SAXReader( true ); reader.setFeature( Constants.XERCES_FEATURE_PREFIX + Constants.LOAD_EXTERNAL_DTD_FEATURE, false ); |
DTD验证,无法联网时报错
通过指定本地的DTD文档来解决:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SAXReader reader = new SAXReader( true ); reader.setEntityResolver( new EntityResolver() { public InputSource resolveEntity( String publicId, String systemId ) { if ( publicId.equals( "-//Hibernate/Hibernate Mapping DTD 3.0//EN" ) ) { InputStream in = getClass().getResourceAsStream( "/hibernate-mapping-3.0.dtd" ); return new InputSource( in ); } return null; } } ); |
使用JAXP来进行XSD验证
Dom4j如何格式化XML输出
如何使用XPath解析带名字空间的XML
Dom4j访问者模式中,删除节点导致NullPointerException
报错:java.lang.NullPointerException at org.dom4j.tree.AbstractElement.accept(AbstractElement.java:208)
解决:在访问者中记录需要删除的节点,访问结束后一… 阅读全文
15 years ago
0
Linux文本编辑器
启动
|
1 2 |
# 以窗口模式启动 emacs -nw |
常用快捷键
C默认为Ctrl键,M默认为Alt键
| 快捷键 | 说明 |
| 基本 | |
| C-x C-c | 退出 |
| C-x C-f | 打开/新建文件 |
| C-x C-s | 保存文件 |
| C-x C-w | 另存为 |
| C-g | 取消正在编辑的命令 |
| C-` | 激活菜单,和我的环境冲突。修改为C-\ |
| M-x | 输入命令 |
| 光标 | |
| C-v M-v | 下一页 上一页 |
| C-l | 当前行居中显示 |
| C-b C-f… | |
15 years ago
0
Linux内核学习笔记(四)
I/O系统架构
当Linux内核组件要读写一些数据时,并不是请求一发出,内核便立即执行该请求,而是将其推迟执行。当传输一个新数据块时,内核需要检查它能否通过。Linux IO调度程序是介于通用块层和块设备驱动程序之间,所…
阅读全文
15 years ago
0
Linux内核学习笔记(三)
Linux使用虚拟内存技术。它是一种位于应用程序内存请求与内存管理单元(MMU,一般是集成于CPU的硬件)硬件之间的抽象层。虚拟内存计数有以下优势:
- 多个进程可以同时并发的运行,使用重复的虚拟内存地址
- 应用程序所需内存大于物理内存时也可以运行
- 程序代码中,只有部…
15 years ago
0
Linux内核学习笔记(二)
x86平台中,一个进程调用C库函数读取文件内容,其经历的处理步骤可能如下:
- 在用户空间,进程调用fread()库函数
- 库函数触发read()系统调用
- 0x80软中断被触发,CR0寄存器的PE位被置0,进入内核态
- read()系统调用对VFS层发起调用file_op…
15 years ago
0

