
Java
Strong_light
这个作者很懒,什么都没留下…
展开
-
访问者模式
访问者模式是设计模式中比较难理解的一个设计模式,理解这个模式之前,先说说开闭原则。所谓开闭原则是指,当需求扩展变化的时候,尽量不要修改原来的类,模块等(闭),而是进行扩展(开)。对修改闭对扩展开(Software entities should be open for extension,but closed for modification)java代码中的一个惯例:一般在继承的情况原创 2015-08-21 19:27:22 · 381 阅读 · 0 评论 -
Java中的动态绑定和静态绑定
java的动态绑定所谓的动态绑定就是指程执行期间(而不是在编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。java继承体系中的覆盖就是动态绑定的,看一下如下的代码:12345678910111213141516转载 2015-08-21 19:05:33 · 453 阅读 · 0 评论 -
java静态绑定和动态绑定小结
一般是多态的情况下,在编译阶段或者运行阶段找到正确的方法。静态绑定是根据声明的变量类型,在编译的时候确定相关的调用方法,例如上片转载的文章中的 Father s1 = new Son1();就是声明了s1是Father类型的,静态绑定的话,会认为s1是Father类型的。调用的方法也就是相应的Father类型参数的方法。静态绑定一般发生在重载的情况下。如果是动态绑定原创 2015-08-21 19:21:09 · 398 阅读 · 0 评论 -
java中类的加载顺序
有条准则写在前面:加载子类前必加载父类,实例化子类前必实例化父类。也就是说,加载的时候会执行静态块,其顺序为:父类的静态块-》子类的静态块-》父类的构造方法-》子类的构造方法同时,声明不会加载,例如在Test类中,使用Father f=null,不会加载Father类的,也就不会执行Father类的静态方法。new前才会进行加载,且static块只执行一次,加载完毕此后不会再执行。关于final类...原创 2015-11-21 16:42:22 · 373 阅读 · 0 评论 -
ArrayDeque利用数组建造的双向队列
看到java.util.ArrayDeque的源码,其中主要方法有addFirst(E e),addLast(E e),offerFirst(E e),offerLast(E e),对于addFirst(E e)方法如下:public void addFirst(E e) { if (e == null) throw new NullPointerExcep原创 2015-11-02 12:51:39 · 664 阅读 · 0 评论 -
字符串循环左移问题
问题描述:给定一个长度为n的字符串,循环左移l位得到一个新的字符串,求新字符串。限制:空间复杂度尽量低。方法一:思路:空间复杂度尽量低,要求程序中珍惜每个分配的空间,以abcdef为例,如果左移两位,则非常明显答案为cdefab 步骤一:逐位移动,即将c移到第一位的时候,需要记录下a,并且c的原位置无用了,可以利用来计算移到原来c位置的字符,即e.同时e的原位置可以利用了,如此做下去……原创 2016-11-24 21:49:32 · 1387 阅读 · 0 评论 -
tomcat服务器时区设置
在docker容器的linux环境中,部署Tomcat服务,遇到系统时间不正确的问题,以下为具体的解决办法:1.查看docker容器所在系统的系统时间是否正确,如果不正确,参考修改linux系统时间的方法进行修改。2.将时间文件挂载到docker容器上,类似命令:docker run -it -v /etc/localtime:/etc/localtime ubuntu /bin/bash原创 2017-07-10 09:45:15 · 6107 阅读 · 0 评论 -
java中的synchronized关键字
synchronized关键字只能作用于同一个类的方法中,并且仅对相同对象的多个进行有效果。商品类Productpublic class Product { private int size; private List dateList = new ArrayList<>(); public int getSize() { return siz转载 2017-08-01 18:04:31 · 346 阅读 · 0 评论 -
jxl解析excel时,中文乱码问题
一般出现较多的问题是,当exce中包含了乘号等特殊的字符时,在解析时候就会出现乱码现象。解决方法为: InputStream in = new FileInputStream(file); WorkbookSettings workbookSettings = new WorkbookSettings(); workbookSettings转载 2018-02-01 10:44:32 · 1709 阅读 · 0 评论