Sam哥哥聊技术

互联网技术爱好者

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

Intellij IDEA神器那些让人爱不释手的小技巧

概述 在2018年5月6日写了一篇介绍IntellIJ IDEA的文章,Intellij IDEA神器居然还有这些小技巧,主要是列出一些平时大家可能没用过或者没怎么用,但是又非常好用的IntellIJ IDEA小技巧。由于篇幅原因,只是列出了一小部分,那么接下来的这篇文章,会继续补充一些In...

2018-06-03 22:47:16

阅读数:5752

评论数:4

Intellij IDEA神器居然还有这些小技巧

概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用...

2018-05-06 13:17:01

阅读数:9675

评论数:28

Spring Cloud Config结合Bus实现分布式配置中心

概述 假设现在有个需求: 我们的应用部署在10台机器上,当我们调整完某个配置参数时,无需重启机器,10台机器自动能获取到最新的配置。 如何来实现呢?有很多种,比如: 1、将配置放置到一个数据库里面,应用每次读取配置都是直接从DB读取。这样的话,我们只需要做一个DB变更,把最新的...

2018-05-05 09:27:56

阅读数:758

评论数:0

Spring Boot RabbitMQ 延迟消息实现完整版

概述 曾经去网易面试的时候,面试官问了我一个问题,说 下完订单后,如果用户未支付,需要取消订单,可以怎么做 我当时的回答是,用定时任务扫描DB表即可。面试官不是很满意,提出: 用定时任务无法做到准实时通知,有没有其他办法? 我当时的回答是: 可以用队列,订单下...

2018-05-03 13:19:39

阅读数:3458

评论数:13

业务流水号(交易号)生成方法

概述 在大流量下订单号生成方法一文中介绍了如何生成不重复的订单号,主要原理是利用数据库自增ID。但是像业务流水号之类的,其实不利用数据库也是可以的,只是要保证唯一性,做起来不太好做。下文介绍一种方法来生成流水号,如果不是那种特别变态的调用量,产生重复的机会还是很少的。但是如果是那种无论如何都...

2018-03-09 12:56:16

阅读数:1339

评论数:0

大流量下订单号生成方法

流量不大的情况下,订单号生成 很久之前写过一篇利用DB生成业务主键的文章,介绍了利用DB来生成唯一的ID。当时便是用这种方式来生成订单号的。只不过拿到ID后,根据订单业务,简单加个前缀而已。 @Service public class KeyGen{ @Autowired ...

2018-03-08 12:30:02

阅读数:895

评论数:0

创建订单实现幂等的一点思考

幂等的概念 大部分文章都会说,同一个操作,进行多次操作后,结果是一样的,就可以说这个操作是支持幂等的。感觉不太准确,比如一个http get操作,可能每次的结果都不一样,但是其实是幂等的。看了很多文章,感觉下面的定义比较准确: 一个操作如果多次任意执行所产生的影响(或者叫副作用),都...

2018-03-06 13:55:49

阅读数:1187

评论数:0

利用DB实现分布式锁的思路

概述 以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域和SystemB域这几个JAVA应用,可能同时修改同一份库存数据。如果不做协调的话,就会有脏数据出现。对于跨J...

2018-03-05 15:06:42

阅读数:1752

评论数:0

索引表和ES的一点点思考

索引表设计 在电商项目中,物理库存系统是个极其重要的系统,订单支付后,就会开始来占用物理库存。一般情况下,库存系统都是要分库的,因为主要的操作是写操作,例如占用/释放/取消等写操作。使用分库可以降低数据库写的压力。尽管写操作为主,但是读操作也是有的。比如说,库存占用的时候,得先查询是否有库存...

2018-03-01 12:22:47

阅读数:6680

评论数:25

扩展ThreadPoolExecutor的一种办法

概述在JAVA的世界里,如果想并行的执行一些任务,可以使用ThreadPoolExecutor。 大部分情况下直接使用ThreadPoolExecutor就可以满足要求了,但是在某些场景下,比如瞬时大流量的,为了提高响应和吞吐量,最好还是扩展一下ThreadPoolExecutor。全宇宙的JA...

2017-10-18 17:21:00

阅读数:4922

评论数:19

netty实战-netty client连接池设计

概述最近有很多网友在咨询netty client中,netty的channel连接池应该如何设计。这其实是个稍微有些复杂的主题,牵扯到蛮多技术点,要想在网上找不到相关的有相对完整的参考文章,确实不太容易。在本篇文章中,会给出其中一种解决方案,并且附带完整的可运行的代码。如果网友有更好的方案,可以回...

2017-09-15 13:58:31

阅读数:7694

评论数:6

netty实战-自定义解码器处理半包消息

概述在李林锋的Netty系列之Netty编解码框架分析中介绍了各种解码器,也推荐组合LengthFieldBasedFrameDecoder ByteToMessageDecoder这两个解码器来处理业务消息。但是有时候为了灵活性,会直接选择继承ByteToMessageDecoder来处理业务消...

2017-09-10 10:29:23

阅读数:5251

评论数:17

netty学习十三:零拷贝底层实现原理

零拷贝概述零拷贝可以避免无谓的copy动作,为了说清楚这一点,本文会先从传统的读写操作开始介绍。传统读操作当应用发起一个从磁盘读取文件的操作时,请求会先经过内核,由内核与磁盘进行交互。数据会从磁盘拷贝到内核的缓存区中。这个copy动作由DMA完成,整个过程中基本上不消耗CPU。DMA 硬件和软...

2017-08-28 20:15:42

阅读数:3688

评论数:2

互联网高级测试工程师至少具备的能力

业务熟悉 熟悉本系统 测试人员参与测试的系统的各种业务场景,必须做到精熟 。一旦需求有改动,可以清楚快速的知道上下文。同时可以清楚的知道哪些点是需要重点测试的。 熟悉跟本系统有通讯的上下游系统业务 跟本系统有通讯的上下游系统也要非常熟悉。这样一旦系统出现问题,可以知...

2016-08-19 14:35:05

阅读数:11749

评论数:48

Python基础学习-条件与循环

if语句 最简单的if语句 # 定义age变量 age = 12 # 最简单的if语句 if age == 12: print("age等于12") 输出结果如下: age等于12 ...

2018-06-18 19:29:10

阅读数:43

评论数:0

Python基础学习-序列

序列的概念 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员。像字符串、列表和元祖都属于序列。 字符串: “xxxxyyy” 列表: [“aa”,”bb”] 元祖: (”abc”,”def”) 比如对一个字符串的处理: # 定义变量s,存储字母 ...

2018-06-18 18:57:18

阅读数:21

评论数:0

Python基础学习-基础语法

数据类型 整数(int) 浮点数(float) 字符串(str) 布尔值(bool) 区分数字类型 我们可以使用type()方法来区分数字类型。 # 字符串 print(type("111&...

2018-06-16 16:23:48

阅读数:93

评论数:0

遇到过的判断营销活动状态的两种方案

利用活动开始时间和结束时间 像天猫、京东、唯品会,经常会推出各种各样的营销活动来吸引用户购买,营销活动是有状态的,一般来说,有以下几种状态。 活动未开始,活动已开始、活动已结束、活动已废弃 活动未开始、已开始、已结束,这三个状态可以使用活动开始时间和活动结束时间来得出。 pub...

2018-05-20 12:17:28

阅读数:54

评论数:0

犯了个低级错误:mybatis中在select标签中用了update语句

概述 昨晚想使用类似下面的语句防并发问题: update xxxxx set state= 1 where id = 1 and state= 0 这样万一有线程并发修改state,那么只有一个线程能拿到大于0的影响行数。谁知一调用就报如下错误: attempted to ...

2018-05-19 10:35:25

阅读数:80

评论数:0

推荐一个Intellij IDEA插件--Key Promoter X

概述 Key Promoter X 是一个提示插件,当你在IDEA里面使用鼠标的时候,如果这个鼠标操作是能够用快捷键替代的,那么Key Promoter X会弹出一个提示框,告知你这个鼠标操作可以用什么快捷键替代。对于想完全使用快捷键在IDEA的,这个插件就很有用。 安装这个插件很简单,只...

2018-05-16 08:31:35

阅读数:521

评论数:0

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