自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GMP调度器详解

思考:为什么需要GO语言,好在哪里?如今的硬件性能越来越强,意味着向同样小的空间里放置更多晶体管的代价也越来越昂贵,为了有更大的提高,现在的处理器添加越来越多的内核,如四核和八核CPU,但是,大多数现代编程语言(如Java,Python等)都是90年代的单线程环境。虽然有许多框架在不断地提高多核资源使用效率,但还是需要花费大量的时间和精力搞懂这些框架的运行原理后才能熟练掌握。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发。Go语言的并发是基于 goroutine 的,goroutin.

2021-09-10 10:05:58 431

原创 各种排序算法

好烦…各种排序各种忘…![image.png](https://img-blog.csdnimg.cn/img_convert/f4470d8e9ebcaedc2acdc8420eb3f9d5.png#clientId=ua49bf75d-cfa1-4&from=paste&height=365&id=uc97996ca&margin=[object Object]&name=image.png&originHeight=365&originWidt

2021-08-11 17:05:22 160

原创 深度优先遍历(DFS)_广度优先遍历(BFS)

深度优先遍历(DFS):核心思想就是 “一条路走道黑”,从一个位置,一般是二叉树的顶点开始,一直向下走,走道不能走了之后 回到上一个节点,看能否还有其他的路 (回溯法),直到遍历完成​实现:递归方法 和 非递归方法​递归方法:(比较简单,但是深度较深的时候,会导致内存溢出)//递归的核心就是dfs函数,拿前序遍历来说 根——左——右 循环调用递归调用dfs函数func dfs(root *TreeNode,res [] int){ if root == nil { r

2021-08-11 17:01:18 202

原创 手撸LRU算法

流水的面试题,铁打的LRU算法…今天来打打铁。LRU算法的设计lru就是一种淘汰策略,当内存不够的时候,淘汰掉最近最少使用的内个。我们可以把整个cache看做一个队列,假设每次都是从队尾进入,那么队头的内个就是最近不使用的。显然这个cache满足以下几个特点:cache中的元素都是有序的。区分最近有没有使用,当容量满了之后删除最近没有使用的内个每次需要快速定位到内个需要背删除的元素,并找到其存储的值每次访问了cache中的某个key,需要将元素变为最近使用,也就是需要快速删除和插入元素普通

2021-08-11 16:59:07 116

转载 JAVA堆内存详解

转载了http://blog.51cto.com/lizhenliang/2164876?wx=JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Gene...

2020-04-27 11:03:35 546

原创 Elasticsearch 基础查询

Linux环境docker安装Elasticsearch+kibana准备一台服务器第一步:安装docker 参考链接 :https://www.cnblogs.com/yufeng218/p/8370670.html下载ES和kibana的docker镜像,官网上有,注意下载的版本号要一致 ES版本最好不要超过7.0,各种各样的问题,很无语。kibana 6.7之后的版本才支持中文,首...

2020-04-16 16:35:30 233

原创 JVM 参数配置的详情介绍

功能开关:参数默认值或限制说明参数默认值功能-XX:-AllowUserSignalHandlers限于Linux和Solaris,默认不启用允许为java进程安装信号处理器,信号处理参见类:sun.misc.Signal, sun.misc.SignalHandler-XX:+DisableExplicitGC默认启用禁止在运行期显式地调用Syst...

2020-04-16 16:10:33 159

原创 Redis 发布订阅原理以及springboo中RedisTemplate集成

一、Redis发布订阅原理Redis的架构包括两个部分:Redis Client和Redis Server,即客户端和服务端。客户端负责向服务器端发送请求并接受来自服务器端的响应。服务器端负责处理客户端请求发布订阅的框架其中Publisher(发布)和Subscriber(订阅)为Redis Client,channel为Redis server,而且发布者和订阅者是一对多的关系。客户端...

2020-01-13 17:08:13 1402 1

原创 Java8中的LocalDateTime、Instant、DateTimeFormatter

1. 概要Java8出现的 Instant 类似于 Date ,LocalDateTime 类似于 Calendar,DateTimeFormatter 类似于 SimpleDateFormat,由于 SimpleDateFormat 是线程不安全的(一般使用 SimpleDateFormat 的时会把它定义成静态变量,从而避免频繁地创建它的对象实例,但 SimpleDateFormat 内部使...

2019-12-26 16:57:16 205

原创 《JAVA多线程》之初探多线程-synchronized

一、并发和并行线程和进程二、通知和等待sleep、wait、yield区别三、join和interrupt四、理解线程上下文切换五、线程安全及共享变量的内存可见性六、synchronized和volatile七、CAS八、Unsafe类...

2019-12-26 16:01:56 119

原创 CSA单点登录的原理解析

1、基于Cookie的单点登录的回顾基于Cookie的单点登录核心原理:将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。该方式缺点就是多次传送用户名密码,增加被盗风险,以及不能跨域。同时www.qiandu.com与mail.qiandu.com同时拥有登...

2019-12-25 16:53:06 596 1

原创 Kafka生产者与消费者详解

什么是 KafkaKafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。Kafka 的基本术语消息:Kafka 中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录。批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息。...

2019-12-25 15:11:52 9440

原创 《JAVA多线程》之深入理解JUC包下的ThreadLocalRandom

ThreadlocalRandom用处ThreadLocalRandom与Random

2019-12-09 23:05:56 230

原创 《JAVA多线程》之深入理解ThreadLocal

ThreadLocal简介ThreadLocal不是Thread,是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,对数据存储后,只有在线程中才可以获取到存储的数据,对于其他线程来说是无法获取到数据。ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。Synchronized用于线程间的数据共享,...

2019-11-19 18:45:14 290

空空如也

空空如也

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

TA关注的人

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