Synchronized的原理及自旋锁,偏向锁,轻量级锁,重量级锁的区别

在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程...

2018-08-08 11:21:13

阅读数 64

评论数 0

【算法】(查找你附近的人) GeoHash核心原理解析及代码实现

分享提纲:  0. 引子  1. 感性认识GeoHash  2. GeoHash算法的步骤  3. GeoHash Base32编码长度与精度  4. GeoHash算法  5. 使用注意点(曲线突变--8个邻居来解决)  6. geohash的php 、python、java、C#实现代码  7...

2018-07-04 21:55:20

阅读数 186

评论数 0

mmap和常规文件操作的区别

mmap和常规文件操作的区别对linux文件系统不了解的朋友,请参阅我之前写的博文《从内核文件系统看文件读写过程》,我们首先简单的回顾一下常规文件系统操作(调用read/fread等类函数)中,函数的调用过程:1、进程发起读文件请求。2、内核通过查找进程文件符表,定位到内核已打开文件集上的文件信息...

2018-05-25 00:00:31

阅读数 329

评论数 0

B+树与LSM树的区别与联系

首先来回答一个问题:为什么在磁盘中要使用b+树来进行文件存储呢?原因还是因为树的高度低得缘故,磁盘本身是一个顺序读写快,随机读写慢的系统,那么如果想高效的从磁盘中找到数据,势必需要满足一个最重要的条件:减少寻道次数。我们以平衡树为例进行对比,就会发现问题所在了:先上个图 这是个平衡树,可以看到基本...

2018-05-24 19:28:40

阅读数 86

评论数 0

linux内存映射mmap原理分析

一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。 原理首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种...

2018-05-17 21:04:37

阅读数 77

评论数 0

mysql insert锁机制(insert死锁)

一、前言上周遇到一个因insert而引发的死锁问题,其成因比较令人费解。于是想要了解一下insert加锁机制,但是发现网上介绍的文章比较少且零散,挖掘过程比较忙乱。本以为只需要系统学习一个较完全的逻辑,但是实际牵扯很多innodb锁相关知识及加锁方式。我好像并没有那么大的能耐,把各种场景的加锁过程...

2018-05-07 00:11:29

阅读数 3411

评论数 0

Linux umask值默认权限分配

1 Linux权限位说明 Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,他们分别是文件属主(Owner)的读、写、执行,用户组(Group)的读、写、执行以及(Other)其它用户的读、写、执行: r(read)可写权限,对应数字4 w(write)可写权限,对应数字2 ...

2019-02-13 19:22:42

阅读数 23

评论数 0

SpringCloud使用Sentinel 代替 Hystrix

本文基于springboot-2.0.6RELEASE+cloud-F.SR2 Feign环境下:只需两步 1.在原使用hystrix的模块中添加如下依赖: <dependency>     <groupId&g...

2019-02-11 16:11:57

阅读数 65

评论数 0

附2 hystrix详述(2)- 配置

一、hystrix在生产中的建议 1、保持timeout的默认值(1000ms),除非需要修改(其实通常会修改) 2、保持threadpool的的线程数为10个,除非需要更多 3、依赖标准的报警和监控系统来捕获问题 4、通过dashboards的实时监控来动态修改配置,直到满意为止   ...

2019-02-02 15:27:30

阅读数 14

评论数 0

HBase filter shell操作

创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family of STRING values 导入数据 put 'test1', 'user1|...

2019-01-30 22:03:00

阅读数 13

评论数 0

原生内存(堆外内存)

在JVM使用的内存中,通常堆消耗的部分最多,但是JVM也会为内部操作分配一些内部。这些非堆内存就是原生内存。 应用中可以通过JNI的malloc()类似的方法或者是使用NIO的API分配。JVM使用的原生内存和堆内存的总量,就是一个应用总的内存占用(Footprint)。 1、测量内存占用 ...

2019-01-29 19:45:31

阅读数 18

评论数 0

Guava RateLimiter源码解析

前言 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行...

2019-01-29 17:03:25

阅读数 8

评论数 0

java 获取 hbase数据 springdatahadoop -- hbasetemplate

版权声明:本文为博主原创文章,未经博主允许不得转载。    https://blog.csdn.net/linlinv3/article/details/42737113 java 利用 sping-data-hadoop       HbaseTemplate 操作hbase 转载请注明出处:h...

2019-01-28 10:40:00

阅读数 54

评论数 0

【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

1、搭建环境   新建JAVA项目,添加的包有:    有关Hadoop的hadoop-core-0.20.204.0.jar    有关Hbase的hbase-0.90.4.jar、hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包   2、主...

2019-01-18 19:55:19

阅读数 39

评论数 0

HBase的rowkey排序和scan输出顺序

本文目的:搞清楚HBase里面行与行之间的排序排序规则,如何正序和反序输出扫描结果。 明确: HBase里面同一列的元素按照rowkey进行排序,排序规则是rowkey的ASCII码排序,小的在前大的在后。 举例说明:rowkey的时间设计是Long.MAX_VALUE减去真实的timest...

2019-01-18 16:02:19

阅读数 26

评论数 0

HBase 常用Shell命令

转自:http://my.oschina.net/u/189445/blog/595232   两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~   hbase shell命令                             描述  alter 修改...

2019-01-18 15:37:05

阅读数 88

评论数 0

HBase的快速查询

快速查询和实时查询  快速查询:  一、分区存储  HBase将每个表划分为多个region,每个region用rowkey来华为,数据的查询也是通过rowkey来查询  查询过程:client向HBase依赖的zookeeper获取metaregion的位置,然后通过metaregion中的记录...

2019-01-17 18:30:24

阅读数 38

评论数 0

Java内存之本地内存分析神器: NMT 和 pmap

背景 其他团队的一些同事经常问我一个问题:你的Java进程怎么占了那么多Virtual Size和RSS? 最近,我基本上可以回答清楚这个问题了。用NMT和pmap基本就就能搞清楚Java进程为什么占了那些Virtual Size和RSS。 NMT是Native Memory Tracking的缩...

2019-01-16 21:17:01

阅读数 210

评论数 0

原生内存(堆外内存)

在JVM使用的内存中,通常堆消耗的部分最多,但是JVM也会为内部操作分配一些内部。这些非堆内存就是原生内存。 应用中可以通过JNI的malloc()类似的方法或者是使用NIO的API分配。JVM使用的原生内存和堆内存的总量,就是一个应用总的内存占用(Footprint)。 1、测量内存占用 ...

2019-01-16 21:10:21

阅读数 33

评论数 0

JVM NativeMemoryTracking 分析堆外内存泄露

Native Memory Tracking (NMT) 是Hotspot VM用来分析VM内部内存使用情况的一个功能。我们可以利用jcmd(jdk自带)这个工具来访问NMT的数据。 NMT介绍 工欲善其事必先利其器,我们先把相关需要的配置和工具介绍清楚,再通过例子来看看具体如何使用NMT。...

2019-01-16 21:08:30

阅读数 64

评论数 0

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