摘要:
本博客除了少数自己总结的文章以外全为转载(篇幅非常短的为原创文章) 阅读全文
摘要:
http://search.hatena.ne.jp/最近国内无法执行搜索 可以上国外搜索网站输入hatena+关键词 阅读全文
摘要:
此问题研究了将近一个月,最终发现由于JNI不支持C中创建共享内存而导致虚拟机无法识别这块共享内存,造成内存冲突,最终虚拟机崩溃。注意:JNI的C部分所使用的内存也是由JVM创建并管理的,所以C创建了共享内存,而JVM不知道,产生冲突而崩溃。解决方法:1 采用JNI自己的共享内存创建方式(未详细调查)2 仅通过JNI读取其他C程序(非JNI)创建的共享内存(未调查,应该没问题)查此问题小技巧:通过/var/log/message文件查出JVM terminated的问题原因:segfault通过java dump文件查出具体程序运行细节问题:无法获取shared memory等日志内容不断注释掉 阅读全文
摘要:
首先要把本地库全部配置到LD_LIBRARY_PATH中。然后一定要采用命令行方式启动eclipse(也可以写一个启动shell,通过桌面启动器打开这个shell),这样环境变量才会有效。打开终端进入eclipse目录运行./eclipse注意:采用桌面启动器方式运行eclipse的话,需要把.bashrc中的环境变量都配入启动shell中 阅读全文
摘要:
// 必须使用batik提供的JSVGScrollPane,使用swing自己的组件JScrollPane初始化时滚动条不会显示。 JSVGScrollPane svgJScrollPane = new JSVGScrollPane(svgCanvas);注意:使用此组件后,如果svg图片有更新,必须调用如下代码刷新JSVGScrollPane // 刷新svgJScrollPane svgJScrollPane.reset(); 阅读全文
摘要:
// 设置svg组件一直动态(这一行代码导致了最大化变白的问题)svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);// 以下两行解决最大化变白问题(具体原理不详)svgCanvas.setDoubleBuffered(false);svgCanvas.setDoubleBufferedRendering(false);补充:过了几天后又出现同样问题,确实是JSVGCanvas.ALWAYS_DYNAMIC这一段代码导致,准备固定组件大小,添加滚动条来解决,是否可以解决未知。最终解决方案:加了滚动条后还是无法解决,依然会变白,而且发现如果 阅读全文
摘要:
这个问题网络上没有答案,国外网站上也没有,本人研究了一天,终于搞明白如何实现,实际上是Eclipse RCP的ICommandService本身就已经提供的方法,只是网络上教的都是使用IHandlerService调用Command,而IHandlerService没有提供传递参数或者对象的功能,所以这个问题让很多人很头疼。解决方法:一 传值部分(传递的是ExecutionEvent,通过ExecutionEvent携带的ApplicationContext传递对象,还可以传递别的类型如MAP,具体请参考ExecutionEvent的代码)//获取ICommandServiceICommand 阅读全文
摘要:
1. 基本框架和内存池的使用#define MEM_ALLOC_SZ 1024int main(int argc, const char * const argv[]){apr_pool_t * pool;//内存池apr_status_t rv;char * buf;rv = apr_initialize();//初始化if( rv != APR_SUCCESS ){return -1;}rv = apr_pool_create(&pool,NULL);//创建内存池if( rv != APR_SUCCESS ){return -1;}buf = apr_palloc(pool,ME 阅读全文
摘要:
http://apr.apache.org/ 阅读全文
摘要:
UNIX下守护进程(Daemon)的编写作者:bobdai[bobdai@sohu.com] (2001-04-19 12:52:20) UNIX下的网络服务程序,如Web Server,FTP,Telnet一般都是由守护进程(Daemon)来实现的。守护进程不占用终端,在后台运行。UNIX的守护进程一般都命名为 *d 的形式,如httpd,telnetd等等。其实,守护进程的实现是非常简单的,在我的程序中,我使用一个INIT_DAEMON宏来实现守护进程的初始化工作,如图2.4所示。第一次调用fork函数,为避免挂起控制终端将守护进程放入后台执行。然后调用setsid函数脱离控制终端,... 阅读全文
摘要:
转自:http://blog.csdn.net/guichen83/article/details/4160697fork简介: fork英文原意是“分岔,分支”的意思,而在操作系统中,乃是著名的Unix(或类Unix,如Linux,Minix)中用于创建子进程的系统调用。【NOTE1】fork () 的作用是什么?换句话说,你用 fork () 的目的是什么?――是为了产生一个新的进程,地球人都知道 :)产生一个什么样的进程?――和你本来调用 fork () 的那个进程基本一样的进程,其实就是你原来进程的副本;真的完全一样吗?――当然不能完全一样,你要两个除了 pid 之外其它一模一样的进程 阅读全文