5 屌丝的程序员

尚未进行身份认证

屌丝的程序员!!!

等级
TA的排名 7w+

mysql之TIMESTAMP(时间戳)用法详解

timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不使用程序更新情况下只要你更新了记录timestamp会自动更新时间.通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项。MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值!这样一来,就不是创建日期了,当作更新日期来使用比较好!...

2019-11-22 20:10:05

高级多线程控制类

1.ThreadLocal类用处:保存线程的独立变量。当一个线程类在使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。常用于用户登录控制,如记录session信息。实现:每个Thread都持有一个TreadLocalMap类型的变量(该类是一个轻量级的Map,功能与...

2019-10-17 14:41:43

(转载)MySQL InnoDB 的多版本并发控制(MVCC)

原文地址:https://www.imooc.com/article/details/id/31277innoDB 的多版本并发控制(MVCC)1. MVCC定义1.1定义MVCC全称Mutli Version Concurreny Control,多版本并发控制,也可称之为一致性非锁定读;它通过行的多版本控制方式来读取当前执行时间数据库中的行数据。实质上使用的是快照数据,这样就可...

2019-10-09 17:06:51

(转载)mysql锁机制详解

原文转载地址:https://www.cnblogs.com/volcano-liu/p/9890832.html前言  大概几个月之前项目中用到事务,需要保证数据的强一致性,期间也用到了mysql的锁,但当时对mysql的锁机制只是管中窥豹,所以本文打算总结一下mysql的锁机制。  本文主要论述关于mysql锁机制,mysql版本为5.7,引擎为innodb,由于实际中关于inno...

2019-10-08 18:02:53

(转载)MySQL索引底层实现原理

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,好在计...

2019-10-08 13:57:52

(转载)Zookeeper实现分布式锁

本文转载于简书,是自己在上班之余的学习记录。怕将来用到找不到。特此转载!原文地址:https://www.jianshu.com/p/3f407b37c34fZooKeeper 节点是有生命周期的,这取决于节点的类型。在 ZooKeeper 中,节点类型可以分为持久节点(PERSISTENT )、临时节点(EPHEMERAL),以及时序节点(SEQUENTIAL ),具体在节点...

2019-09-25 14:58:06

理解Zookeeper的Leader选举过程

选择机制中的概念serverId(服务器ID 既 myid) 比如有三台服务器,编号分别是1,2,3。 编号越大在选择算法中的权重越大。 zxid(最新的事物ID 既 LastLoggedZxid) 服务器中存放的最大数据ID。 ID值越大说明数据越新,在选举算法中数据越新权重越大。 epoch (逻辑时钟 既 PeerEpoch) 每个服务器都会...

2019-09-19 16:51:59

(转载)使用redis实现分布式锁

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。一些可能的实现刚才提到过,实现秒杀...

2019-09-02 10:25:57

redis集群模式

redis的三种集群方式redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 从服务器收到快照文件后丢...

2019-08-30 16:49:04

面试中关于Redis的问题看这篇就够了

昨天写了一篇自己搭建redis集群并在自己项目中使用的文章,今天早上看别人写的面经发现redis在面试中还是比较常问的(笔主主Java方向)。所以查阅官方文档以及他人造好的轮子,总结了一些redis面试和学习中你必须掌握的问题。事无巨细,不可能囊括到所有内容,尽量把比较常见的写出来。欢迎关注我的微信公众号:“Java面试通关手册”,也可以加我微信:“bwcx9393”与我学习交流。什么是Red...

2019-08-30 14:58:43

分布式事务-本地消息表实现方案

分布式事务-本地消息表实现方案2019年02月27日 16:09:02shine0312阅读数 274一、背景用单下单的时候需要先锁库存,然后再生成订单,库存所在的库和订单是两个库,这里就涉及到了分布式事务的处理,下面说下两种解决方案吧二、方案1、定时任务+本地消息表这种方案还有一个优化点就是:可以去掉消息的定时任务,然后就是在生成订单的事务中如果失败,那么就再...

2019-06-25 12:05:18

分布式事务之tcc补偿事务和基于可靠消息的分布式事务

之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不...

2019-06-21 11:51:08

JSON Web Token 入门教程

JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。一、跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4...

2019-06-05 14:20:59

Hmily:高性能异步分布式事务TCC框架

Hmily框架特性 无缝集成Spring,Spring boot start。 无缝集成Dubbo,SpringCloud,Motan等rpc框架。 多种事务日志的存储方式(redis,mongdb,mysql等)。 多种不同日志序列化方式(Kryo,protostuff,hession)。 事务自动恢复。 支持内嵌事务的依赖传递。 ...

2019-06-05 14:01:09

Java虚拟机-- GC 调优(基础篇) - GC参考手册

5. GC 调优(基础篇) - GC参考手册2017年02月14日 17:41:49铁锚阅读数:7014更多所属专栏:GC性能优化说明:Capacity: 性能,能力,系统容量; 文中翻译为”系统容量“; 意为硬件配置。您应该已经阅读了前面的章节:垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册 ...

2019-05-30 10:52:39

Java虚拟机-- GC 算法(实现篇) - GC参考手册

4. GC 算法(实现篇) - GC参考手册2017年02月05日 23:58:36铁锚阅读数:9924标签:javajvm垃圾收集GC参考手册算法更多个人分类:JavaGC所属专栏:GC性能优化您应该已经阅读了前面的章节:垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册学习了GC算法的相关概念之后...

2019-05-30 10:51:16

Java虚拟机--GC 算法(基础篇) - GC参考手册

3. GC 算法(基础篇) - GC参考手册2017年01月13日 12:16:12铁锚阅读数:5580更多所属专栏:GC性能优化相关术语翻译说明:Mark,标记;Sweep,清除;Compact,整理; 也有人翻译为压缩,译者认为GC时不存在压缩这回事。Copy,复制; copy 用作名词时一般翻译为拷贝/副本,用作动词时翻译为复制。注: 《垃圾回收算法手...

2019-05-30 10:49:14

Java虚拟机---Java中的垃圾收集 - GC参考手册

2. Java中的垃圾收集 - GC参考手册2017年01月07日 00:02:54铁锚阅读数:7786更多所属专栏:GC性能优化标记-清除(Mark and Sweep)是最经典的垃圾收集算法。将理论用于生产实践时, 会有很多需要优化调整的地点, 以适应具体环境。下面通过一个简单的例子, 让我们一步步记录下来, 看看如何才能保证JVM能安全持续地分配对象。您应该已经阅读了前...

2019-05-30 10:47:38

jvm虚拟机--垃圾收集简介 - GC参考手册

1. 垃圾收集简介 - GC参考手册2016年12月02日 11:29:01铁锚阅读数:9495更多所属专栏:GC性能优化说明:在本文中,Garbage Collection翻译为 “垃圾收集”,garbage collector翻译为 “垃圾收集器”;一般认为,垃圾回收和垃圾收集是同义词。Minor GC翻译为:小型GC; 而不是次要GC...

2019-05-30 10:45:44

Vmware 12 配置桥接网络分配静态IP

VMware 中分配静态IPVMware 软件自己有三种网络连接模式,分别为 Bridged 桥接连接,NAT连接、Host-Only仅主机连接当在系统种安装Vmware workstation完成之后,会自动在本地网络连接中,新增两块虚拟网卡用于虚拟机的通信。VMware Network Adapter VMnet1 用于 桥接 模式VMware Network Adapter...

2019-03-20 12:35:24

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。