自定义博客皮肤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 163

原创 剑指 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 171

原创 剑指 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 147

原创 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 305

原创 volatile特性及原理

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

2020-04-27 19:13:10 243

原创 https流程说明

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

2018-09-07 16:18:46 377

原创 SpringCloud-Hystrix

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

2018-09-02 21:43:04 281

原创 SpringCloud-zuul服务网关

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

2018-09-02 21:06:06 213

原创 SpringCloud-Feign

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

2018-09-02 20:38:34 231

原创 springcloud-Ribbon

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

2018-09-02 20:15:26 186

原创 JVM-线上问题分析

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

2018-08-31 18:00:28 441

原创 jvm垃圾回收-1

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

2018-08-31 17:02:39 225

原创 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 1092

原创 MYSQL 索引

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

2018-08-31 10:54:45 202

原创 秒杀思路

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

2018-08-22 18:16:48 464

原创 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 812

空空如也

空空如也

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

TA关注的人

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