- 博客(6)
- 收藏
- 关注
原创 Java基础零散技术(笔记)
1.http 301 302均是重定向,301是永久重定向,302临时重定向301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:301 redirect: 301 代表永久性转移(Permanently Moved)。302 redirect: 302 代表暂时性转移(Temporarily Moved )。对用户来说没有区别对于引擎及站长...
2019-05-24 13:42:49 153 2
原创 深浅拷贝,深浅克隆clone
Java基础的部分,容易忽略的细节。浅克隆:对象的属性值进行copy,如果包含引用对象属性,则是引用的传递(如果修改,则其他引用的值也变化)。深克隆:对对象对属性进行copy,如果包含引用对象属性,则引用对象属性copy。对象不相互影响。浅拷贝:也是包含引用对象属性,则仅是引用的传递。深拷贝:所有对象属性互相不影响。克隆,主要是重写对象的clone方法,然后调用父类的clone...
2019-05-23 18:12:13 448
原创 java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy排查
1、java.lang.ArrayStoreException这个的debug借助IDEA,添加Java Exception的java.lang.ArrayStoreException断点,这样异常时能够看到具体的报错Class2、首先进入错误debug的是org.springframework.cloud.netflix.eureka.config.EurekaDiscoveryClie...
2019-05-21 19:38:14 42831 2
原创 如何保证缓存与数据库的双写一致性?
Cache Aside Pattern最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。三种方案如下:串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,高并发下效率大大降低。 先更新数据库,再删除缓存为什么是删除缓存,而不是更新缓存?原...
2019-05-17 18:05:32 313
原创 omitted for duplicate jar包冲突排查
1.maven的命令mvn dependency tree可以将当前所有的依赖关系都展示出来,包括来自不同处的依赖项。mvn dependency:tree -DverboseDincludes 可以进行参数过滤mvn dependency:tree -Dverbose -Dincludes=*spring*:*spring*参考文档:https://www.jiansh...
2019-05-07 15:01:10 88217 2
原创 Spring boot + Arthas
讲解的视频地址:https://yq.aliyun.com/live/857?spm=a2c4e.11155435.0.0.2d581343qOuYyZArthas帮助了解源码结构,以及排查线上问题等有很大的帮助。trace 查看所有调用路径,方便线上排查问题或者阅读源码,搭建起应用后,查看调用路径redefine 将新的class文件加载更新到jvm中,不用服务器重启,这样...
2019-05-02 22:09:06 3338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人