- 博客(11)
- 收藏
- 关注
原创 快速排序模板
快速排序主要思想是分治,寻找基点,使左右有序使用左右指针交换,不能等于 public static void quick(int[] nums,int l,int r){ if(l>=r) return; int target = nums[l]; int i = l; int j = r; while(i<j){ while(i<j&&nums[i]
2021-11-05 21:36:13
142
原创 多线程之伪共享
伪共享什么是伪共享为了解决计算机系统中的内存与CPU之间运行速度差的问题,会在CPU和主内存之间添加一级或者多级高速缓冲存储器(Cache)。这个Cache一把是被集成到CPU内部的,所以也叫CPU Cache。当多个线程同时修改一个缓存行里面的多个变量时,由于只能有一个线程操作缓存行,所以相比于每个变量放到一个缓存行,性能会有所下降,这就是伪共享。为何会出现伪共享 伪共享的原因是由于多个变量被放入一个缓存行中,并且多个线程同时去写入缓存行中不同的变量。因为缓存与内存交换数据的单位就是缓存行
2021-10-31 11:15:45
342
原创 加入@CrossOrigin后仍然不能跨域问题
在写Springboot+Vue项目时进行前后端的项目测试,发现加入注解后仍然不能解决问题。 看前端请求,发现有两次请求,后端因为是二级映射/a/b形式,其中/a是在类上面的,因此没有选择post请求。@RestController@CrossOrigin(origins = "*")@RequestMapping(value = "/project",method = RequestMethod.POST)public class ProjectController { @Po.
2021-08-27 11:51:36
1970
原创 详解二分查找
@## 详解二分查找while中的条件怎么判断?int binarySearch(int[] nums, int target) { int left = 0; int right = nums.length - 1; // 注意 while(left <= right) { // 注意 int mid = (right + left) / 2; if(nums[mid] == target) return mid
2021-07-27 22:42:44
98
原创 Dubbo
什么是分布式框架分布式系统是若干独立系统的集合,但是用户用起来好像是在使用一个系统必要性规模的逐步夸大和业务的复杂,架构演变单一架构,管理系统垂直应用架构,大业务拆分成小业务分布式架构,基于RPC:远程过程调用DubboDubbo,是一个高性能的RPC框架,解决了分布式中的调度问题性能高是一个RPC框架,主要是远程过程调用,提升性能从最关键,最耗时的两个方面:序列化和网络通信序列化:本地对象要在网络上进行传输,必须实现Serializable接口,也就是必须序列化,例
2021-05-26 20:36:51
149
1
原创 Linux基本操作小记
Linux简介一种开源的,免费的操作系统,安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统资源,linux注重安全性、稳点高兴。高并发性。目录结构linux一切都是目录,要遵守习惯linux只有一个根目录。/层级式目录https://blog.youkuaiyun.com/fan0220/article/details/53079618user/bin:可执行命令,可以在任何地方执行user/local/bin:类似于user/bin但是放置用户自己的可执行文件etc:存放配置
2021-05-26 20:12:25
132
原创 两个链表的公共首结点
输入两个链表,找出它们的第一个公共节点。这是剑指offer上的一道easy题,但是有着诗意的解法,当然先上我的low代码,答案是8. public ListNode getIntersectionNode(ListNode headA, ListNode headB) { Stack<ListNode> stack1 = new Stack<>(); Stack<ListNode> stack2 = new Sta
2021-04-22 22:49:48
149
原创 InheritableThreadLocal类之如何让子类访问父线程的值?
上一篇提到Thread类中有两个ThreadLocalMap类型的变量,我们已经基本了解了threadLocals的基本使用,显然inheritableThreadLocals应该就可以解决让子类访问父类的问题,hhhInheritableThreadLocal类继承自ThreadLocal,提供了一个特性,让子线程可以访问父线程中设置的本地变量。InheritableThreadLocal重写了creatMap方法,所以在这个类中inheritableThreadLocals代替了threadLoc
2021-04-22 21:29:22
363
原创 2021-04-22
ThreadLocal创建一个ThreadLocal,每个线程都会复制一个变量到本地内存。简单使用class ThreadLocalTest{ static ThreadLocal<String> threadSign = new ThreadLocal<>(); ThreadLocalTest(){ } public static void setThreadSign(String sign) { threadSign.set(s
2021-04-22 20:10:41
785
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人