CentOS 删除自带的OpenJDK 和 安装SunJDK suny

卸载OpenJDK:
[root@WX32 local]# java -version
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

[root@WX32 local]# rpm -qa | grep java
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

[root@WX32 local]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
[root@WX32 local]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

...

jstl fmt:formatDate的输出格式 cloudy

<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59

<fmt:formatDate value="${date}" type="date"/>
2004-4-1

<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59

...

JMF 播放MP3文件以及获取音轨长度 suny

JMF核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。详细介绍

   java代码
  1. import java.io.File;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Calendar;  
  4.  
  5. import javax.media.Format;  
  6. import javax.media.Manager;  
  7. import javax.media.Player;  
  8. import javax.media.PlugInManager;  
  9. import javax.media.format.AudioFormat;  
  10.  
  11. public class MyTest {  
  12.  
  13.     /**  
  14.      * @param args  
  15.      * @throws Exception  
  16.      */ 
  17.     public static void main(String[] args) throws Exception {  
  18.         MyTest.Play("D:\\test.mp3");  
  19.     }  
  20.  
  21.     // 播放音频文件  
  22.     public static void Play(String fileurl) {  
  23.         try {  
  24.             Format inMp3 = new AudioFormat(AudioFormat.MPEGLAYER3);  
  25.             Format outLinear = new AudioFormat(AudioFormat.LINEAR);  
  26.  
  27.             PlugInManager.addPlugIn(  
  28.                     "com.sun.media.codec.audio.mp3.JavaDecoder",  
  29.                     new Format[] { inMp3 }, new Format[] { outLinear },  
  30.                     PlugInManager.CODEC);  
  31.  
  32.             File file = new File(fileurl);  
  33.             Player player = Manager.createPlayer(file.toURI().toURL());  
  34.             player.start();  
  35.             Thread.sleep(500);  
  36.  
  37.             double seconds = player.getDuration().getSeconds();  
  38.             System.out.println("MediaTime:" + seconds);  
  39.             System.out.println("MediaTime:" + getTime(seconds));  
  40.         } catch (Exception e) {  
  41.             e.printStackTrace();  
  42.         }  
  43.     }  
  44.  
  45.     public static String getTime(double time) {  
  46.         int millis = Integer.parseInt(String.valueOf(Math.round(time)));  
  47.         Calendar cal = Calendar.getInstance();  
  48.         cal.set(00000, millis);  
  49.  
  50.         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");  
  51.         return sdf.format(cal.getTime());  
  52.     }  
  53.  

MySql提示:The server quit without updating PID file(…)失败 cloud

1.可能是/home/data/mysql 文件夹没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /home/data/mysql” “chmod -R 755 /home/data/mysql” 然后重新启动mysqld!

2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

...

Eclipse快捷键大全(转载) cloud

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变为小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

 

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

...

不受支持的 SQL 类型 1111 rainy

Sybase 的官方驱动 jConnect4 (链接字符串:jdbc:sybase:Tds:127.0.0.1:5000/xxx) 结合myBatis使用时,发现如下问题,当insert或者update语句的变量含有null值,会报错:

 ### Cause: java.sql.SQLException: JZ006: 捕获到 IO 例外:java.io.IOException: JZ0SL: 不受支持的 SQL 类型 1111。

Cause: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported SQL type 1111.

由于参数出现了null值,myBatis进行操作的时候,指定jdbcType类型的参数时,mybatis默认设置为jdbcType.OTHER,导致Sybase数据库无法识别此格式。

...

Bootstrap CSS/HTML框架 suny

关于:Bootstrap

Sleek, intuitive, and powerful front-end framework for faster and easier web development.
简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。

...

Spring 打包成jar 在Linux下运行的问题 suny

在本地Eclipse开发和调试是没问题的,打包成jar放到Linux下无法启动,报错:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mainThead' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 17 more

其中“mainThead”是通过 spring的@service注解的(使用@Component)也一样。

...

myBatis 存储过程返回值的问题 cloud

今天在调试myBatis调用Sybase数据库的存储过程的时候,出现了如下错误:

org.apache.ibatis.binding.BindingException: Mapper method 'getNextKey' (interface com.xxxxxxx.PackHandleMapper) attempted to return null from a method with a primitive return type (long).
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:37)
at $Proxy17.getNextKey(Unknown Source)
....

报错信息言下之意是返回值为空,可是我的存储过程明明是返回了一个记录集,存储过程如下:

...

DB2 SEQUENCE 序列的问题 suny

1、创建索引的时候,最好不要加双引号,比如:

db2 ==> CREATE SEQUENCE "seq_test" ...

应该改为:

...

Total:13312345678910›››|14 Pages