java 汇总
文章平均质量分 85
雪人奥特曼
这个作者很懒,什么都没留下…
展开
-
Volatile
Volatile:可见性,禁止指令重排Volatile先了解一波计算机内存模型MESI(缓存一致性协议) 可见性怎么发现数据是否失效呢嗅探操作:嗅探的缺点:再了解下JMM内存模型?Volatile可见性Volatile禁止指令重排序指令重排内存屏障volatile与synchronized的区别总结备注先了解一波计算机内存模型在现代计算机中,cpu的指令速度远超内存的存取速度,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算.原创 2021-04-12 21:13:31 · 140 阅读 · 0 评论 -
synchronized
##(一)概述在多线程的程序执行中,有可能会出现多个线程会同时访问一个共享并且可变资源的情况,这种时候由于线程的执行是不可控的,所以必须采用一些方式来控制该资源的访问,这种方式就是“加锁”。我们把那些可能会被多个线程同时操作的资源称为临界资源,加锁的目的就是让这些临界资源在同一时刻只能有一个线程可以访问。##(二)CAS的介绍###CAS:compare and swap,比较且交换。使用CAS操作可以在没有锁的情况下完成多线程对一个值的更新。CAS的具体操作如下:当要更新一个值时,先获取当前值原创 2021-03-10 17:50:30 · 62 阅读 · 0 评论 -
序列化引发的思考
mecache存储序列化引起思考???? 今天看到同事使用mecache突然序列化报错,然而考虑到Memcached有独立的服务器端组件,是独立于应用系统的,从客户端(应用系统)保存对象到memcached是必须通过网络传输,而网络传入都是2进制数据,所以必须经过序列化,否则无法存储到Memcached服务器端的缓存中引发我的思考。然后发现常用RPC架构rocketmq, Dubbo 等等 都离不开序列化,为什么要序列化呢?先了解下什么是序列化 序列化 (Serialization)是将对象的状态原创 2021-03-05 17:30:31 · 79 阅读 · 0 评论 -
排查占用cpu最高线程
如何查看占用cpu较高的线程?1.使用top+jstack命令1.1.什么是top?什么是jstack?1.1.1. top:top命令经常用来监控Linux的系统状况,比如cpu、内存的使用。如下图所示:简单的使用top命令打出以下信息[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Dfw8pQU-1612256298436)(https://cdn.nlark.com/yuque/0/2019/png/435623/1569821900020-f243790e-原创 2021-02-02 16:59:08 · 2079 阅读 · 0 评论 -
nacos快速在Spring和springBoot中配置,支持动态配置
适用版本Springboot 和 Spring版本大于等于4.3.20.RELEASE引入jar包(1)springboot项目引入此jar包<nacos.version>0.2.2</nacos.version> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-bo原创 2020-07-17 18:01:13 · 612 阅读 · 0 评论 -
springboot dubbo的java配置
springboot dubbo的java配置方式引入jar包 <dubbo.version>2.6.2</dubbo.version> <curator.version>2.12.0</curator.version> <zookeeper.version>3.4.3</zookeeper.version> <dependency> <groupId>原创 2020-07-12 14:08:56 · 358 阅读 · 1 评论 -
ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体
背景公司小程序项目改造需要后端接口统一数据返回 原来的封装数据返回格式不适合需要改造 老项目几百个接口 一个个改接口肯定不行。后来制定两套方案 一种 拦截器 另一种 ResponseBodyAdvice后来选择了ResponseBodyAdvice为什么不使用拦截器?因为之前的接口统一规范了@ResponseBody带@RestController的类和带@ResponseBody的方法在被调用后response会直接写入输出流,在postHandle和afterCompletion这两个方法执行.原创 2020-07-12 13:46:34 · 1312 阅读 · 0 评论