4.11
也许你并不是最好的一个,也并不是最适合我的那一个。可是当我遇见你,我一直便不想再遇见任何人了。
如题,最近在研究Android的定位,在DDMS里给模拟器上运行的2.3版的虚拟机发送经纬度信息时,虚拟机重启。
在DDMS里观察到经纬度信息发送出去后,虚拟机的所有进程都被kill掉,直接导致了虚拟机重启,重启后一直停留在启动界面。
我在Google Code上的Android Project里找到了国外开发者反馈的问题描述。
https://code.google.com/p/android/issues/detail?id=13015
里面提到用DDMS发送给虚拟机时,操作系统接收到SIGSEGV系统信号,此信号直接导致了所有进程被kill掉。
此问题在2011年10月已被解决,后续发布的版本应该不会再存在此问题。
受影响的版本有2.3到2.3.3版。
亲身测试过2.2版的不存在此问题。
目前的解决方法。。。就是避开这几个版本。。。
最近在监控一个程序的运行日志时发现有很多ORA-01458错误,该错误由Pro*C调用PL/SQL块时产生。
奇怪的是该错误有时有、有时没有,随机性很大。
该存储过程定义如下:
DoReport(:id,:state,:errorcode,:ora_int_ret,:ora_mess);
其中id,state,errorcode为输入参数,ora_int_ret,ora_mess为输出参数。
相关的声明如下:
EXEC SQL BEGIN DECLARE SECTION;
varchar id[30];
int state;
int errorcode;
int ora_int_ret;
varchar ora_mess[120];
EXEC SQL END DECLARE SECTION;
经百度谷歌了一把,最后在Oracle官方论坛上找到了答案。
https://forums.oracle.com/forums/thread.jspa?threadID=1068115
http://docs.oracle.com/cd/B19306_01/appdev.102/b14407/pc_07pls.htm#i2336
Note:
To use VARCHAR, CHARZ, or STRING types as output host variables in PL/SQL blocks, you must initialize the length before entering the block. Set the length to the declared (maximum) length of the VARCHAR, CHARZ, or STRING.
在用到VARCHAR, CHARZ, or STRING三种类型的输出参数时,要先初始化它们的长度。
初始化的反法很简单
ora_mess.len=120;
修改过后程序就正常了。
最近公司安排做wap开发,在UC浏览器7.9安卓版上做测试。
发现了一个UC浏览器传递参数的奇怪问题,不管页面中采用了GBK,gb2312还是何种编码,Tomcat中是否设置URIEncoding,传递参数时都会出现乱码,只有在UTF-8下是正常的。
为了验证,写了两段代码。
阅读全文…
通用的程序运行超时控制只能使用多线程的方式,由一个线程作为守护线程进行计时(线程A),而另一个线程则负责处理业务逻辑(线程B),当线程A发现线程B超时时,终止线程B的运行。
守护线程内包含一个计时器,在超时的情况下抛出个timeoutException的异常,捕获该异常后终止业务线程。
关于建立守护线程:
从JDK 1.5开始新增了java.net.concurrent包,其中的Future和ExecutorService可作为守护线程类进行计时,使用该类可以很方便的进行多线程的运行控制。
至于JDK1.4版,也可以用多线程的方式来实现,不过守护线程需要自己写。
对于博客来说,网站成本无非两大项,域名费和主机费,域名费.com一年大概50多,主机费用一个月0到几十不等,这样算下来,一年几百的博客维护成本不算一个大数目,当然,也不算一个小数目。怎样才能通过博客赚到网站运行所需的这几百块钱呢?
对于广大博主来说,不是所有个人博客都像卢松松博客那样有那么高的流量,相信大多数的博客访问量都很低,每天独立访客很少会超过100。如果您的博客也是如此,那么我可以很明确地告诉你,放弃广告赚钱这途径吧,可能10年内都达不到Google Adsense的100美元提款下限。而国内各类浮窗/弹窗联盟等虽然费用高,但是内容低俗,严重影响访客的体验。为了长远考虑,放弃在博客上投放广告吧。
这里博主就总结几类让博客自给自足的邪门歪道的办法。
最新评论