自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Redis

介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。 传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型...

2020-03-13 23:04:56 27 0

转载 Spring总结

1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spr...

2020-03-13 23:04:32 27 0

原创 读书笔记(三)

B站 1.redis的hash数据结构是如何实现的? /* hash表是空的需要初始化空间, 默认是4*/ ​ if (d->ht[0].size == 0) return dictExpand(d, DICT_HT_INITIAL_SIZE); 2.kafka中zookeeper的作...

2019-12-30 21:26:49 38 0

转载 【转载】分布式事务详解

这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。 相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识...

2019-12-26 00:51:02 35 0

转载 分布式事务解决方案

什么场景下会产生分布式事务? 在支付异步回调的情况下,支付宝发送http请求给第三方平台,第三方平台需要更改支付状态以及订单状态,在此场景下,第三方平台更改本地支付数据库的支付状态后,通知订单服务更改订单的状态,在此程序后,如果代码出现异常,由于有声明式事务的存在,本地支付服务的数据库会进行回滚,...

2019-12-24 19:53:09 46 0

原创 Redis分布式锁的一种实现

Redis分布式锁

2019-11-19 11:01:51 34 1

转载 分布式唯一ID: snowflake算法思考

缘起 为什么会突然谈到分布式唯一id呢?原因是最近在准备使用RocketMQ,看看官网介绍: 一句话,消息可能会重复,所以消费端需要做幂等。为什么消息会重复后续RocketMQ章节进行详细介绍,本节重点不在这里。 为了达到业务的幂等,必须要有这样一个id存在,需要满足下面几个条件: 同一业务场...

2019-11-18 19:35:08 20 0

转载 零拷贝的原理

“先从简单开始,实现下这个场景:从一个文件中读出数据并将数据传到另一台服务器上?” File.read(file, buf, len); Socket.send(socket, buf, len); “这里涉及到了几次数据拷贝?” “2次?磁盘拷贝到内存,内存拷贝到Socket?” “emmm,...

2019-11-05 22:06:13 97 0

转载 Myqsl 流式查询

链接地址: Mybatis中使用流式查询避免数据量过大导致OOM https://blog.csdn.net/yangchuanan/article/details/84246565原文链接 一、JDBC编程中mysql流式查询 1.为什么使用流式查询? 普通查询方式: 1)JVM进程内数据库线程...

2019-10-31 17:35:39 65 0

原创 IDEA git 撤回commit(已提交未push)方法 回滚方法

IDEA git 撤回commit(已提交未push)方法 1.版本控制 2.打开log,查看提交记录 3.右键,‘undo commit’ 此外,回滚方式 HEAD后面添加~1 这是回撤到上一次 以此类推可以2 , 3, 4… 回滚方法 1.回滚代码 参考链接:https://www.5...

2019-10-30 15:19:16 1749 0

转载 pos机清算中,D0、T0、D1、T1是什么意思,有何区别?

我们经常听到不同支付公司在宣传业务时候,总是在说D0、T0、D1、T1,那么这些到底代表着什么,又有何种区别呢? d日是指自然日,包括周末和节假日均可办理业务。t日是指交易日,+0的含义是指资金清算时间为本日,而非实时到账,+1的含义是指正常清算时间为第二个工作日(周一至周五10:00-18:00...

2019-10-28 19:52:49 421 0

原创 gradle入门学习

1.Groovy: 面向对象编程语言,既可用于面向对象编程,也可以用作纯粹的脚本语言。该语言不用编写过多代码,又具有闭包和动态语言的其他特性。 2.与Java比较: 兼容java代码,编译成java字节码 类方法默认 public 3.groovy高效特性: 1.def 可选的类型定义 2.as...

2019-10-20 19:33:29 31 0

原创 The expression 'XXXX' evaluated to a null value

方式1 传入map 将要传递的id都存到一个List中,将List存到要传参的map中,并给List一个键名,在collection中就配置这个键名,然后就能成功解析遍历了。 //使用<foreach>传入map集合,其中map中的值为对象做查询 Map<Stri...

2019-10-17 20:29:16 189 0

原创 Spring 源码笔记

Spring 源码笔记 1. Spring MVC初始化流程 ​ 1.1 加载配置文件 doLoadConfig(config.getInitParameter(“contextConfigLocation”)) ​ 如果是加载Properties相对简单一点,XML要解析,复杂一点 ​ Pro...

2019-08-11 18:06:57 257 0

转载 基于Redis Set的分布式锁(转载)

前言 分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。 首先谈到分布式锁自然也就联想到分布式应用。 在我们将应用拆分为分布式应用之前的单机系统中,对一些并发场景读取公共资源时如扣库存,卖车票之类的需求可以简单的使用同步或者是加锁就可以实现。...

2019-06-23 16:23:18 251 0

原创 工作笔记(四)

开发问题: 1.不能用本地构建,替换生产环境包,比如一些配置文件不同,dubbo.properties,application.properties,disconf.properties. 2.Hbase设计分区策略 rowKey加上前缀 hash(rowkey),当使用String.hashCo...

2019-05-13 15:52:16 57 0

转载 Reactor模式(反应器设计模式)

一、Reactor模式是什么 反应器设计模式(Reactor pattern)是一种为处理并发服务请求,并将请求提交到一个或 者多个服务处理程序的事件设计模式。当客户端请求抵达后,服务处理程序使用多路分配策略,由一个非阻塞的线程来接收所有的请求,然后派发这些请求至相关的工作线程进行处理。 二、...

2019-05-08 17:59:10 141 0

转载 IDEA报classnotfoundexception: javax.servlet.servletContext

在Intellij IDEA中默认所有 scope 为 provided 的依赖不会被加入到 classpath,勾选即可

2019-03-14 16:34:32 547 0

原创 读书工作笔记(二)

1.notify()和notifyAll()的本质区别 notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法。两者的最大区别在于: notifyAll使所有原来在该对象上等待被notify的所有线程统统退出wait的状态,变成等待该对象上的锁,一旦该对...

2019-03-11 15:12:46 165 0

原创 生产者和消费者的三种实现方式

原文链接:https://www.cnblogs.com/fankongkong/p/7339848.html 1、背景 生产者生产数据到缓冲区中,消费者从缓冲区中取数据。 如果缓冲区已经满了,则生产者线程阻塞; 如果缓冲区为空,那么消费者线程阻塞。 2、方式一:synchronized、wait...

2019-02-20 16:58:51 148 0

转载 分布式锁简单入门以及三种实现方式介绍

---------------------  作者:徐刘根  来源:CSDN  原文:https://blog.csdn.net/xlgen157387/article/details/79036337  版权声明:本文为博主原创文章,转载请附上博文链接! 很多小伙伴在学习Java的时候,总是感...

2019-02-13 23:06:34 52 0

原创 设计模式总结

常见设计模式 单例模式 工厂模式 观察者模式 适配器模式 装饰者模式 单例模式 /** * 线程安全,但是效率非常低 * @author vanceinfo * */ public class SingletonTest { private SingletonT...

2019-01-30 18:09:05 48 0

原创 慢SQL的优化建议

慢SQL的优化建议 created by:张恒 前言:在工作过程中,本人在处理天眼查数据时遇到了不少慢SQL的问题。此外,也结合同事工作中遇到的问题,在如何优化大数量查询时积累了一点点经验,应钢哥要求,做一些整理,不足之处,希望一起探讨改进。 关于SQL语句 1.SQL中尽量避免范围查询,...

2019-01-18 14:46:52 312 0

转载 RESTful VS RPC

在微服务中,使用什么协议来构建服务体系,一直是个热门话题。 争论的焦点集中在两个候选技术: (binary) RPC or Restful。

2019-01-09 15:33:36 75 0

原创 读书工作笔记(一)

                                                                                                      读书笔记(一) 1. 方法重载 1.1方法名称必须相同。 1.2参数列表必须不同(个数不...

2018-11-08 17:54:18 74 0

转载 后台获取前端信息的纽带--HttpServletRequest

HttpServletRequestRequest对象具体应用HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息。一、通过request常用方法获得相...

2018-06-07 17:53:59 2148 0

转载 leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法

First Missing Positive  Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] return 3, and [3...

2017-09-22 14:42:19 158 0

转载 【深入Java虚拟机】之四:类加载机制

转载:http://blog.csdn.net/ns_code/article/details/17881581 类加载过程     类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下...

2017-09-16 21:53:31 152 0

原创 归并排序(JAVA)

package cn.shu.test.sort; public class MergeSort { //程序入口 public static void main(String[] args) { int[] a = {5,9,12,7,36,81,94,45,69}; for(in...

2017-09-01 19:33:08 150 0

原创 直通bat算法课程优惠码(优惠10元)

直通bat算法课程优惠码:ALzsCIW,邀请链接为:www.nowcoder.com/courses/1?coupon=ALzsCIW

2017-08-26 12:15:37 233 0

转载 Redis中删除过期Key的三种策略

项目中有个接口要频繁调用查询数据库中的数据,为了降低数据库的压力,所以把一部分记录先缓存在Redis中,对redis中的数据设置了期限。今天无意间发现一个问题,使用dbsize查询出来的数量,比实际缓存量要高一部分。用 redis-cli keys '*'|wc -l11 ...

2017-08-24 10:18:36 3873 0

原创 今日头条笔试题

/* 题目描述: 给定两个长度为 n 的整数数列 A 和 B。再给定 q 组查询,每次查询给出两个整数 x 和 y,求满足 Ai >= x 且 Bi >= y 这样的 i 的数量。 输入 第一行给定两个整数 n 和 q。 第二行给定数列 A,包含 n 个整数。 第三行给定数列 B,包含...

2017-08-22 16:43:12 316 0

转载 剑指offer解题报告(Java版)——二叉搜索树转换为双向链表 27

原文链接 http://www.cnblogs.com/keedor/p/4467040.html 引言     自己觉得对二叉树了解的不是很多,所以想专门练习一下这方面的问题,剑指Offer中有一道题是将二叉搜索树转换为双向链表,开始的时候照着书上的思路去...

2017-07-26 14:12:32 196 0

转载 Java过滤器与SpringMVC拦截器之间的关系与区别

过滤器和SpringMVC的拦截器的区别

2017-07-20 17:45:19 206 0

原创 打印1到最大的n位数

/** * 剑指offer面试题12:打印1到最大n位数 * 题目:输入数字n,按顺序打印从1到最大的n位十进制数。 * 比如:输入3,则打印1,2,3一直到999 * 解法一:使用数组表示大数 * * */ public class Print1ToNthDigits { ...

2017-07-16 20:42:02 195 0

原创 剑指offer -- 旋转数组最小值

问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1. public class RotateMin { public stat...

2017-07-15 21:40:38 131 0

转载 Java实现怎样hashcode

下面这段话摘自Effective Java一书: 在程序执行期间,只要equals方法的比较操作用到的信息没有被修改,那么对这同一个对象调用多次,hashCode方法必须始终如一地返回同一个整数。如果两个对象根据equals方法比较是相等的,那么调用两个对象的hashCode方法必须返回相同...

2017-07-11 14:04:48 200 0

转载 海量数据处理

原文链接:http://blog.csdn.net/v_july_v/article/details/7382693 前言    一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负...

2017-07-05 21:20:24 123 0

转载 Java集合类详解

Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection接口   Collection是最基本的集合接...

2017-06-15 17:18:09 232 0

转载 Spring AOP 实现原理

什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散...

2017-06-14 08:46:04 240 0

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