知识
1、在JRE任意jar包中的META-INF-》MANIFEST.MF 可以查看当前java的版本
2、错误1316
打开注册表regedit-》 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\
把其中的已有的(和所需安装的)版本号删掉再安
3、version52 是指jdk1.8
4、probably due to a new Java class file version that isn’t supported yet
项目上右键–properties–java Compile–compiler compliance level-》改成1.7
只修改该项目的compiler compliance level而不将JRE改成1.7成功运行
5、substring 包头不包尾
6、ArrayListMultimap序列化存在问题,不能直接抛到ctrl层,而且不建议用map
7、nil 该对象为空 Nil一般用于类对象为空 Null为基本数据类型为空
8、使用System.currentTimeMillis() 替换 new Date()
因为new Date() 默认调用的内容就是返回System.currentTimeMillis() 使用System.currentTimeMillis() 可以减少性能损耗
9、object转int
int one = Integer.pasreInt(String.valueOf(xx));
基本思路:先将object转为字符串,然后通过int 的封装类(Integer)的pasreInt()方法转为int.
10、ArrayList和LinkedList
LinkedList因为每次插入都是移动指针,和 ArrayList 的拷贝数组来说效率要高
查找的时候利用了双向链表的特性,如果 index 离链表头比较近,就从节点头部遍历。否则就从节点尾部开始遍历。使用空间(双向链表)换取时间的方法加快查找。node 会以O(n/2)的性能去获取一个结点。如果索引值大于链表大小的一半,那么将从尾结点开始遍历。这样的效率是非常低的,特别是当 index 越接近 size 的中间值时。
因此LinkedList 增删快 查找慢
另外一个特点就是它的内存地址不是连续的。还有网上有人实验得出,同样的数据,使用 LinkedList 存储比使用 ArrayList 存储需要占用更多的内存空间。
11、java 逃逸分析
方法返回的如果是对象(聚合量【可以再被分隔】)就是逃逸了,要使用标量即类似基本类型数据【不可再分隔】,标量只会在栈或者寄存器上创建它用到的成员标量,节省了内存空间,也提升了应用程序性能。
12、Java内存模型,其实是保证了Java程序在各种平台下对内存的访问都能够得到一致效果的机制及规范。目的是解决由于多线程通过共享内存进行通信时,存在的原子性、可见性(缓存一致性)以及有序性问题
volatile关键字会禁止指令重排。synchronized关键字保证同一时刻只允许一条线程操作。
13、spring 的StringUtils 的 isEmpty 只会对 null 值,空值进行了判断,判定这些值为空值,对于无意义的空格字符串并没有进行判断。
apache的StringUtils.isBlank() 的判空对 null 值,空值,无意义的空格都进行了判断,
nil Nil Null
安装多个版本jdk
修改编译运行jdk版本
降jdk编译版本
工具类
判空
list去重
date类型增加天数
本季 本月 第一天 最后 一天 js
pom.xml文件
1、HessianFieldException: expected long at 0x1 java.lang.String
获取对象类型出错 原来导入的dto类型可能不正确 需要修改到最新的版本
<order.version>1.2.40-SNAPSHOT</order.version>
Java Method Breakpoints
如果在启动服务的时候 没有放开这个断点 会打印很多的东西 导致 启动异常缓慢 而且不会报错 仅会无限循环打印创建xxx对象
正则
\\PL+ 以非字母为分隔
异常
1、java.lang.IllegalArgumentException: No destination bean specified
在使用BeanUtils.copyProperties 的时候2个参数不能为null 即拷贝的对象不能 直接xxx = null 需要实例它 即 xxx = new xxx();
2、错误: 找不到或无法加载主类
重新 clean install
函子Functor
函数式编程 Monad (Functional Programming)
函子 和 函数式编程
apache和spring的StringUtils判空