- 浏览: 190924 次
- 性别:
- 来自: 苏州
最新评论
-
wanglijunjsj:
谢谢,很有用
java log4j的一些总结 -
lxb_champagne:
this.init(); 类都没初始化好,this没用的。
java final变量的初始化问题 -
lg_asus:
上面代码有点小问题,最新代码:
public class Pr ...
判断素数 -
lg_asus:
测试10 million的以内的数据,算出所有素数时间在500 ...
判断素数 -
lg_asus:
文章中说错了:如果只是找一个数在不在其中,则可以直接遍历一次, ...
40亿不重复的正整数,如何判断一个数是否在其中
文章列表
引用struts-json-plugin.XX.xx.jar。引入它里面的json-plugin.xml,然后user的package要继承json-default。引入json interceptor,如下:
<interceptors>
<interceptor-stack name="ecsStack">
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled"> ...
前面几篇blog记录的都是java中一些很基础的知识,但不经常遇到,对于我这个有2年多开发经验的码农来说,还是不知其原理。因此这里单独开篇blog来记录开发中遇到的一些很基础很有用的skills。 注:很多思想都是来自群中的讨论,在此感谢tank大牛,教会了我好多东西,thx very much. (这篇blog原本是把群的号给公布出来,我只是想让更多java lover加入群中,没想到web master把blog移入到了回收站,my god,以为我是打广告的么。不过,还是很欣赏管理员的铁面无私,加油,iteye)
skill 1: 不要在for循环中访问链表,而是用遍历器。原因:链表访问 ...
泛型类不能继承Throwable及其子类
- 博客分类:
- java基础
class A<T> extends Throwable/RuntimeException
上面这段代码编译会报错,原因:由于Throwable及其子类是会在任何地方throws或catch,如果有泛型的话,那么在别的地方是不能确定泛型参数T的。
thanks for tank.
程序设计中的扇入扇出
- 博客分类:
- 编程相关
转载:http://blog.csdn.net/cuixinminsuijie/article/details/3497442?reload
在软件设计中,扇入和扇出的概念是指应用程序模块之间的层次调用情况。
按照结构化设计方法,一个应用程序是由多个功能相对独立的模块所组成。
扇入:是指直接调用该模块的 上级模块的个数。扇入大表示模块的复用程序高。
扇出:是指该模块直接调用的下级模块的个数。扇出大表示模块的复杂度高,需要控制和协调过多的下级模块;但扇出过小(例如总是1)也不好。扇出过 大一般是因为缺乏中间层次,应该适当增加中间层次的模块。扇出太小时可以把下级模块进一步分解成若干个子 ...
一直使用(totalRecordSize - 1) / pageRecordSize + 1 来计算pageCount, 今天被群里的tank告知,如果totalRecordSize=0则上面这个式子结果是1,显然不对。
换成这个: (totalRecordSize + pageRecordSize - 1) / pageRecordSize 就会避免上面这个问题。
1:制定API的时候,一定要考虑到参数类型、方法返回类型和所能抛出的异常,由于API改动的代价非常大,因此一定要考虑清楚,API要考虑后续的扩展,一个方法的内部实现是可以随意变化的,只要保证实现向后兼容就行,但暴露出来的API一般就不可能再去变了。
2:制定xml格式的时候,能用属性最好不要用text,因为属性用dtd/schema容易约束,而text则不好或不能约束。
群内tank给的例子:
<contact>
<name>张三</name>
<email>xxx@example.com</email>
</contrac ...
运行时异常可以不捕获,即使一段代码不可能抛出这个RuntimeException,你也可以在任何时候任何地点抛出这个RuntimeException,因此我建议RuntimeException不抛也不捕获,统一交给处理程序最后处理(调用者一般不会知道一个方法会抛出哪些RuntimeException的,因此由程序统一处理)
重写方法时,不能声明抛出和父类方法异常不兼容的异常。如父类抛出一个IOException,这时子类方法可以抛出IOException或Exception(不然里氏替换原则不满足),也可以不声明抛出异常。
编译期异常要显式捕获或往上抛(方法里要显式声明抛转这个异常)。
...
项目需要,从XML中读取数据生成一个Tree,然后可以对叶子节点的值(属性不可以)进行编辑,并最后保存。
/**
* chega
* 2012-12-17下午2:11:42
*/
package com.java2s.www;
import java.io.File;
import java.io.IOException;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import o ...
oracle启动出错解决过程记录
- 博客分类:
- oracle
今天启动oracle的时候,结果报:无监听程序,但昨天还是好好的,后来在命令行中启动监听器和服务:
lsnrctl [stop] [start] [status] 这三个命令,都可以正在运行,
net start oracleserviceXXX 也能正常启动。
后来在任务管理器中发现启动的XXX实例竟然只占用20M内存,和以前几百M内存相比,简直小的太多,当时就认为实例可能没有成功启动。
后来就想用startup来分阶段启动实例,见 http://blog.csdn.net/robinson_0612/article/details/5542983
结果sqlplus / as sysdba ...
推荐参考:
http://rox-xmlrpc.sourceforge.net/niotut/index.html
下面是我写的一个小demo:
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import ...
关于字符编码ascii unicode 及utf8相关知识,请参考:
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
和
http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/
单向链表的删除和反转
- 博客分类:
- 数据结构+算法
今天部门测试,两道题:
1:删除一个单向链表中值为某个特定值的所有节点
2:把一个单向链表反转
第一个题目比较简单,第二个题目有点难,我吭哧半天没搞出来,丢人。。。
写在卷面上的答案要是搬到计算机上,100%得不到正确结果,呃,太依赖调试了。。。
Node类:
/**
* chega
* 2012-12-5下午2:55:52
*/
/**
* @author chega
*
* 2012-12-5下午2:55:52
*
*/
public class Node
{
public int item;
public Node next; ...
一:求GCG(greatest common divisor)
analysis: tow nonnegative integer p and q, if q is 0 then gcd is q, then the gcd is the greatest common divisor of q and p%q. q和p%q的最大公约数,当然也是p和q的最大公约数。
int gcd(int p, int q){
if(q == 0) return q;
return gcd(q, p% ...
CountDownLatch只能使用一次,cyclicBarrier可以重复使用,同时还提供barrierAction。 在功能上,cyclicBarrier可以完全替代countdownlatch, 但是性能上,如果同时工作的线程在几百数量级,则两者性能差不多,但是在千/万数量级的线程时,countdownlatch性能远远高于cyclicbarrier。
下面是测试代码,改变count值,观察输出结果:
public class Test2
{
CyclicBarrier barrier;
CountDownLatch latch;
int count;
long ...
greedy, reluctant, possessive 三种匹配模式在 http://docs.oracle.com/javase/tutorial/essential/regex/quant.html有详细介绍,
greedy表示每次eat entire string, if not matched, back off one character step by step until matches, so for the remaining string; reluctant means eat "nothing" at first, if not matched, ...