排序:
默认
按更新时间
按访问量

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

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

2018-08-08 11:21:13

阅读数:34

评论数: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

阅读数:105

评论数:0

mmap和常规文件操作的区别

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

2018-05-25 00:00:31

阅读数:207

评论数:0

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

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

2018-05-24 19:28:40

阅读数:57

评论数:0

linux内存映射mmap原理分析

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

2018-05-17 21:04:37

阅读数:40

评论数:0

mysql insert锁机制(insert死锁)

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

2018-05-07 00:11:29

阅读数:1064

评论数:0

深入浅出 JIT 编译器

JIT 简介 JIT 是 just in time 的缩写, 也就是即时编译编译器。使用即时编译器技术,能够加速 Java 程序的执行速度。下面,就对该编译器技术做个简单的讲解。 首先,我们大家都知道,通常通过 javac 将程序源代码编译,转换成 java 字节码,JVM 通过解释字节码将其...

2018-11-12 21:58:09

阅读数:12

评论数:0

详解 Tomcat 的连接数与线程池

前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面的文章 详解Tomcat配置文件server.xml 中写到过:Connector的主要功能,是接收连接请求,创建Request和Respons...

2018-11-09 11:37:14

阅读数:39

评论数:0

Tomcat线程池的深入理解

1.工作机制: Tomcat启动时如果没有请求过来,那么线程数(都是指线程池的)为0; 一旦有请求,Tomcat会初始化minSapreThreads设置的线程数;   2.线程池作用: Tomcat的线程池的线程数跟你的瞬间并发有关系,比如maxThreads设置为1000,当瞬间并发...

2018-11-09 11:31:49

阅读数:21

评论数:0

支付宝Java开发(1+2+3+HR四面):Ngnix+MQ队列+集群+并发抢购

一面 介绍项目 java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理,容量为什么是2的幂次 为什么要同时重写hashcode和equals ConcurrentHashMap如何实现线程安全? 介绍Java多线程的5大状态,以及状态图流转过...

2018-11-08 12:28:59

阅读数:61

评论数:0

JVM频繁Full GC的情况及应对策略

堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带...

2018-11-08 12:28:24

阅读数:44

评论数:0

在 SQL 里描述数据分布情况的时候,有 Cardinality 和 Selectivity 两个概念,有什么区别?

What is the difference between cardinality and selectivity? In SQL, cardinality refers to the number of unique values in particular column. So, card...

2018-11-08 00:07:27

阅读数:27

评论数:0

Java字符串占位符(commons-text)替换

  <dependency> <groupId>org.apache.commons</groupId> &lt...

2018-11-02 10:45:15

阅读数:63

评论数:0

Jedis和RedisTemplate有何区别?

Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。 SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便...

2018-10-28 18:46:20

阅读数:136

评论数:0

MYSQL-datatime和timestamp的区别

mysql中有三种日期类型: date(年-月-日)  create table test(hiredate date); datetime(日期时间类型)  create table test(hiredate datetime) timestamp(邮戳类型,保存年-月-日 时-分-秒) c...

2018-10-12 15:00:51

阅读数:41

评论数:0

关于磁盘,磁柱,磁头,扇区等

  关于磁盘,磁柱,磁头,扇区等 图中红色小方块就是扇区,即使它的的面积不等,容量都是512Bytes 蓝色的那一圈就是磁道 一圈有63个扇区 整个一个盘面有1024条磁道 共有256块盘面叠在一起,对应形成1024根磁柱,256根读写磁柱。 鸟哥说的磁盘盘就是一个盘面 磁盘...

2018-10-11 20:18:56

阅读数:29

评论数:0

Maven中-DskipTests和-Dmaven.test.skip=true的区别

  在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是: -DskipTests,不执行测试用例,但编译测试用例...

2018-10-11 17:59:58

阅读数:43

评论数:0

git各种情况的版本回退

转载自http://blog.csdn.net/fuchaosz/article/details/52170105 1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客。 2 问题 如果提交了一个错误的版本,怎么回退版本? 如果提交了一个错误的版...

2018-10-11 17:03:06

阅读数:20

评论数:0

Spring cloud系列九 Hystrix的配置属性优先级和详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hry2015/article/details/78554846 1. 概述 本文对Hystrix的配置参数的覆盖优先级,可配置参数的种类、配置项进行详细的介绍。 Hystrix可以配置属性...

2018-09-29 17:17:23

阅读数:30

评论数:0

Hystrix请求合并

继承HystrixCollapser实现请求合并 1 HystrixCollapser的实现类 2 UserService批量查询接口 3 UserBatchCommand批量查询命令 使用注解方式来实现请求合并   1 继承HystrixCollapser实现请求合并 1.1...

2018-09-29 17:02:36

阅读数:48

评论数:0

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