分享传递价值

一个健全的心态比一百种智慧都有力量!

记录一次mysql导入导出数据过程

本文包含知识点: 1、mysql数据库给大表增加字段; 2、mysql表分区; 3、linux排查磁盘空间; 4、linux中的mysql导入导出数据; 环境:centos7.4 + mysql5.7.24 事件原由:线上版本迭代的过程中,根据新需求需要对表进行增减字段、重新分区,表数...

2019-06-12 11:00:45

阅读数 1040

评论数 0

使用Quartz实现分布式定时任务(包含管理界面)

引言 年底出去面试的的时候,被问到如下问题: 定时任务是如何实现的?定时任务是如何监控的?因为我们项目中的定时任务就是使用Spring的@Scheduled(cron = "0 59 23 * * ?")来实现的,至于监控方面的,没有,就是通过在定时任务代码里面打一些日志,特...

2019-01-01 18:43:34

阅读数 3372

评论数 13

高并发秒杀功能架构设计

 本文包含的知识点 秒杀场景简述及分析 使用乐观锁控制库存数量 结合redis缓存层减小DB压力 使用zookeeper分布式锁控制库存数量 kafka异步削峰 接口限流 jmeter压测接口 前阵子经常开发一些秒杀类型的项目,故而抽时间总结下。把我们产品的流程图大致勾勒了下: ...

2018-12-18 23:09:34

阅读数 1563

评论数 8

Guava RateLimiter实现接口API限流

Guava提供的RateLimiter可以限制物理或逻辑资源的被访问速率,咋一听有点像java并发包下的Samephore,但是又不相同,RateLimiter控制的是速率,Samephore控制的是并发量。RateLimiter的原理类似于令牌桶,它主要由许可发出的速率来定义,如果没有额外的配置...

2018-07-07 11:37:16

阅读数 3747

评论数 6

高并发处理之接口限流

最近开发的抢购活动上线后发现了两个比较明显的问题,其一:活动一开始,接口访问量剧增;其二:黑名单中增加了一大批黑名单用户(或者说IP),这其中就包含了一些恶意用户或机器人刷接口。 针对一些高并发的接口,限流是处理高并发的几大利剑之一。一方面,限流可以防止接口被刷,造成不必要的服务层压力,另一方面...

2018-06-13 18:24:56

阅读数 8357

评论数 5

原子操作类AtomicInteger详解

为什么需要AtomicInteger原子操作类? 对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的。num++解析为num=num+1,明显,这个操作不具备原子性,多线程并发共享这个变量时必然会出现问题。测试代码如下: public clas...

2018-06-08 15:33:17

阅读数 45809

评论数 15

Redis缓存穿透、缓存雪崩、redis并发问题分析

把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下: (一)缓存和数据库间数据一致性问题 分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强...

2018-06-01 22:16:35

阅读数 23719

评论数 11

java时间戳与Date相互转换、日期格式化、给日期加上指定时长、判断两时间点是否为同一天

项目经常涉及到时间戳和Date类型的相互转换、时间类型处理等,我有时候一段时间不写就又忘记了,故而写篇笔记备忘下! 本文主要包含的有: 时间戳与Date类型的相互转换 判断是否为同一天 日期格式化 给日期加上指定时长 得到指定时间节点的Date 1、时间戳转Date 注:以下的方法中...

2018-05-31 23:20:44

阅读数 34277

评论数 6

Java中的线程池和异步任务详解

引言 java中经常需要用到多线程来处理一些业务,我们非常不建议单纯使用继承Thread或者实现Runnable接口的方式来创建线程,那样势必有创建及销毁线程耗费资源、线程上下文切换问题,这个时候引入线程池比较合理。有些时候也需要把多线程的逻辑给异步话,接口不需要等待子线程逻辑执行完就马上返回,...

2018-04-08 19:07:23

阅读数 3276

评论数 0

java实现文件下载功能(附上可实际运行的代码)

最近在写项目接口,涉及到文件下载、打包压缩下载,单个文件下载还是比较简单的,多文件下载涉及到打包和压缩知识,之前也没做过,写篇博客做个简单的记录一下。闲言少叙,上代码: 如下代码是精简过后的测试代码,亲测可实际使用: /** * @author simons.fan * @version...

2019-07-10 16:31:08

阅读数 79

评论数 0

SpringMvc中返回json时对象属性为空也要返回key

场景: 最近在写接口时候,正常使用@RestController返回json串,发现当返回的对象里的属性值为空字符串或者null时候,json返回里就会自动去除这个key,啥意思呢?举个"栗子": /** * 商品评论、回复、点赞【查询】接口 * ...

2019-07-08 11:16:23

阅读数 51

评论数 0

不就是个短信登录API嘛,有这么复杂吗?(转载)

重要声明: 本篇文章转载自公众号ThoughtWorks洞见(ID:TW-Insights),个人觉得文章分析问题的思路还行,如有侵权,请联系删除,谢谢。 上联:这个需求很简单,下联:怎么实现我不管,横批:今晚上线 暴力破解 上开完站会,小李领了张新卡,要对登录功能做升级改造,在原来...

2019-05-09 20:03:56

阅读数 170

评论数 0

java list和map的初始化

项目中经常需要使用到ArrayList、HashMap集合的初始化操作,下面分享几种ArrayList实例化的方法,都是项目中实际用到的,方法二、三同样适用于HashMap等其他常用的集合类 方法一:普通版 List<String> lis...

2019-01-29 16:53:00

阅读数 166

评论数 0

java后端面试总结

重要声明:本文转自https://www.cnblogs.com/JavaArchitect/p/10011253.html     在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公...

2019-01-25 15:49:36

阅读数 706

评论数 1

策略模式详解

策略模式核心点: 把每个核心方法逻辑抽象封装出来,使得程序调用结构更加灵活和扩展。典型应用就是用来替换程序中过多的if else分支结构。 当程序逻辑分支很多时,我们会选择if else语句或switch case语句来切分,但是这样的结果往往是程序难以维护,例如下面一段代码,是根据价格包pri...

2019-01-22 10:31:17

阅读数 69

评论数 0

ngrok内网穿透

开发中有时需要向别人演示你的本地项目、微信开发时每次修改测试都需要发版……内网穿透可以简化这些问题,ngrok或natapp都可以,natapp官网在这边: http://natapp.cn 可以申请免费的使用,也可以搭建ngrok方便大家使用,本篇讲述的是免安装版的ngrok. 1、下载ngr...

2018-12-20 18:04:34

阅读数 152

评论数 0

Java中的static关键字解析(转载)

重要声明: 本文转自https://www.cnblogs.com/dolphin0520/p/3799052.html static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和...

2018-12-20 17:04:03

阅读数 56

评论数 0

使用Java VisualVM监控远程Tomcat

本文出处:https://blog.csdn.net/arkblue/article/details/6229637,在原文基础上做了部分修改。 作用:JVM和监控的应用程序运行在不同的服务器上,减轻应用程序的负担,特别是HeapDupm的时候,应用常能够续负担很大。 1、为 10.87.4...

2018-12-14 11:12:28

阅读数 82

评论数 0

Spring事务不起作用 问题汇总

最近活少,抽时间总结一些前阵子遇到的问题:使用了Spring事务(用@Transactional注解方式实现)后竟然没有正常回滚,这在线上可是很严重的问题,导致产生脏数据。如何排查并解决呢?这里提供三种思路以供参考:   本文测试代码场景:模拟给用户送优惠券操作:kafka异步送,接着预减优惠...

2018-10-12 11:31:58

阅读数 153

评论数 0

springboot中连接kafka失败问题

重要申明:本文转自https://blog.csdn.net/maoyuanming0806/article/details/80553632?utm_source=copy  记录使用kafka遇到的问题: - 1.Caused by java.nio.channels.Unresolved...

2018-09-27 17:43:35

阅读数 1751

评论数 0

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