暂无个人介绍
当然可能了,就算是字符串,长度稍微大点,hashcode相同的概率就比较高了
Externalizable要自己实现序列化、反序列化的,比如用protobuf、kyro来自定义序列化
mybatis很简单,写原生sql灵活性强,其实在开发过程中写sql占用的时间并不多,一些号称提高效率的重型orm框架其实省不了多少时间,反而排查莫名其妙的问题占用的时间要相当多
springboot+mybatis 就够了
业务层上前置拦截一般用redis之类,最好是db做乐观锁做最终拦截,多服务器的情况下,单纯代码上做同步没用的
当然可以,实现Comparator接口即可,报错是代码有问题
一般也叫DO了,不要那么较真
使用SXSSFWorkbook,否则内存撑不下
List> futures = executorService.invokeAll(list, 3000, TimeUnit.MILLISECONDS);
起多个线程提交即可,这种是最简单的方式
suggest一般只有几条,取最优几条就可以了
一般系统消息在用户侧只记录读过的id即可,读取前几十条系统消息再过滤就行了,这种消息没那么重要,时间长的不不管它了
jmap看看有没有内存泄漏,一直上涨肯定有问题
一般只能保证最终一致,更新后缓存删除掉,如果删除报错很重要的业务还需要有些补偿机制
光看书没用,自己动手写个小网站吧,可以登录的,基本流程就知道的差不多了
freemarker,好像springboot推荐用Thymeleaf
业务层的异常直接网上层传有时候并不是很好,有些异常很难理解,上层也不知道该怎么处理或者提示给用户,一般会有一个专门的result对象将错误原因描述之后返回,相对友好一些。
阿里的开源分布式数据库fescar可以做
top看看,jstack看看哪个线程占的
文字不是utf-8编码的格式
ping一下就可以了