OGNL(英文全称:Object Graph Navigation Language,中文名:对象导航图语言)是应用于Java中的一个开源的表达式语言(Expression Language),它被集成在Struts2等框架中,作用是对数据进行访问,它拥有类型转换.访问对象方法.操作集合对象等功能.…
第二次随笔--从现有技能获取的经验应用于JAVA中 你有什么技能比大多人(超过90%以上)更好? 这个想了半天,有一个是我乒乓球还是比较擅长的,在学校里可能比百分之90的人要强,在外面肯定是不如了.再有一个就是我游戏里某一个英雄是排在国服前百分之10的.其他的学习,或者其他技能都比较中规中矩,并没有十分突出的表现. 针对这个技能的获取你有什么成功的经验? 针对这两个技能我个人认为一个因素是要有高强度的大量练习吧,就拿乒乓球来说,小时候一练就是一下午,不间断的反复练习一定会奠定一个良好的基础,有了…
如何在JAVA中实现一个固定最大size的hashMap 利用LinkedHashMap的removeEldestEntry方法,重载此方法使得这个map可以增长到最大size,之后每插入一条新的记录就会删除一条最老的记录. import java.util.LinkedHashMap; import java.util.Map; public class MaxSizeHashMap<K, V> extends LinkedHashMap<K, V> { private fina…
直接上代码: import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Optional; import java.util.function…
目录 简介 Collector介绍 自定义Collector 总结 怎么在java中创建一个自定义的collector 简介 在之前的java collectors文章里面,我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法,将结果转换为特定的集合类. 今天我们介绍一下怎么自定义一个Collector. Collector介绍 我们先看一下Collector的定义: Collector接口需要实现supplier(),accumul…
怎么在java中关闭一个thread 我们经常需要在java中用到thread,我们知道thread有一个start()方法可以开启一个线程.那么怎么关闭这个线程呢? 有人会说可以用Thread.stop()方法.但是这个方法已经被废弃了. 根据Oracle的官方文档,Thread.stop是不安全的.因为调用stop方法的时候,将会释放它获取的所有监视器锁(通过传递ThreadDeath异常实现).如果有资源该监视器锁所保护的话,就可能会出现数据不一致的异常.并且这种异常很难被发现. 所以现在…
Calendar 类是一个抽象类,为日历字段之间的转换提供了一些方法.其中有一个重要方法 getActualMaximum ,该方法用于返回指定日历字段实际的最大值. 利用这个方法(Calendar.getActualMaximum),我们可以获得某年某月的天数. 代码如下: /** * 获得某个月最大天数 * * @param year 年份 * @param month 月份 (1-12) * @return 某个月最大天数 */ public int getMaxDayByYearMont…
在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下: // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } // 判断一个字符串是否都为数字 public boolean isDigit(Str…
今天有人问我怎么增强一个类的功能.博客刚好没东西,今天就讲讲增强类. 增强的手段有三种类型: 1.继承或者实现接口:特点是被增强对象不能变,增强的内容不能变. 2.装饰着模式:特点是被增强对象可变,但增强内容不可变. 3.动态代理:特点是被增强对象可变,增强内容可变. 下面是三种对a对象进行增强的手段:  继承:AA类继承a对象的类型:A类,然后重写fun1()方法,其中重写的fun1()方法就是被增强的方法.但是,继承必须要知道a对象的真实类型,然后才能去继承.如果我们不知道a对象的确切类型…
一.Object转Integer Java中hibernate或者ResultSetHandler查询sql语句, 返回的object类型其实是Long类型, 而不是Integer类型, 因此此时直接将返回的Object转换为Integer类型会抛出类型转换的错误. 我们必须先将其转换为Long类型, 再转换为Integer类型. //int count = ((Integer)query.uniqueResult()).intValue(); //改成 int count = ((Number…