首页
学习
活动
专区
工具
TVP
发布

爬蜥的学习之旅

专栏作者
127
文章
95179
阅读量
27
订阅数
大型系统应用架构实践 - 路由服务
使用比特数组,考虑到要知道机房,假设共有8个机房,那么将3位作为机房标识,1位做用户状态标识,即可将(0,3)内的下标表示一个用户
爬蜥
2022-03-09
4470
从源码看redis的sorted set与skipList详解
其中0表示它是当前排序集合里面分数最小的。 在redis的底层实现中,就用到了skiplist作为实现排序集合的数据结构
爬蜥
2020-03-20
1.1K0
企业应用架构模式中的层次模型简介
企业对外提供服务,通常借助于软件应用。比如交易零售系统,用来提供购买商品的服务,这里就涉及到交易数据,这些数据会被用户“反复”的产生、查看,而且随着服务时间增长,应用本身也会面临困难
爬蜥
2019-10-08
1.2K0
rpc之thrift入门与TBinaryProtocol源码追踪
thrift是一个支持多语言进行RPC的软件库,开发者通过定义数据类型和服务接口,经由thrift的代码生成引擎就可以构建RPC客户端和服务端所需要的代码。它的核心组件如下:
爬蜥
2019-08-20
6420
从源码看redis的'map'结构
user:100是整个map结构的key,name是map中的一项字段值,通过hget就可以获取存入的结果
爬蜥
2019-07-30
7060
“单例”模式与它在源码中的运用
单例实现的最困难方式在于,如何才能保证“全局”有且仅有一个实现,这里的“全局”则是针对不同的使用场景来做各自的应用即可。比如现在的应用都会部署到多台机器上,每台机器上都会有各自的jvm,那是否有必要保证所有的机器上都是同一个单例呢?或者可以仅仅把全局限定在单个jvm呢?
爬蜥
2019-07-09
4040
java中的垃圾回收机制简介
内存空间是有限的,运行时如果不能获取到内存,会抛出OutOfMemory,一种有效的解决措施是,抛弃那些程序永远不会不再用到的对象,腾出空间。
爬蜥
2019-07-09
9070
Netty源码分析之一次请求是如何到达channelRead的?
Netty是对java网络框架的包装,它本身肯定也会有类似的处理流程。必定在这个方面做了自己的优化处理
爬蜥
2019-07-09
4.7K0
hotspot虚拟机中java对象是如何创建
创建一个普通对象,类似执行A a=new A()这条语句,通过反编译javap -c可以得到对应指令如下
爬蜥
2019-07-09
8490
使用贪心算法解决最小生成树
生成树的定义:对于一个图G,获取G的边使得所有的顶点都连接到。最小生成树(MST Minimun spanning tree):给定图G(V,E),以及对应的边的权重,获取一颗总权重最小的生成树。
爬蜥
2019-07-09
1.2K0
常用算法之贪心算法
思路:求解问题时,总是选当前最好的选择,不从整体上考虑。因而选用贪心算法必须保证当前选的最好的必定是整体最好的。
爬蜥
2019-07-09
6020
HMM(隐马尔科夫模型)与维特比算法
一个马尔科夫过程是状态间的转移仅依赖于前n个状态的过程。这个过程被称之为n阶马尔科夫模型,其中n是影响下一个状态选择的(前)n个状态
爬蜥
2019-07-09
1.4K0
通过命令curl 操作ElasticSearch指南
match 如果在全文字段上查询,会使用正确的分析器分析查询字符串;如果精确值字段使用,会精确匹配。 term精确匹配,只要包含了对应的文本就可以,不对文本分析(not_analyzed文本会精确匹配,terms 多个值只要有一个匹配就匹配);
爬蜥
2019-07-09
1.5K0
jvm运行时数据区表示
根据JVM的规范,方法区用来存储类的结构,比如运行时常量池,字段和方法数据,方法和构造函数的代码,以及类和实例初始化,接口初始化中使用的一些特殊方法。规范把方法区从逻辑上看做是属于堆的一部分,不同的实现可以选择是否要对这块代码做垃圾回收和压缩,但是虚拟机规范本身并不强制规定方法区的位置(JDK 7 规范 JDK 8 规范 JDK 9 规范 JDK 10 规范 JDK 11 规范 在这一点上都是如此)。也就是说不同的实现可以放在不同的地方
爬蜥
2019-07-09
3990
CAS(compareAndSwap)原理
unsafe中对应拥有三个方法 compareAndSwapObject ,compareAndSwapInt和compareAndSwapLong ,他们都被标记为native
爬蜥
2019-07-09
1.5K0
AbstractQueuedSynchronizer原理剖析
无论是公平锁还是非公平锁,它们的实现都依赖于AbstractQueuedSynchronizer,它提供了一个基于先进先出等待队列 实现block locks和synchronizers的框架。特性如下
爬蜥
2019-07-09
3010
Java中常见死锁与活锁的实例
可以看到bThread持有锁0x00000007aaee5758,同时等待0x00000007aaee5748,然而恰好aThread持有锁0x00000007aaee5748并等待0x00000007aaee5758,从而形成了死锁
爬蜥
2019-07-09
6840
redis支持的数据结构
key可以包含任意得字符,比如将一张JPEG文件内容作为key。空字符串也是一个有效的key。redis的key使用时,有一些建议:
爬蜥
2019-07-09
5570
插入、归并、堆、count、radix、快速排序算法运行时间
把一个数组拆成左右两个部分,一直到不可拆分,然后对左右两个数组进行合并,合并方式为,新建左右两个数组来存储原有的左右数据,然后使用两个索引分别指向左右两个数组,将比较的结果放入原数组即可
爬蜥
2019-07-09
4260
Hash 冲突的一般解决方案与字符串查找中 hash 的使用
h(k)=[(ak+b)mod p]mod m 其中a,b是{0,..,p-1}中的随机值,P是一个大的质数
爬蜥
2019-07-09
1.6K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档