Easter79 Easter79
4年前
thrift详解
背景thrift最早由facebook开发,后来贡献给了apache。thrift主要解决跨语言调用的问题。thrift和protobuf有啥区别?thrift和protobuf,都解决了一个问题就是夸语言数据结构的定义,json也解决了跨语言的数据结构定义,只不过json都是字符串的,传输的开销和解析的开销可能有些大。那么想传输二
从历代GC算法角度刨析ZGC
本文所有介绍仅限于HotSpot虚拟机,本文先介绍了垃圾回收的必要手段,基于这些手段讲解了历代垃圾回收算法是如何工作的,每一种算法不会讲的特别详细,只为读者从算法角度理解工作原理,从而引出ZGC,方便读者循序渐进地了解。
zhenghaoz zhenghaoz
5年前
分布式系统基石:Paxos
Thereisonlyoneconsensusprotocol,andthat'sPaxos.AllotherapproachesarejustbrokenversionsofPaxos.这个世界上只有一种一致性算法,那就是Paxos,其他共识算法只是Paxos的残缺版本。——MikeBurrows(Googl
九路 九路
5年前
5 手写Java Stack 核心源码
Stack是Java中常用的数据结构之一,Stack具有"后进先出(LIFO)"的性质。只能在一端进行插入或者删除,即压栈与出栈栈的实现比较简单,性质也简单。可以用一个数组来实现栈结构。1.入栈的时候,只在数组尾部插入2.出栈的时候,只在数组尾部删除我们来看一下Stack的用法:如下publicstaticvoidmai
V-275670029 V-275670029
3年前
哈希竞猜游戏的开发搭建原理
hash哈希竞猜游戏软件开发哈希竞猜游戏系统搭建区块链主要应用的密码学算法有两个部分:一个哈希算法,另一个是非对称加密  简单来说,哈希算法就是一种特殊的函数,不论输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,这就好像身份证号码一样,永远都是十八位而且全国唯一。哈希算法的输出值就叫做哈希值。  哈希算法有三个特点,它们赋予了区块链不可
桃浪十七丶 桃浪十七丶
4年前
C语言中指针及其应用高级篇(用指针实现数组的扩增)
一、一级指针与一维数组把指针充当变量的用法,在C/C的数据结构学习中广为应用,这种用法学习起来是比较简单的。先看代码。这里的代码,有string.h头文件包含的函数,和scanf,这两者在正常的写法中不用加“s”,这篇随笔所及代码的运行环境是VisualStudio2017,编译器会把scanf等函数增强,因此为了正常运行,会加上“s”.cdefine
Wesley13 Wesley13
4年前
JAVA加密算法(1)
密码学综述密码学基本功能机密性、鉴别、报文完整性、不可否认性基本模型sender加密算法密文解密算法receiver密钥源密码学算法分类:消息编码:Base64消息摘要:MD类,SHA类,MAC对称加密:DES,3DES,AES
Stella981 Stella981
4年前
Master公式计算递归时间复杂度
我们在算递归算法的时间复杂度时,Master定理为我们提供了很强大的便利!Master公式在我们的面试编程算法中除了BFPRT算法的复杂度计算不了之外,其他都可以准确计算!这里用求数组最大值的递归函数来举例:publicstaticintgetMax(intarr,intL,intR){if
Wesley13 Wesley13
4年前
23种设计模式(6):模版方法模式
定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图:!(http://static.oschina.net/uploads/img/201603/22162800_BFc1.jpg)       事实上,模版方法是编程中一个
V-275670029 V-275670029
3年前
哈希竞猜游戏是什么?
区块链主要应用的密码学算法有两个部分:一个哈希算法,另一个是非对称加密  简单来说,哈希算法就是一种特殊的函数,不论输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,这就好像身份证号码一样,永远都是十八位而且全国唯一。哈希算法的输出值就叫做哈希值。  哈希算法有三个特点,它们赋予了区块链不可篡改、匿名等特性,并保证了整个区块链体系的完整。第