摘要: 通过一些实际项目的开发,发现这样一个现象,在 Windows 下可以通过指定 __declspec(dllexport) 定义来控制 DLL(动态链接库)中哪些函数可以导出,暴露给其他程序链接使用,哪些函数是 DLL 内部自己使用;而在 Linux 下不存在 dllexport 这样的指示字,默认情... 阅读全文
posted @ 2015-12-05 17:48 小侠猫猫球 阅读(2867) 评论(0) 推荐(0) 编辑
摘要: 在 Windows 下用 TDM-GCC(MinGW)开发 DLL 如果要用到数据同步锁,理论上可以采用 Windows API 提供的临界区实现(需要用到的函数有 InitializeCriticalSection、DeleteCriticalSection、EnterCriticalSectio... 阅读全文
posted @ 2015-12-05 17:39 小侠猫猫球 阅读(493) 评论(0) 推荐(0) 编辑
摘要: Java5引入的Concurrent并发库软件包中,提供了ReentrantLock可重入同步锁,用来替代synchronized关键字原语,并可提供更好的性能,以及更强大的功能。使用方法也很简单:publicfinalReentrantLocklock=newReentrantLock();...... 阅读全文
posted @ 2015-12-05 17:37 小侠猫猫球 阅读(257) 评论(0) 推荐(0) 编辑
摘要: Java5引入的Concurrent并发库软件包中的CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点(commonbarrierpoint)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该barri... 阅读全文
posted @ 2015-12-05 17:36 小侠猫猫球 阅读(340) 评论(0) 推荐(0) 编辑
摘要: Java5开始引入的Concurrent并发软件包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。CountDownLatch的一个非常典型的应用场景是:有一个任务想要... 阅读全文
posted @ 2015-12-05 17:35 小侠猫猫球 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: Java5开始引入Conccurent软件包,提供完备的并发能力,对线程池有了更好的支持。其中,Executor框架是最值得称道的。Executor框架是指java5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorSer... 阅读全文
posted @ 2015-12-05 17:34 小侠猫猫球 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 动态库尤其是共享库在 Linux 环境下普遍存在库文件名包含版本号的情况,比如 Linux 环境下经常会发现一个共享库的真实文件名是 libfoo.so.1.1.0,而同时会有多个指向该真实库文件的软连接短文件名:libfoo.so.1.1、libfoo.so.1、libfoo.so。那么我们在使用... 阅读全文
posted @ 2015-12-05 17:26 小侠猫猫球 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 最近在给项目团队开发一个基于 Java 的通用的 XML 分析器时,设计了一个方法,能够读取现成的 XML 文件进行分析处理,当然 XML 都是采用 UTF-8 进行编码的。但是在用 UltraEdit 写了一个测试用的 UTF-8 XML 文件后,程序在读取该文件时发生错误:Parse Fatal... 阅读全文
posted @ 2015-12-05 17:22 小侠猫猫球 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 因为某个项目需要,为团队其他兄弟姐妹开发了一个 XML 分析处理器,并将其设计为一个类库,提供相应的 API 接口。为了方便大家的使用,需要生成对应的 JavaDoc 帮助文档,就像 JavaSE 标准库提供的 JavaDoc 那样。我的开发工具为 IntelliJ IDEA 12.1.6,本身提供... 阅读全文
posted @ 2015-12-05 17:21 小侠猫猫球 阅读(10649) 评论(2) 推荐(3) 编辑
摘要: MacBook Pro以及iMac等设备都具备雷电接口和USB 3.0接口,配合使用Mac OS X格式化的专用高速移动硬盘读写数据都非常快。那么这种硬盘可以在Linux下被读写吗?其实,Mac OS X采用的是其自家的HFS+文件系统格式,用它对移动硬盘进行格式化后,默认情况下Linux只能读,不... 阅读全文
posted @ 2015-12-05 17:16 小侠猫猫球 阅读(826) 评论(0) 推荐(0) 编辑