3 航海到IT的转变,梦想一直在路上

尚未进行身份认证

我本身是一海员,每天大海为伴,过着与互联网不搭边的生活,创业者,创业梦,一直尝试新鲜事物的我,冒然走向了互联网事业,摇身变为IT的一员,追梦人,追梦路,一直在路上.....

等级
TA的排名 1w+

Spring事务的理解(个人认为非常好容易理解)

事务传播行为什么叫事务传播行为?听起来挺高端的,其实很简单。即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自...

2020-02-18 22:15:32

java & 和 |运算(看HashMap源码时)

首先得明白10进制的数和2进制的数转换关系遵循“8421”原则1=12=103=114=1005=1016=1107=1118=10009=1001…128=1000 0000129=1000 0001& 是所有的2进制位数“与”出的最终结果,“与”的规则是两者都为1时才得1,否则就得0举个例子7 & 6=?7的2进制是:1 1 1...

2020-02-18 10:06:46

redis主存,哨兵,集群的应用(生产环境可用)

启动* redis的数据类型:* 本质上是key-value的数据结构.而这个value分为:* String :单值和多值* hash :* set* zset* list* 核心: 具有业务标示的key.过期策略指的是key的过期,key过期,key对应的值就会失效(如分布式锁中,超时时间指的是key的失效时间* 而非value的失效时间)* 设计key:设计成为 具...

2020-02-14 16:23:37

分布式架构-zookeeper --实际应用(注册中心,分布式job,分布式锁,)

数据结构: 核心:以节点的形式存储数据,根节点 >> 临时节点(临时序号节点)zookeeper作为dubbo的注册中心的时候,相关的服务的节点结构必须注意一点:临时节点下不能存在其他的节点;服务的节点是临时节点/dubbo/com.tuling.zk.dubbo.UserService/consumers/consumer://192.168.174.1/...

2020-02-07 15:02:36

分布式架构zookeeper-集群

从下面三个方面解释:1.集群部署2.选举机制3.数据提交机制特点:主存自动切换一般是3台服务器,3个节点,半数运行机制,生产环境上应该部署到不同的物理机上,如果是测试环境可以部署到同一个物理机上,只要port不同就可以,首先解决集群启动时遇到的一个问题: 详见这个博客:https://www.jianshu.com/p/505f53f0a3202.部署:...

2020-02-06 22:14:02

分布式框架-zookeeper的安装(linux版本)-一

一 、下载zookeeperwget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz二、解压zookeepertar -zxvf apache-zookeeper-3.5.5-bin.tar.gz三、拷贝zoo_samle.cfg为zoo.cfgcp...

2020-02-06 14:43:02

布隆过滤器

package com.redis.set;import java.util.BitSet;/** * 布隆过滤器: * 是由足够长的bit数组和k个hash函数构成的 * 本身是存在误判率的,但是误判率不能超过0.1%; * 通过概率算出来的,求导以及最值的公式; * * 应用:解决的问题: * */public class BloomFilter { pri...

2020-02-04 00:41:01

算法-查找bitMap

package com.redis.hash;/** * 计算机当中最小的单位是:Bit位 * 1Byte = 8bit * int = 4byte= 4*8bit * flote = 4Byte * Long = 8Byte * Char = 2Byte * * Int a = 1;在计算机当中怎么个存储的? * 0000 0000 0000 0000 0000 0000...

2020-02-02 22:14:25

红黑树解决了什么问题

/** * 平衡二叉树:就是为了防止二叉搜索树变为线性数据结构,而出现的数据结构 * 而AVL树-绝对平衡树.左右子树的高度差不能超过1 * 红黑树:特性: * 1.每个结点不是红色就是黑色 * 2.根节点:一定是黑色的 * 3.不可能有两个红色的节点连在一起,每个叶子节点都是黑色的空节点(NIl),并且不存储数据 * 4.每个节点,从该结点到达其可到达的叶子节点的所有路径,都包含...

2020-02-01 22:58:25

树论-二叉搜索树

package com.redis.redandblack;/** * 特点: * 1.如果它的左子树不为空,则左子树上的节点值小于根节点 * 2.如果它的右子树不为空,则右子树上的节点值大于等于根节点 * 3.子树同样遵循以上两点 * 只要一棵树是二叉查找树,那么中序遍历一定是有序的 * 二叉查找算法? * 归并排序:每一次分一半,最终分的是logn */public ...

2020-02-01 22:25:10

树论基本操作-建立二叉树以及相关概念

package com.redis.binary;/** * 结点高度:结点到叶子节点的最长路径 * 结点深度:跟结点到该结点边的个数 * 结点层次:结点深度+1; * 树的高度:根结点的高度 * 常见的二叉树: * 平衡二叉树 * 二叉查找树 * 平衡二叉树 * B树:是多叉树,是根据二叉树演变而来 */public class BinaryTree { //...

2020-02-01 21:32:56

排序算法-快速排序

package com.redis.order;import java.util.Arrays;/** * 快速排序: * 基准数:一般就是取要排序的序列的第一个; * 算法的选择:数据量小的时候选择:插入和冒泡排序 数据量大的时候选择:快速排序 jdk当中的基础类型排序用的是:快速排序.Arrays.Sort 对象排序用的是:归...

2020-01-31 17:16:04

排序算法-插入排序

package com.redis.order;/** * 插入/希尔/归并 * 1.时间效率 * 2.空间复杂度 * 3.比较次数&交换次数 * 两个操作: * 1:比较 * 2:交换 * 4.稳定性 */特点:对一个已有顺序的序列进行排序public class Sort1 { /** * 插入排序: * 生活场景:打扑克 ...

2020-01-31 15:18:04

排序算法-归并排序

package com.redis.order;import java.util.Arrays;/** *归并的算法:是对递归算法的优化, * 底层的实现: * 递归+分治 * 递归的核心概念是: * //递归:就是把一个问题分成很多个子问题,而且每个子问题做相同的操作 * //终止递归的问题 * //继续递归问题...

2020-01-31 15:16:52

自己实现一个栈结构

明白一个概念:栈:是一种特殊的数据结构,特数性在于:栈本身是数组或者链表,常用的是数组特点:LIFO:后进先出生活场景:叠加盘子,取盘子2.栈在函数中的调用package com.redis.algorithm.stack;/** * 栈:一种特殊的数据结构,是数组或者链表 * * @param <Item> */package co...

2020-01-31 14:36:56

什么是缓存穿透?什么是缓存雪崩?什么是缓存失效以及采取什么样的措施去解决这些问题

一:缓存穿透;当一个微应用或者分布式环境有上百万的流量请求时,如果这些请求的数据在redis缓存这一层不存在,那么就会穿过redis的缓存直达到后台,也就是mysql服务器,导致整个微服务应用挂掉,针对这种问题,给出有以下解决方案: 1.当大量的流量请求过来时,如果数据不存在,给redis缓存设置值为null,当下次同一个key的请求过来时,如果缓存中没有数据,直接返回null....

2020-01-16 17:49:36

redis分布式锁(生产环境可用,支持多种高并发)

package com.redis.lock;import com.google.common.hash.BloomFilter;import com.google.common.hash.Funnels;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.fa...

2020-01-16 17:27:08

Spring事务理解(Spring 如何在一个事务中开启另一个事务)

但是这只适用与业务比较简单的,如果出现多次数据库的写操作,而我们调用的系统只需要其中一个写操作的最新数据,如果我们将它分开,那么如果调用目标系统出现异常的时候,那么之前的写操作就不能回滚了。举个简单的例子:@Servicepublic class ServiceA { @Transactional public void doSomething(){ 向数据库中添加数据;...

2019-12-23 13:57:46

oracle生成主键的方法

select * from user_sequences;/*第二步:建立自定义的sequence*/drop SEQUENCE K_CONFIG_DIAGNOSE_TYPE_SEQ;CREATE SEQUENCE K_CONFIG_ACTIVITY_TYPE_SEQincrement by 1 -- 每次加几个start with 1 ...

2019-11-11 11:25:14

Linux中Redis的安装

一、下载redisredis官网地址:http://www.redis.io/下载地址:http://download.redis.io/releases/redis中文文档地址:http://www.redis.cn/documentation.html最新版本:5.0稳定版为4.0.11所以我们下载4.0.11 1 wget http:...

2019-11-07 10:41:54

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。