自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (2)
  • 问答 (9)
  • 收藏
  • 关注

原创 G1的RSet解读

文章目录RSet介绍为什么需要记录跨代的引用RSet带来的问题G1的RSet设计RSet的更新参考RSet介绍在G1中,引入了RSet(Remember Set,记忆集)的概念,用来记录不同代际之间的引用关系,目的是为了加快垃圾回收的速度。通常有两种方法记录引用关系,分别为point out和point in。比如a=b(a引用b),若采用point out结构,则在a的RSet中记录b的地...

2020-05-07 21:33:42 3761

原创 限流原理和代码实现

文章目录介绍分类原理和代码实现并发数限流固定时间窗口限流滑动时间窗口限流漏桶令牌桶介绍面对高并发的三大利器:限流、降级和缓存。这里就来谈谈限流。为什么需要限流?当服务接口的QPS或者并发量超过了接口的承受能力时,可能会导致接口处理变慢,更为严重的,会导致应用崩溃。因此,需要对接口进行限流保护,不单单保护接口自身的应用,也保护接口所依赖的第三方资源。限流的本质是对突发流量进行整形,从而实现保...

2019-12-24 10:15:34 782

原创 毕业一年~头条面试

毕业一年系列篇毕业一年跳槽记头条主要考察的是算法的能力,其次是业务的阐述要清晰。一面自我介绍(时间不要太久,主要说一下自己所负责的工作,面试官如果有感兴趣的问题,会继续问的,切忌一个人从头说到尾,流水账似的)可以描述一下用户支付使用白条的过程么?会涉及到哪些系统RabbitMQ如何保证消息不丢失呢算法题:打印1至N的所有排列;算法题:三个数a,b和c,判断a+b>c?(这里...

2019-09-27 11:35:01 522 1

原创 毕业一年跳槽记

前记在网易呆了一年零三个月左右,由于 被收购 事件,不得已选择了跳槽,拿到了拼多多、头条、蚂蚁等几家offer。在说明具体的面试题之前,先说一下近期面试给我带来的感受。首先,这个期间的hc是真的少,不管是不是整体经济形式在走下坡路,反正不建议大家在8,9月份跳槽,hc少 + 没有年终(当然有的公司会给签字费,探探给我了相应补偿) + pk校招生;其次,一年多的工作经验约等于0,基本上还是会按照...

2019-09-27 11:29:20 663

原创 磁盘那点事情

文章目录硬盘的组成基本概念磁道和扇区关系硬盘如何存储信息硬盘读取相关参数磁盘工作原理局部性原理 + 磁盘预读为什么越来越慢参考​ 本人只是在看到数据库从磁盘读取数据相关知识时,对磁盘(硬盘)读取这块比较感兴趣,并进行了一定的知识延申;如果本文讲解有误,还请多多包含并给予指教,促使大家共同进步~硬盘的组成基本概念​ 硬盘内部主要由磁盘盘片、磁头控制器(传动手臂)、磁头和主轴组成,如下图所示:...

2019-04-19 20:24:46 304

原创 如何优雅的中断线程

文章目录废弃的做法-stop/suspend/resume中断线程的方法自定义标志位Interrupt()方法案例Interrupt实现机制Interruptible b != nullInterruptible b == null如何处理中断异常-InterruptedExceptionInterrupted()和isInterrupted()线程池优雅关闭废弃的做法-stop/suspend...

2019-04-08 21:38:35 776

原创 银行文件传输的方法

文章目录传输方法https还是sftp?SFTP安全性?来了网易快一年了,第一次接触与合作方的文件传输方面的需求,这里稍微整理一下整个流程纪要,以免遗忘~如果有不恰当的地方,还请指教~传输方法生成N个业务文件,并对每个文件的内容采用AES进行加密;生成OkFile.txt文件,记录N个文件对应的行数以及大小,AES加密;(仅用于对每个文件进行粗略的校验)将N个业务文件和OKFile文...

2019-03-20 13:13:47 1488 1

原创 分布式锁-redLock And Redisson

文章目录CAPredis分布式锁存在的问题RedLockRedLock是什么?RedLock算法失败时重试释放锁性能、 崩溃恢复和redis同步针对redlock的争议Redisson使用案例源码CAP在引出RedLock之前,先介绍一下分布式系统中CAP理论:C(Consistency):一致性,在同一时间点,所有节点的数据都是完全一致的。A(Availability):可用性,应该能够...

2019-03-01 16:51:48 8035 6

原创 分布式系统那点事(CAP - BASE)

文章目录CAP为什么CAP只能三选二?CACP还是CA?CAP选择?BASE基本可用软状态最终一致性CAPC(Consistency):一致性。在同一时间点,各个节点的数据都是完全一致的。A(Availability):可用性。即服务在正常的响应时间内对每个请求做出响应。P(Partition-tolerance):分区容忍性。在分布式系统中,各个节点组成的网络应该是相互连通的,但是可能因...

2019-02-25 22:31:17 547

原创 JDK8-Collectors.toMap异常处理

文章目录Collectors.toMap异常键冲突 ?空指针异常 ?Collectors.toMap异常在使用Collectors.toMap方法时,会有两个常见的问题:1. 键冲突,导致抛出异常 2. 值为NULL,导致抛出空指针异常下面给出上面两种问题的解决方案。键冲突 ?有三种策略,分别如下:用后面的value覆盖前面的valueMap<String, String&...

2019-02-14 20:53:48 5839 1

原创 dubbo初始化死锁

说明阅读dubbo官方文档,看到初始化死锁部分,特地在此记录一番,并结合线上业务给出可能的解决方案。死锁产生的原因当spring解析到<dubbo:serivce />时,就已经向外暴露了服务,而spring还在初始化其他的bean,此时如果有消费者的请求进来,并且服务的提供者类中含有调用applicationContext.getBean()的用法时,那么会产生死锁。请求线程...

2018-12-31 17:38:03 855

原创 git stash详解

应用场景:1 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。 2 由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分...

2018-06-24 23:00:55 222762 22

原创 新浪微博平台架构(转)

前几天因为鹿晗关晓彤事件,导致新浪微博崩溃几分钟。这种情况发生不止一次了,但是新浪显然并没有去处理,不由得想起来双11亿级流量,淘宝也会有预测的加资源来解决高并发问题,但是在正常时期不会有那么多那么流量,所以不可能一直留有那么资源,显然要耗资很多啊。这次新浪的做法也是暂时从阿里云服务器租借1000台,顶住了并发压力,几个小时后就归还了。和淘宝双11做法很像,只不过新浪微博这种并发是不可预测的,谁都没

2017-10-10 10:08:32 12508

原创 初识MQTT

MQTT协议MQTT(Message Queuing Telemetry Transport Protocol):消息队列遥感传输协议,是一种轻量级代理的发布/订阅模式的消息传输协议,运行在TCP协议栈之上,为其提供有序、可靠、双向连接的网络连接保证。之所以说是轻量级,是因为Mqtt协议开销非常小,协议头只有2字节。MQTT协议如何工作MQTT是基于代理的发布/订阅消息传输模式。因此,在Mqtt中有

2017-08-25 14:33:31 710

原创 java反射与泛型

反射中与泛型相关的接口和类1 Type java中所有类型的公共实现接口,实现该接口的有原始类型,参数化类型,数组类型,类型变量和基本类型。2 GenericDeclaration 声明类型变量的所有实体的公共接口`TypeVariable<?>[] getTypeParameters();`返回泛型声明中的类型变量 如Map<K,V>中返回的是键值K,V3 Paramete

2017-04-17 14:31:04 1491

原创 java中的反射详解

反射前段时间,网易面试,面试官问我关于反射方面的知识,回答的不是特别好,今天特此补充学习一下~~~简介反射是java语言被视为动态或者准动态语言的一个关键性质,这个机制允许程序在运行时通过Reflection API获取任何一个已知名称的class的内部信息,包括修饰符(public static等)、字段或者方法的所有信息、父类以及实现的接口,并可在运行时改变字段的内容或者调用方法。 简单的说,

2017-04-17 14:23:31 525

原创 求完全二叉树的节点数 时间复杂度小于O(N)

给定一棵完全二叉树的根节点root,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。给定树的根结点root,请返回树的大小。二分的思想。看完全二叉树的最后的最右一个节点的位置思路: 1 找到完全二叉树的最左节点,也就是求左子树的深度 2 找到完全二叉树头节点右子树中的最左节点,记录右子树深度 3 如果两个深度相等,说明头节点左子树是一棵满二叉树,使用公式

2017-04-09 21:23:49 4374 3

原创 Object类中的方法详解

Object中的方法Clone方法protected Object clone() throws CloneNotSupportedException创建并返回此对象的一个副本。修饰符为protected,保证了只有在该类 同一个包下 以及子类可以访问。但是如果子类和基类不在同一个包下,子类在进行访问的时候,只能访问自身从基类继承过来的protected方法,不能访问基类实例中受保护的clone

2017-04-09 13:16:46 721

原创 23种设计模式的总结~以及区别、应用

简介设计模式目的:为了可重用代码,保证代码的可靠性,更容易被他人理解。 设计模式的六大原则: 总原则:开闭原则,即对扩展开放,对修改关闭。 1 单一职责原则:每个类应该实现单一的职责,否则应该把类拆分。 2 里氏替换原则:任何基类可以出现的地方,子类一定可以出现。它是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的

2017-04-08 16:54:06 4575

原创 判断两个链表是否相交

这是一道比较综合的题目。将链表中关于环和相交的问题聚集在一起了,关键是要思路清晰。思路如下:/* * 判断链表是否有环 * 1 如果一个有环一个无环,则肯定不相较 * 2 如果都无环,则遍历到尾部,看看最后一个节点是否相等即可 * 如果要找到第一个相交的点,则让长的链表先走len1-len2步,再同时走,找到相等的节点即可

2017-04-07 10:06:52 357

原创 同步 异步 阻塞 非阻塞

同步和异步关注的是消息通信机制。主要是针对客户端。 同步:当客户端发出一个功能调用时,在没有得到结果之前,该调用不返回。也就是说必须一件一件的事情去做,等一件做完了才能去做下一件。异步:当客户端发出一个功能调用时,这个调用就直接返回了,不管有没有结果。调用处理完成后,被调用者会通过状态、通知和回调来通知调用者。同步异步主要是针对客户端,但是必须配合服务器端才能实现。同步异步是客户端自己控制,但是服

2017-03-29 11:10:47 308

原创 数据库三大范式详解

第一范式1NF 数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。 如果出现重复的属性,就需要定义一个新的实体,新的实体由重复的属性构成,新的实体和原实体之间是一对多关系。 在任何一个关系型数据库中,第一范式是基本的要求,必须满足。 下面看例子: 上面的数据表是不符合第一范式的,因为进货下面又可以再次划分为数量和单价,

2017-03-27 21:54:25 464

原创 360春招3.25在线编程题解

第一题: 小明同学最近学习了概率论,他了解到数学期望的定义:设X为一个随机变量,X可以取n种不同的取值x1,x2,x3,…,xn。取x1的概率为p1,取x2的概率为p2,以此类推。定义随机变量X的数学期望为:E[X]=x1*p1+x2*p2+…+xn*pn。小明回到家中,他想编程计算数学期望,你能帮助他么?输入第一行一个数n(1<=n<=100),接下来有n行,第i行有两个数xi和pi,xi和pi

2017-03-26 12:23:10 594

原创 leetcode328~Odd Even Linked List

Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it in plac

2017-03-25 11:25:04 361

原创 leetcode160~Intersection of Two Linked Lists

Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2 ↘ c1

2017-03-25 10:43:19 483

原创 leetcode234~Palindrome Linked List

Given a singly linked list, determine if it is a palindrome.Follow up: Could you do it in O(n) time and O(1) space?思路: 判断一个链表是否是回文链表,几种解法都会使用到俩指针,用来从中间分割链表。 1 将前部分的链表元素放入数组中,然后在遍历后半部分的链表时,和数据中逆序元素进行比

2017-03-25 09:15:54 546

原创 leetcode237~Delete Node in a Linked List

Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, t

2017-03-25 08:26:25 364

原创 leetcode146~LRU Cache

Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put.get(key) - Get the value (will always be positive) of the key if the k

2017-03-25 08:24:03 342

原创 leetcode143~Reorder List

Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes’ values.For example, Given {1,2,3,4}, reorder it to {1,4,2,3}

2017-03-24 10:03:24 238

原创 leetcode142~Linked List Cycle II

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.当fast和slow相遇时,slow肯定没有遍历完链表,而fast已经在环内循环了n圈。假设slow走了s步,则fast走了2s步,环长为r

2017-03-24 09:16:38 246

原创 leetcode141~Linked List Cycle

Given a linked list, determine if it has a cycle in it.Follow up: Can you solve it without using extra space?解决链表问题的经典做法:使用俩指针fast和slow,判断最后fast是为null还是fast==slow即可。public class LinkedListCycle {

2017-03-24 08:47:35 309

原创 leetcode133. Clone Graph

Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors.OJ’s undirected graph serialization: Nodes are labeled uniquely.We use # as a separator for each node, an

2017-03-23 16:07:14 277

原创 leetcode138~Copy List with Random Pointer

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.两种解法,不同的是空间复杂度不同public class CopyListwi

2017-03-23 14:30:47 304

原创 leetcode25~Reverse Nodes in k-Group

Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the number of nod

2017-03-23 13:06:30 238

原创 leetcode24~Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.For example, Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space. You may no

2017-03-23 09:45:39 227

原创 jdk8新特性

Jdk8新特性java语言新特性1 lambda表达式Lambda表达式(也称为闭包)是整个Java 8发行版中最受期待的在Java语言层面上的改变,Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据:函数式程序员对这一概念非常熟悉。在JVM平台上的很多语言(Groovy,Scala,……)从一开始就有Lambda,但是Java程序员不得不使用毫无新意的匿名

2017-03-21 14:27:29 520

原创 剖析fail-fast机制和ConcurrentModificationException

快速失败,是java集合中的一种错误检测机制。当多个线程对集合进行结构上的改变操作时,就有可能会产生fail-fast机制。例如存在两个线程1和2,线程1通过Iterator在遍历集合中元素时,线程2修改了集合的结构(添加或者删除元素),这个时候就会抛出ConcurrentModificationException异常,从而产生了fail-fast机制。 并发修改异常ConcurrentModif

2017-03-19 19:51:01 297

原创 leetcode19~Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, the linked lis

2017-03-19 11:28:26 291

原创 leetcode61~Rotate List

Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL.对链表从右侧k个数进行翻转。 注意:k可以大于链表的长度,需要对链表长度取余p

2017-03-19 11:01:41 235

原创 leetcode82~Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example, Given 1->2->3->3->4->4->5, return 1->2->5. Given 1->1->1

2017-03-19 10:24:48 480

kibana5.2.2

2017-03-07

elasticsearch-5.2.2

elasticsearch-5.2.2

2017-03-07

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

TA关注的人

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