自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 剑指 Offer 22. 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.题解1.循环/** * Definition for singly-linked list. * public cl...

2021-01-11 14:22:35 95

原创 剑指 Offer 25. 合并两个排序的链表

剑指 Offer 25. 合并两个排序的链表输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000题解/** * Definition for singly-linked list. * public class ListNode { * int va.

2021-01-11 00:53:41 103

原创 剑指 Offer 24. 反转链表

剑指 Offer 24. 反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000题解思路:1.双指针2.定位位置通过双指针不断替换位置/** * Definition for singly-linked list....

2021-01-10 23:27:35 71

原创 hashmap面试问题

Q:为什么扩容要以2的次幂*?A: 1.因为在计算数组下标时用到的函数是H & (length -1),如果是奇数的话-1后的2进制末尾是0,这样在于hashcode做与操作时永远都是0,这样会造成分布不均匀2.当hashmap做扩容的时候,数组容量如果非2的次幂的话,需要每次对所有元素进行重新计算,这样效率会很低,而2的次幂的话,只需看元素hashcode末位是否为如果为1,新数组的下标不变,0=当前数组下标+老数组的长度...

2020-05-11 13:28:08 240

原创 volatile特性及原理

volatile怎么保证内存可见性volatile修饰的变量编译成汇编指令后,会有lock前缀修饰,将当前处理器缓存刷回主内存这个写回主内存的操作,会使其他cpu内缓存该地址的数据无效...

2020-04-27 19:13:10 150

原创 https流程说明

Https流程1.用户发起请求2.服务端返回证书信息3.客户端解析证书,包含颁发机构和证书过期时间,以证书充当公钥加密随机值,传送给服务端4.服务端收到后,以私钥解密得到随机值,并再通信中使用随机值加密内容,并用私钥加密传送5.客户端收到加密信息后,使用公钥解密证明信息为...

2018-09-07 16:18:46 276

原创 SpringCloud-Hystrix

作用1.服务降级2.服务熔断3.依赖隔离4.监控 服务降级大流量引入时,保证部分用户可用,其他可提示语反馈等 简单使用1.在服务启动类上加入注解@EnableCircuitBreaker2.在调用服务方法上加入注解@HyStrixCommand(fallbackMethod="降级后调用的方法名")3.定义fallbackMethod方法当服务调...

2018-09-02 21:43:04 199

原创 SpringCloud-zuul服务网关

为啥需要服务网关?下图是拆分服务后的微服务系统,若不提供统一网关,对于客户端来说可谓非常麻烦下图为提供了网关服务后的效果,客户端无须多虑到底多少服务,只需关注网关信息,接口信息即可 zuul内置4个filter1.前置(pre)可用于服务限流,权限校验,跨域问题2.后置(post)3.路由(route)4.错误(error) zuul接受请求的生...

2018-09-02 21:06:06 139

原创 SpringCloud-Feign

使用步骤1.在客户端启动类上加注解@EnableFeignClients(basePackages="扫描包路径,提供注入")2.在服务端接口上写入@FeignClient(name="seviceName")3.pom中引入服务端依赖,并在代码中注入服务端接口,直接调用方法即可 ...

2018-09-02 20:38:34 161

原创 springcloud-Ribbon

Netflix-ribbon为服务发现提供了1.服务发现2.服务选择(负载均衡)3.服务监听(检测失效的服务,做到高效剔除) 主要组件1.ServerList(发现所有服务)2.ServerListFilter (过滤一部分地址)2.Irule (更具规则选择一个实例,当做服务)   ...

2018-09-02 20:15:26 119

原创 JVM-线上问题分析

1.jmap+MAT分析内存溢出jmap -dump:format=b,file=heap.hprof pid  导出pid的内存影像文件使用mat分析内存影像,分析内存溢出问题 2.cpu利用率标高分析:很有可能发生死循环解决方案:1.top 查看占用cpu最高的几个pid2. 执行命令或者此pid下的线程运行状况  top -p pid -H      找到...

2018-08-31 18:00:28 326

原创 jvm垃圾回收-1

怎么判断是否垃圾?枚举根节点,做可达性分析根节点:类加载器,Thread,局部变量表,static成员,常量,本地方法栈的变量等采用什么算法回收垃圾1.标记清除算法缺点:效率不高,产生碎片,导致提前GC2.复制算法定义:2块区域,当发生GC时,将存活的复制到另一块,GC完成后再将存活的还回来优点:简单高效缺点:利用率低,最高只能使用50%内存3.标记整理...

2018-08-31 17:02:39 157

原创 jdk1.8内存分析-1

下图为jdk1.8的内存结构分为堆区和非堆区,以下对下图进行分析和记录 堆区     堆区分为young区,和old区,yong又分为2大块,S区(from和to)和eden区,S区是同样大小的两部份,同一时间点下,只会有一块有数据非堆区     主要是取代1.8之前的方法区,Metaspace 分为ccs和codecache2份,     ccs(压缩类空间),在...

2018-08-31 16:36:51 955

原创 MYSQL 索引

mysql常用索引分为 5 大类1.普通索引  index2.唯一索引  unique3.联合索引4.全文索引 fulltext5.主键索引 primary key 索引使用规范1.索引不参加计算,否则索引失效2.与or关键字联合,索引失效3.参与数字比较,索引失效4.与like联合使用时,'afvb%'索引正常,'%121%'索引失效5.not i...

2018-08-31 10:54:45 136

原创 秒杀思路

常规秒杀流程1.加分布式锁 redis2.查询商品库存3.减库存4.下单优化1.秒杀前由运维将秒杀数据手动加载到redis中2.秒杀开始后,查看redis全局标记,活动是否结束3.用户先通过商品key查询redis并执行decre,执行成功者,抢到秒杀资格,将用户信息以及商品key,通过ribbitmq发往订单系统异步处理3.前台返回排队中状态,并由前端轮询订单系统,查看秒杀...

2018-08-22 18:16:48 387

原创 springcloud-应用通信RestTemplate的三种方式

A,B(双实例),同时注册在eureka注册中心C中 A调用B的X方法,实现方法主要有以下3种方式1.直接使用RestTemplate@RequestMapping("cMsg")public String getClient(){ RestTemplate restTemplate=new RestTemplate(); String response=...

2018-08-17 15:12:15 702

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除