友善之臂Micro2440下的Embedded Linux中Java遇到的问题
来源:互联网 发布:阿历克斯梅森 知乎 编辑:程序博客网 时间:2024/05/17 03:09
最近在做一个项目中使用了友善之臂Micro2440,其中系统使用的是Embedded Linux。遇到了一个问题,就是程序运行非常的缓慢。
开始以为是读写文件的问题,于是测试过将数据写到excel中、sqlite数据库中、csv文件中,结果都是不行。
也曾经以为是JVM的内存不够,后来设置-Xms16m -Xmx32m,结果还是不行。
最后经过测试发现,居然是SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");这行代码运行特别的缓慢。每次执行居然需要2~3s的时间,后来没有办法,使用了自己写的时间对象和字符串对象的转换函数。终于将这个问题解决了。这里将代码写出来与大家共享。
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class TimeFormatProcess {
/*
* 功能:将形如“ 2012-08-02 22:56:00”的字符串(字符串长度19)
* 转换为Calendar类,并返回一个Calendar对象
* 作者:YOUYOU
* 备注:该函数配合运行于Micro2440上的Embedded Linux
* 因为SimpleDateFormat 类在Embedded Linux平台上响应
* 太慢(2~3秒)
*/
public static Calendar praseStringToCalendar(String strCalendar) {
String strYear = null;
String strMonth = null;
String strDay = null;
String strHour = null;
String strMinute = null;
String strSecond = null;
int iYear = 0;
int iMonth = 0;
int iDay = 0;
int iHour = 0;
int iMinute = 0;
int iSecond = 0;
strYear = strCalendar.substring(0, 4);
iYear = Integer.valueOf(strYear);
// System.out.println(iYear);
strMonth = strCalendar.substring(5, 7);
iMonth = Integer.valueOf(strMonth);
// System.out.println(iMonth);
strDay = strCalendar.substring(8, 10);
iDay = Integer.valueOf(strDay);
// System.out.println(iDay);
strHour = strCalendar.substring(11, 13);
iHour = Integer.valueOf(strHour);
// System.out.println(iHour);
strMinute = strCalendar.substring(14, 16);
iMinute = Integer.valueOf(strMinute);
// System.out.println(iMinute);
strSecond = strCalendar.substring(17);
iSecond = Integer.valueOf(strSecond);
// System.out.println(iSecond);
return calTemp;
}
/*
* 功能:将一个Calendar对象转化为形如“ 2012-08-02 22:56:00”的
* 字符串(字符串长度19),并返回一个String对象
* 作者:YOUYOU
* 备注:该函数配合运行于Micro2440上的Embedded Linux
* 因为SimpleDateFormat 类在Embedded Linux平台上响应
* 太慢(2~3秒)
*/
public static String praseCanlendarToString(Calendar calTemp){
Timestamp timestampTemp = new Timestamp(calTemp.getTimeInMillis());
String strAllTimeTemp = timestampTemp.toString();
String strTimeTemp = strAllTimeTemp.substring(0, 19);
return strTimeTemp;
}
}
- 友善之臂Micro2440下的Embedded Linux中Java遇到的问题
- 友善之臂Micro2440下的Embedded Linux的硬件时间设置
- 友善之臂Micro2440下的Embedded Linux的定时reboot
- 友善之臂Micro2440下的Embedded Linux的定时reboot
- 友善之臂Micro2440嵌入式Linux下实现华为EC189 电信3G拨号上网方法
- 友善之臂micro2440之J-TAG配置
- 友善之臂Mini2440之嵌入式Linux下应用程序对Nand Flash的读写操作
- Windows XP Embedded安装过程中遇到的问题
- RHEL6下友善之臂交叉编译工具的安装
- 关于友善之臂4412无法出声音的问题
- 友善之臂mini2440的linux系统快速搭建
- 友善之臂NanoPC-T3 内核编译 遇到问题
- arm-linux下QtE运行环境的搭建-micro2440
- Linux下C代码开发中遇到的问题集锦
- linux中遇到的问题
- java中遇到的问题...
- java中遇到的问题
- JAVA中遇到的问题
- javascript中replace的使用
- 强大的JS,增加删除表格数据。
- 通过bbed修改表的数据内容
- hdoj 1232 畅通工程
- IaaS平台架构(一):价值
- 友善之臂Micro2440下的Embedded Linux中Java遇到的问题
- 摘抄
- poj 2396 budget
- Android 遍历文件夹,搜索指定扩展名的文件
- RAM、ROM、SRAM、SSRAM、SDRAM 。flash
- HDU 2504 又见GCD
- html5 resource
- dedeCMS模板布局的改变的一个例子
- 6.EL入门:foreach