java

java环境变量和查看安装路径

星期二, 十二月 27th, 2011 | JAVA-and-J2EE, linux | 没有评论

一:先说windows查看安装路径和版本吧:
set java_home:查看JDK安装路径
java -version:查看JDK版本
linux下查看:
whereis java
which java (java执行路径)
echo $JAVA_HOME
echo $PATH

二:下面是配置linux的环境变量:(记得source .bash_profile)
1. 修改/etc/profile文件 (全局所有用户)
› Continue reading

Tags: , , ,

约瑟夫环的3种java实现版本

星期三, 十二月 7th, 2011 | JAVA-and-J2EE | 没有评论

约瑟夫环即:
由m个人围成一个首尾相连的圈报数。从第一个人开始,从1开始报数,报到n的人出圈,剩下的人继续从1开始报数,直到所有的人都出圈为止。对于给定的m和n,求出所有人的出圈顺序.

实现代码如下,(3百万的寻找)对比的时间一目了然,性能依次走低,最后一种和前面两个差了1个数量级,时间还最长

getSeByNode 耗时 :1039
getSe 耗时 :3397
se 耗时 :38388
› Continue reading

Tags: , ,

Spring cronExpression Quartz 触发器(SimpleTrigger&CronTrigger ) 配置说明

星期五, 十一月 4th, 2011 | JAVA-and-J2EE | 没有评论

字段 允许值 允许的特殊字符
秒 0-59 , – * /
分 0-59 , – * /
小时 0-23 , – * /
日期 1-31 , – * ? / L W C
月份 1-12 或者 JAN-DEC , – * /
星期 1-7 或者 SUN-SAT , – * ? / L C #
年(可选) 留空, 1970-2099 , – * /
表达式意义 (示例:)
“0 0 12 * * ?” 每天中午12点触发
“0 15 10 ? * *” 每天上午10:15触发
“0 15 10 * * ?” 每天上午10:15触发
“0 15 10 * * ? *” 每天上午10:15触发
“0 15 10 * * ? 2005” 2005年的每天上午10:15触发
“0 * 14 * * ?” 在每天下午2点到下午2:59期间的每1分钟触发
“0 0/5 14 * * ?” 在每天下午2点到下午2:55期间的每5分钟触发
“0 0/5 14,18 * * ?” 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
“0 0-5 14 * * ?” 在每天下午2点到下午2:05期间的每1分钟触发
“0 10,44 14 ? 3 WED” 每年三月的星期三的下午2:10和2:44触发
“0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发
“0 15 10 15 * ?” 每月15日上午10:15触发
“0 15 10 L * ?” 每月最后一日的上午10:15触发
“0 15 10 ? * 6L” 每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6L 2002-2005” 2002年至2005年的每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6#3” 每月的第三个星期五上午10:15触发
0 6 * * * 每天早上6点
0 3/10,6/10 * * * 每3,6每隔10分钟执行一次,即 3,6,13,16,23,26….执行

0 */2 * * * 每两个小时

0 23-7/2,8 * * * 晚上11点到早上8点之间每两个小时,早上八点

0 11 4 * 1-3 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 4 1 1 * 1月1日早上4点

上面是范例×××××××××××××××××××××××××××××××××××××××××××××××××××分割下××××××××××××
具体的含义:Cron 表达式包括以下 7 个字段:
› Continue reading

Tags: , , , ,

sqlite的java使用

星期三, 六月 8th, 2011 | JAVA-and-J2EE, linux | 没有评论

sqlite大名鼎鼎的文本存储,支持sql的方式和带事务支持,sqlite是c写的,官方没有java的api使用,在开源中找到2中方式:

SQLiteJDBC:http://www.zentus.com/sqlitejdbc/,这是一个纯Java的实现,无需安装sqlite,官方号称用c转成java的实现方式,用起来相当方便,引入此jar即可,方便使用,可能效率会慢点;
SQLite Java Wrapper: http://www.ch-werner.de/javasqlite,安装的时候需要本地库,比如windows下的dll文件,和SQLiteJDBC的优缺点相反,还要自行去编译,比较麻烦;
下面是 使用SQLiteJDBC的应用: › Continue reading

Tags: , , , ,

获取MAC地址,java版本

星期二, 十二月 14th, 2010 | JAVA-and-J2EE | 没有评论

获取MAC地址,java版本,从jdk1.6支持,不啰嗦了,上代码
› Continue reading

Tags: , ,

检出字符串中的中文 java版

星期日, 十二月 5th, 2010 | JAVA-and-J2EE | 没有评论

话不多说了,就是检出字符串中的中文而已,直接上代码了,没有什么难的了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.liyz.test.str;
public class TestChinese {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str="中文国际 id chinese ? test  power by I5A6!!";
		String s=getChineseStr(str);
		System.out.println(s);
		System.out.println(s.length());
	}
 
	/**
	 * 检出其中的中文部分
	 * @param str
	 * @return
	 */
	public static String getChineseStr(String str){
		StringBuffer sb=new StringBuffer();
		String tempStr;
		for(int i=0;i<str.length();i++){
			tempStr=String.valueOf(str.charAt(i));
			if(tempStr.getBytes().length==2){
				sb.append(tempStr);
			}
		}
		return sb.toString();
	}
}

Tags: , ,

重读 java heap和stack

星期二, 九月 14th, 2010 | JAVA-and-J2EE | 没有评论

好久没有关注过语言本身的东西,更多是关注怎么实现要做的功能的实现方法,变换着使用不同不语言;
不过多语言的研究还是有必要的,现做个记录….
以下为转载————-更多信息可以去读读java虚拟机的相关内容—————————-
heap和stack有什么区别。栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元素.
堆存储:heapstorage
堆存储分配: heapstorage allocation
堆存储管理: heap storage management
栈编址: stack addressing
栈变换:stack transformation
栈存储器:stack memory
栈单元: stack cel

在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。
一般,JVM的内存分为两部分:Stack和Heap。
Stack(栈)是JVM的内存指令区。Stack管理很简单,push一定长度字节的数据或者指令,Stack指针压栈相应的字节位移;pop一定字节长度数据或者指令,Stack指针弹栈。Stack的速度很快,管理很简单,并且每次操作的数据或者指令字节长度是已知的。所以Java 基本数据类型,Java 指令代码,常量都保存在Stack中。
› Continue reading

Tags: , , ,

MyEclipse保存后不能自动编译 导致Tomcat发布报警告

星期五, 十二月 25th, 2009 | JAVA-and-J2EE | 没有评论

以前的工程好好的发布,今天发布的时候报了个警告,于是就把工程重建了下,竟发现不能编译了,吐血中ing,再查看WEB-INF/classes/,竟然里面是空的,而output路径也设的好好的啊,怪了,于是google了一下,发现有此问题的人还不少,其中有一位总结的比较详细,具体如下:

1. 确保 project->build automatically 已经被选上.

2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean select project, 勾上start build immediatelly

3.删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存的时候就可以自动编译了

4.如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果.

5. 想删掉某个class文件重新生成,删除class文件后,但classes目录下的文件夹被其它程序打开,比如Total Commander。此时编译也不会通过,在problems下可能会提示“con”t delete classes ……”。关掉其它程序重新编译即可。

6.还有种情况是remove掉 JRE System Library,重新导入即可编译。但是什么原因导致的还不清楚。

7.把build path中所有包都remove掉。然后又add jars,add libraries把需要的加进去,居然又开始编译了。。。

8.project->properties->java build path->source->…/WEB-INF/src的output folder不要默认,编辑让它指向../WEB-INF/classes 然后重新点击build工程即可自动编译。

9.再就是最重要的要看工程下面是否缺少了work目录,由于CVS控制时不把work加如版本,所以checkout后没有这个目录,要手工加上有的工程就能自动编译了

PS:我的问题就是一个同事加了本地的jar包进去导致的不能编译输出,在project下的lib下看到jar包在他的路径下,哎,耽误那么长功夫查找,不过遇见问题就要解决问题才是正道,呵呵

Tags: , , , ,

Resin4.0安装小记

星期日, 十月 18th, 2009 | JAVA-and-J2EE, linux, php | 2条评论

Resin出了4.0版本,一直喜欢尝试新东西的直接; 就下载安装了下,安装起来很简单,可以到Resin Download去下载,其实以前在windows中下载过,可惜执行的时候一闪而过,当时没有在意也没有去管他了,今天又在linux下去真正用下了;
1.tar zxvf resin-4.0.1.tar.gz
2.cd resin-4.0.1
3../configure
4.make & make install
5.修改resin.xml的用户组 www-user,给赋予webapps的对应的用户组权限
6../bin resin.sh start 不报错的就可以http://localhost:8080/看到页面了,记得防火墙的8080端口要打开哦

不过可惜的是4.0版本据说不稳定,有人发生宕机事件,还有就是有的在上面运行出错的问题;
再者看resin的主要意图是增加对php的支持,研习resin4.0版本的文档也不是很多
为了稳定还是延续使用ReResin Pro 3.1.9版本
最近会处理一些nginx+resin的处理,还有resin本身的集群功能;nginx+PHP(FastCGI)+mysql已经搭建完毕

Tags: , , , ,

遭遇db2频繁报内存不足的OS错误勘误解决方法

星期日, 十月 11th, 2009 | Database, JAVA-and-J2EE | 一条评论

异常信息,因为有数据库的轮循处理,查询比较频繁,加上有高的并发访问,不到2个小时就挂掉了
希望高手求解!(下面是论坛的求助和解决方案,最终还是sql的实参过多,缓存溢出造成)

2009-09-29-19.48.24.000000+480 I34133163H580 LEVEL: Warning
› Continue reading

Tags: , , ,

Rss

Search

文章分类

Meta