`
文章列表
1、try块中没有抛出异常,try、catch和finally块中都有return语句 public static int NoException(){          int i=10;          try{            System.out.println("i in try block is:"+i);            return --i;          }          catch(Exception e){            --i;            System.out.println("i in catch ...
Java动态代理的InvocationHandler设计的问题 Java的动态代理需要一个InvocationHandler实例,这个实例就是代理处理程序。 这个接口中有一个方法: Objectinvoke(Object proxy,               Method method,               Object[] args)               throws Throwable 在代理实例上处理方法调用并返回结果。在与方法关联的代理实例上调用方法时,将在调用处理程序上调用此方法。 参数: proxy - 在其上调用方法的代理实例 method - 对应于在代 ...
Java内存泄露原因整理 一、Java内存回收机制   不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图的方法进行管理内存,实时监控对象是否可以达到,如果不可到达,则就将其回收,这样也可以消除引用循环的问题。在Java语言中,判断一个内存空间是否符合垃圾收集标准有两个:一个是给对 ...
在语法上,抽象类和接口有着以下不同: 1.abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 继承抽象类使用的是extends关键字,实现接口使用的是implements关键字,继承写在前面,实现接口写在后面。如果实现多个接口,中间用逗号分隔。例: public class Main extends JApplet public class Main implements Runnable public class Main extends JApplet implements ActionListener ...
1. 找出程序中会变化的方面,然后将其和固定不 变的方面相分离。 2. 针对接口编程,不针对实现编程 3. 多用组合,少用继承 4. 类应该对扩展开放,对修改关闭。
java 利用poi 读execel文件的操作,读取总的数据行数一般是通过调用 sheet.getLastRowNum() ;可是这样有时候会出现一些问题,例如,当其中一行的数据的确都为空,可是其原本的格式还在,并没有连带删除,这样计算出来的行数就不真实(比真实的大),还有当出现空白行时(也即某一行没有任何数据,通过Row row = sheet.getRow(i) 返回的row值为null),计算出来的值也不正确。      本人自己写了一个方法来对execel表进行过滤,将那些没有意义的行删掉,之后再调用sheet.getLastRowNum() 得到的值就是正确的了。     说明一下,本 ...
Global site tag (gtag.js) - Google Analytics