- 浏览: 353571 次
- 性别:
- 来自: 杭州
-
最新评论
-
cremains:
...
java8新特性学习笔记 -
bingyingao:
guooo 写道很好的总结,不知能否转载?可以,多谢关注
又四年了,再看如何快速融入一个新团队 -
guooo:
很好的总结,不知能否转载?
又四年了,再看如何快速融入一个新团队 -
omeweb:
又过了好几年了,有啥新感悟没有?
两年已过去,再看该如何快速融入新团队 -
kely39:
感谢楼主,问题已解决
包冲突问题的解决方法
文章列表
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
throw new CashierIntegrationException();
}
用Throwable的情况
try {
//可能发生空指针、数组溢出、NoClassDefFoundError等异常
} catch (Throwable e) {
throw new CashierIntegrationException();
...
最近经常在一些不同的项目,很多项目中没有一个统一易用的DateUtil,以至于每次都找来找去的,挺麻烦,这里特地整理一下,以便下次可以直接拿来用。
未完待续
java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
break;
}
而是先import进来此枚举类,case中直接写枚举值
switch (timeType) {
case DAILY:
...
在父类中新增私有属性与子类中私有属性重复,会导致获取该值时获取为null。
定义
实现大数的存储和运算。
适用场景
大数加减法、进制转换
BigInteger (String val)将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
BigInteger (String val, int radix) val与radix必须匹配。val必须是radix进制的标示。
Eg:将二进制数”110”转为10进制。
BigInteger bigInteger2 = new BigInteger("110", 2);
System.out.println(bigInteger2.intValue());
输出结果为6
...
java异或运算虽然不常用,但偶尔在系统中会看到,这里备忘一下,其基本原理如下:
真^假=真
假^真=真
假^假=假
真^真=假,
就是说:只要两个条件同时为真或假,其结果都为假(这里要注意区别Java的与运算---其为真真为真,假假为假);
但仅当两条件中一个为真,另一个为假时,结果为真。
但Java的异或运算还有一个前提那就是它都是以二进制数据为基础进行的运算。
也就是说当我们在使用代码中使用到异或运算时,它都会先将两个条件进行转换,转换成二进制数据后,再进行运算,例如:
int a = 4^6;这里的4和6 都是int型数据,在进行运算时,4对 ...
当前时间加减一定时间
/**
* 当前时间加减一定时间
* @param args
*/
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.add(Calendar.HOUR_OF_DAY, -1);
c.add(Calendar.MINUTE, 1);
c.add(Calendar.DAY_OF_MONTH, 3);
System.out.println(new SimpleDateFormat().format(c.getTime()));
}
...
如果我的数据表中存储n条如下形式的规则:
1:a=1 && b= 2 && c=3 && d=4
2.a=1 || b= 2 || c=3
3.a=1 && (b= 2 || c=3)
4.a=1 && c IN (C1,C2,C3)
我的请求参数都如下列形式:
{a=1,c=C3}
那么该如何设计代码,来实现入参匹配规则?
首先应该将规则转化为树模型,组件轮廓如下:
class Condition{
/**
* 条件是否匹配
* @return
*/
...
合理使用以下方案,可降低系统的代码复杂度,遵循程序设计的开闭原则:
线性顺序执行的build
<bean id="channelExInfoBuilderProxy"
class="com.test.biz.shared.channelextinfo.ChannelExInfoBuilderProxyImpl">
<property name="channelExtInfoBuilders">
<list>
<ref bean="payChannelBaseInf ...
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2858)
at java.util.BitSet.ensureCapacity(BitSet.java:155)
at java.util.BitSet.expandTo(BitSet.java:170)
at java.util.BitSet.set(BitSet.java:265)
项目中大量使用了BitSet,在一次小需求中,我将原始的数据到处到临时数据库,并且做了一些初始化,项目run起来的会后要去加载库中所有数 ...
关键是要看map中装的是什么,如果map中的对象全是可用.equals的对象,譬如仅有String与自己重写了.equals方法的对象,则可以使用。
如果map的值中有List,则必须保证比较的list中元素的顺序是一致的。
熟
对系统代码熟-决定了你写代码的效率。
对业务逻辑熟-决定你有没有资格和别人讨论业务需求,决定了是否会少走弯路。
对流程熟-你能够cover走通整个流程。
对人熟悉-当你遇到困难时有没有人帮你、救你!
时间管理
优先级、合理安排,有条理
态度
决定你是否积极的把事情往前赶,有耐心、不拖沓。
spring容器中产生的对象debug可以看到为如下类型:
org.springframework.aop.framework.JdkDynamicAopProxy@1629de8f
用这种方式baseDO instanceof IbatisChannelRuleDAO
始终都是返回false的。
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}