自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式文件系统实现互斥写入

本文会简单介绍常见的分布式锁实现方案,方案在实际使用中所存在的问题,以及利用dfs特性实现分布式文件互斥写入、删除。

2023-02-13 22:54:18 123 1

转载 Linux常用性能调优

linux各部分性能调优,可见下部分:

2020-07-08 08:11:43 148

原创 float压缩方式

float在舍弃一些精度和范围的情况下,可以做些压缩,节省存储空间。本文介绍3种压缩方式:fp16,Int8,fp blockfloat存储格式V = (-1) ^ s × M × 2 ^ E(1)(-1)^s 表示符号位,当 s=0,V 为正数;当 s=1,V 为负数。(2)M 表示有效数字,大于等于 1,小于 2,但整数部分的 1 不变,因此可以省略。(3)2^E 表示指数位。比如: 对于十进制的 5.25 对应的二进制为:101.01,相当于:1.0101*2^2。所以,S 为

2020-06-14 15:40:43 4313

原创 文件系统的预读

最近在做迁移工作,从hdfs迁移到我司的分布式文件系统,但是我也是非常无语,我司文件系统竟然没有做预读。。对于大量顺序读的场景,这个是非常吃亏的。对于跨机房场景,原Hdfs可达到100M+/s的读速度,但是现在却仅有几十M/s。对于这个问题,等待底层文件系统添加预读确实是最根本的解决方法,但是面对发布时间周期长,排期封板等问题,我们就打算在自己的插件上先简单实现预读功能。 ...

2019-10-04 10:54:13 342

原创 异步化IO

背景: 随着存储计算分离的项目进一步推进,IO异步成为了一件必须要做的事情了。随着存储内容分发到远端集中存储(盘古集群),IO lateny平均也需要300-400us,更不用说对于长尾访问,网络抖动,IO集中的情况,有时IO Latency可达到1ms。IO异步化是我们改进延时的一种方式。实现过程: 总体采用的异步回调的方式,但是由于应用层,与底层...

2019-03-25 15:17:54 353

原创 crontab定时任务

crontab是linux常见的定时开启任务的命令,通过该命令可以设置程序的周期性运行的时间。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或者daily run test等场景。命令格式为:crontab [-u user] file crontab [-u user] [ -e | -l | -r ]-u user:用来设定某个用户的crontab...

2018-05-27 10:43:01 140

原创 JVM相关知识总结

JVM——java virtualMachine定义:Java编译完成字节码在各个平台上运行,将字节码转换成机器指令执行。1 JVM内存模型JAVA运行时内存分配包括:Java虚拟机栈,本地方法栈,堆空间,方法区,程序计数器程序计数器:程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。分支、循环、跳转、异常处理、线程恢复等基础功能都需

2017-09-10 17:36:03 190

原创 leetcode题解 632. Smallest Range

原题:https://leetcode.com/problems/smallest-range/#/description题意:找到一个范围,可以存在n个list都有数在这个范围内思路:类似于merge多个有序数组,用heap存储n个数,每个List一个,然后每次poll,找出最小的数,并安排该List加入新的元素,然后用max - min,找出范围,最后给出最小的范围,就

2017-07-11 22:05:14 540

原创 leetcode 560Subarray Sum Equals K题解

题目地址:https://leetcode.com/problems/subarray-sum-equals-k/#/description获得连续子数组和为K,可以暴力查找,效率为o(n^2),那么思考,可不可以更快。用hashMap存储和的值,如果我们知道Sum[0,i]和Sum[0,j],很容易得到sum[i,j],所以判断Map中是否有containsKey(sum

2017-07-10 22:39:14 212

转载 最长公共子序列(LCS)问题

一、什么是最长公共子序列      什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。  举例如下,如:有两个随机数列,1 2 3 4 5 6 和 3 4 5 8 9,则它们的最长公共子序列便是:3 4 5。  一直不明白:最长公共子串和最

2017-07-03 21:48:41 206

转载 JAVA CAS原理分析

CASCAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 本文先从CAS的应用说起,再深入原理解析。 CAS应用CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 

2017-06-07 18:51:43 188

转载 为什么volatile不能保证原子性

这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方文档是这样形容volatile的:The Java programming language provides a second mechanism, volatile fields, that is more convenient than locking for s

2017-05-17 09:36:06 1443

转载 Redis内存使用优化与存储

原文链接:http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storageRedis常见数据模型的使用场景以及在内存优化方面和性能优化方面的分析:常见类型:String、 Hash、 set、 sorted set、 list  五种。。。。。五种数据类型是在内

2017-05-10 19:14:50 290

转载 Redis有多快?

Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。以下参数被支持:Usage: redis-benchmark [-h ] [-p ] [-c ] [-n [-k ] -h Server hostname (de

2017-04-10 19:31:51 220

转载 二叉树性质

1.在二叉树的第i层上最多有2 i-1 个节点 。(i>=1) 用归纳法证明:归纳基:i = 1 层时,只有一个根结点,                    2i-1 = 20 = 1;归纳假设:假设i=k时,命题成立;归纳证明:二叉树上每个结点至多有两棵子树,则第 k+1 层的结点数 最多为2k-1 x 2 = 2k+1-1 。

2017-04-03 13:38:11 215

转载 原子操作及线程同步

为了提高性能,在读或写原子数据的时候,应该避免使用同步,这个是非常危险而且错误的,原因参见线程同步的第二条 原子操作atomic原子操作是CPU执行指令的最小单元,是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,在执行完毕之前不会被任何其它任务或事件中断。能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。通常所说的原子操作包括对

2017-03-31 18:00:43 466

原创 hihocode Trie树题解

用tire树统计单词个数,在初始化时统计经过该节点的数目,比建好树后在统计子树要高效多了~~import java.util.*;class TrieNode{TrieNode[] next = new TrieNode[26];int nums = 0;}public class Main {public void build(String s,T

2017-03-31 10:17:51 298

转载 深入理解 Java 垃圾回收机制

一:垃圾回收机制的意义java  语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存; 内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂

2017-03-11 16:49:10 165

转载 子网掩码与子网划分

子网掩码与子网划分 目录 : 一、摘要 二、子网掩码的概念及作用 三、为什么需要使用子网掩码 四、如何用子网掩码得到网络/主机地址 五、子网掩码的分类 六、子网编址技术 七、如何划分子网及确定子网掩码 八、相关判断方法 一、摘要 近期在我的论坛中大家对子网掩码以及子网划分的讨论比较多,因为前面也写了关于ip地址的教程,为了延续性,就写了这个关

2017-03-07 17:20:23 380

转载 Java反射机制详解

概要:Java反射机制详解| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·反射机制的动态

2017-03-06 09:12:35 177

空空如也

空空如也

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

TA关注的人

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