自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (13)
  • 收藏
  • 关注

转载 秒杀系统架构分析与实战,一文带你搞懂秒杀架构!

1、秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货;秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2、秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要...

2019-07-29 19:31:29 145

转载 从头到尾说一遍Java垃圾分类处理

之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。

2019-07-29 15:24:07 2623

转载 Java 8 Time Api 使用指南-珍藏限量版

1.概述Java 8为Date和Time引入了新的API,以解决旧java.util.Date和java.util.Calendar的缺点。作为本文的一部分,让我们从现有Date和Calendar API存在的一些问题入手,来探讨新的Java 8 Date和Time API如何解决这些问题。我们还将搞一搞Java 8时间类库中的核心类,比如LocalDate, LocalTime, L...

2019-07-29 14:05:55 85

转载 Spring Boot 面试,一个问题就干趴下了!

随着 Spring Boot 使用越来越广泛,Spring Boot 已经成为 Java 程序员面试的知识点,很多同学对 Spring Boot 理解不是那么深刻,经常就会被几个连环跑给干趴下了!比如下面这一段的 Spring Boot 问答:问:你觉得 Spring Boot 最大的优势是什么呢?答:Spring Boot 的最大的优势是“约定优于配置“。“约定优于配置“是一种软件设计范式...

2019-07-26 16:23:32 134

转载 谈谈 redis 在项目中的常见使用场景?

最近在写一个脚手架,其中 redis 的使用场景还挺多,于是总结下它的常见使用场景01 缓存> set User:1:name shanyue EX 100 NXOK> get User:1:name"shanyue"缓存是 redis 出镜率最高的一种使用场景,仅仅使用 set/get 就可以实现,不过也有一些需要考虑的点(1)如何更好地设置缓存(...

2019-07-25 18:37:38 2181

转载 springboot需要知道的几个点

现在关于springboot的使用可以说是如日中天的程度了,使用springcloud那一套的必须是springboot为基础,使用dubbo的很多伙伴也使用springboot了;所以有必要把springboot的一些知识调进行列一下。入门pom.xml中加入<parent><groupId>org.springframework.boot</groupId...

2019-07-25 18:11:33 148

转载 阿里不让多表join?我偏要!

阿里规范中强制要求不要多表join。那么问题来了,阿里强制不让用,但是你偏要用,究竟会有什么后果?本文将用数据角度告诉你,你偏要用的话,会有什么后果,因此强烈建议跟着思路看完!提出问题和环境准备《阿里巴巴JAVA开发手册》里面写超过三张表禁止join,这是为什么?对这个结论,你是否有怀疑呢?也不知道是哪位先哲说的不要人云亦云,今天我设计sql,来验证这个结论。(实验没有从代码角度分析,...

2019-07-25 11:07:35 294

转载 Java多线程:彻底搞懂线程池

熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。最近看了一些相关文章,并亲自研究了一下源码,发现有些文章还是有些问题的,所以我也总结了一下,在此奉献给大家。目录1 线程池的优势总体来说,线程池有如下的优势:(1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。(2)提高响应速度。当任务到达时,任务可以...

2019-07-23 19:18:15 132

转载 学会这几个Redis技巧,让你的程序快如闪电

一、Redis封装架构讲解实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis的基本功能;另一个类是RedisClient是Redis的客户端。Redis...

2019-07-23 18:24:07 90

转载 MyBatis 中 @Param 注解的四种使用场景,最后一种经常被人忽略!

有一些小伙伴觉得 MyBatis 只有方法中存在多个参数的时候,才需要添加 @Param 注解,其实这个理解是不准确的。即使 MyBatis 方法只有一个参数,也可能会用到 @Param 注解。但是,在你总结出规律之前,你可能会觉得莫名其妙,有的时候一个参数明明不用添加 @Param 注解,有的时候,却需要添加,不添加会报错。有的人会觉得这是 MyBatis 各个版本差异的锅,不可否认,MyB...

2019-07-23 17:08:54 124 1

转载 手把手教你使用Mybatis连接数据库

今天讲讲怎么样让后端服务和数据库合二为一,正所谓男女搭配干活不累,有了数据库的翅膀,前端、后台、数据就算一个完整的Demo了。本节的目标:spring后台连接上篇文章的数据库金库的存放-CentOS数据库安装可以通过rest api接口读取、写入数据表demo先列出知识点,可以随意跳跃着看。1. 缘分一道桥:后端如何链接数据库2. 神器在我手:如何快速生成Dao层3. 3. 万事俱备...

2019-07-22 15:51:30 1906

转载 SpringBoot+JWT完成token验证

什么是JWTJson Web Token(JWT):JSON网络令牌,是为了在网络应用环境间传递声明而制定的一种基于JSON的开放标准((RFC 7519)。JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式用于通信双方之间以 JSON 对象行使安全的传递信息。因为数字签名的存在,这些信息是可信的。广义上讲JWT是一个标准的名称;狭义上讲JWT指的就是用来传递的那个to...

2019-07-19 17:17:33 3913

转载 Spring MVC+Spring+Mybatis实现支付宝支付(图文详解+完整代码)

需要源码的关注后请私信获取,每天都会分享Java技术文章,感兴趣的朋友可以关注我前言本教程详细介绍了如何使用ssm框架实现支付宝支付功能。本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释,自己实践的时候一定仔细阅读相关文档,话不多说我们开始。支付宝测试环境代码测试源代码https://github.com/OUY...

2019-07-19 14:09:23 526

转载 换一个角度去理解Hibernate与Mybatis

首先打个广告,我是一名Java架构师,每天都会分享我认为有价值的技术文章,感兴趣的朋友可以关注我,另外,文末有免费的技术资料领取其实,一开始直接写SQL用JDBC去连数据库,简单且性能高。但是,随着集成开发对效率和模块化的追求,渐渐形成了框架,目前还在持续发展中。正如,一开始人是吃生肉的,后来会烤肉,再发展出鲁、川、粤、苏、闽、浙、湘、徽八大菜系。Mybatis就正如粤菜,还保持一点原...

2019-07-19 10:29:07 1166

转载 看透 Spring MVC 源代码分析与实践——网站基础知识

每天都会分享Java架构文章,喜欢的朋友关注我。ps:文末有彩蛋,惊喜等着你网站架构及其演变过程基础结构网络传输分解方式:标准的 OSI 参考模型 TCP/IP 参考模型海量数据的解决方案缓存和页面静态化 缓存 通过程序直接保存在内存中 使用缓存框架 (Encache、Redis、Memcache) 页面静态化 使用模板技术生成(Velocity、Fre...

2019-07-18 18:52:33 192

转载 面试再被问到分布式锁,把这篇文章甩给他

作者:javajiagoushiziyuanfenxiang链接:http://www.lofter.com/lpost/205eca09_1c63205b8来源:LOFTER一、常规锁会造成什么情况?二、分布式锁怎么去处理?三、分布式锁的实现有哪些?四、在Zookeeper中如何加锁?首先,分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个...

2019-07-18 16:02:20 129

转载 Elasticsearch基础整理-来自程序员的浪漫

ES来源Elasticsearch 来源于作者 Shay Banon 的第一个开源项目Compass库,而这个库的最初目的只是为了给Shay当时正在学厨师的妻子做一个菜谱的搜索引擎。马上联想到当年Pinterest的创意来源也是创始人Ben Silbermann为了方便他的女朋友寻找订婚戒指,可以图钉随手粘贴同一个页面进行对比。ES基础数据模型数据模型逻辑概念ES本...

2019-07-17 19:01:49 179

转载 SpringBoot,Vue前后端分离开发首秀

每天都会分享Java技术文章,喜欢的关注一下呗!另外文末有彩蛋,不要错过!需求:读取数据库的数据展现到前端页面技术栈:后端有主要有SpringBoot,lombok,SpringData JPA,Swagger,跨域,前端有Vue和axios配置:mysql 8.0.11,IntelliJ IDEA 2017.1.2,HBuilderX 1.9.3首先创建一个Spring Bo...

2019-07-17 18:25:04 167

转载 目前看过最全的一线大厂MySQL面试题(题+详解)

1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myisam与...

2019-07-16 19:08:05 681

转载 已入职今日头条,并附上8条面经

本文是转载的,个人感觉写的很厉害,没其他的意思,与大家一起分享一、印象中的头条二、面试背景三、准备面试四、头条一面电话面(Java+项目)五、头条二面视频面(大数据+项目)六、头条三面视频面(算法+场景题)七、如何通过头条笔试?八、如何准备头条面试?九、一个关于如何进大厂的小建议一、印象中的头条1.老板张一鸣跟我是福建老乡,龙岩市在我朋友说来就是山...

2019-07-16 17:05:14 1096

转载 Filter(过滤器)、interceptor(拦截器)和Aspect(切面)的使用及区别

每天都会分享Java架构技术文章,感兴趣的朋友可以关注我,文末有彩蛋在工作中如何选择拦截机制去处理我们的业务请求,过滤器,拦截器,还是切面的选择一直比较模糊,今天花时间整理一下概述1,Filter首先,过滤器是服务端的一个组件,是基于servlet实现从客户端访问服务端web资源的一种拦截机制,对请求request和响应response都进行过滤,依赖于serverlet容器,使用...

2019-07-16 15:56:57 2351

转载 springboot入门

前言本文的主要内容:事务处理Docker安装及常用命令接入Redis缓存及配置Session整合MongoDB配置开发与生产环境部署项目到Docker上事务处理关于事务,可以简单理解为,当执行多条数据操作时,能确保每条操作能同时执行成功,否则有一条失败就会回滚前面所有执行成功的操作,保证一致性。下面我们来做一个简单的例子。@Servicepublic class MyUser...

2019-07-15 20:21:59 166

转载 Jenkins+GitLab+Docker+SpringCloud实现可持续自动化微服务

现有混合云平台的场景下,即有线下和线上的环境,又有测试与正式的场景,而且结合了Docker,导致打包内容有所区分,且服务的发布流程复杂起来,手工打包需要在编译阶段就要根据环境到处更改配置,因此纯手工发布增加了实施的难度,需要一个统一的适应各种环境部署的方案。基于微服务的发布流程  手动/自动构建 -> Jenkins 调度 K8S API ->动态生成 Jenkins Slave...

2019-07-15 15:51:08 292

转载 镜像的分层特性

在说docker的文件系统之前,我们需要先想清楚一个问题。我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动。多个容器可以使用同一个image启动。那么问题来了:这些个容器是共用一个image,还是各自将这个image复制了一份,然后各自独立运行呢?我们假设每个容器都复制了一份这个image,然后各自独立运行,那么就意味着,启动多少个容器,就需要...

2019-07-15 15:40:22 749

转载 一步步了解 Docker 存储驱动

镜像的分层特性在说docker的文件系统之前,我们需要先想清楚一个问题。我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动。多个容器可以使用同一个image启动。那么问题来了:这些个容器是共用一个image,还是各自将这个image复制了一份,然后各自独立运行呢?我们假设每个容器都复制了一份这个image,然后各自独立运行,那么就意味着,启...

2019-07-11 16:20:16 119

原创 docker发布项目的一般性步骤

准备准备服务器一台或者多台。本文以一台为例操作,如果多台,步骤类似,注意配置的ip和端口号即可。服务器操作系统需要是linux。本文中服务器的操作系统为CentOS 7.6 64位。一个调皮的项目。本文中的项目是基于spring cloud框架的多个微服务组成的项目。XShell上传文件工具。清醒的头脑。安装docker升级本地yum包yum update安...

2019-07-11 14:46:08 6548

转载 告诉你 38 个 MySQL 数据库的小技巧

无论是运维、开发、测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库、学 MySQL,到底是要学习它的哪些东西呢?01如何快速掌握 MySQL?培养兴趣兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习 MySQL 5.6 也不例外。夯实基础计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点,随着技术应用的深入,只有有着扎实的基础功...

2019-07-11 11:47:31 115

转载 SpringBoot+MyBatis+MySQL读写分离实战

引言读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP然而,应用...

2019-07-10 18:39:02 103

转载 MyBatis基础搭建及架构概述

MyBatis 是什么?MyBatis是第一个支持自定义SQL、存储过程和高级映射的类持久框架。MyBatis消除了大部分JDBC的样板代码、手动设置参数以及检索结果。MyBatis能够支持简单的XML和注解配置规则。使Map接口和POJO类映射到数据库字段和记录。下面我们通过一个简单的项目搭建来带你认识一下MyBatis的使用和一些核心组件的讲解。MyBatis 项目构建为了快速构建一个...

2019-07-10 18:07:11 120

转载 给你一份Spring Boot核心知识清单

头条号发表个人Java架构师CAT给你一份Spring Boot核心知识清单Java架构师CAT 2019-07-10 11:04预警:本文非常长,建议先 mark 后看。说明:前面有 4 个小节关于 Spring 的基础知识,分别是:IOC 容器、JavaConfig、事件监听、SpringFactoriesLoader 详解,它们占据了本文的大部分内容。虽然它们之间可能没有太多...

2019-07-10 13:44:38 100

转载 Spring Cloud Gateway 5 分钟快速指南

API Gateway 是微服务架构中最常用的架构模式之一,在 Spring Cloud 全家桶中也存在多种选择。除了同样出自 Netflix 的 Zuul 和它的后继者 Zuul2,还有出自自家的 Spring Cloud Gateway。Zuul 作为一款「历史悠久」的 API Gateway 框架,经历了 Netflix 巨大流量的考验,而时间也证明了它的稳定可靠。同时 Spring B...

2019-07-09 18:40:45 146

转载 消息驱动——Spring Cloud Stream

在进入正题之前,我们先来设想一个场景。有两个人在对话,其中一个人问了另一个人一个问题,这个问题比不简单,得出正确答案需要花点时间。那么问题来了,问问题的一方,在对方给出答案之前,会怎么做呢?是一直做在那里等呢,还是去做其它待会必须去做的事呢,比如boss昨天才交代今天解决的bug;等到对方回复后,再根据回复的内容继续谈话或者做其它。如果是我,我会选择第二种(我还是很敬业的);当然若对方是美女,那我...

2019-07-08 18:52:19 529

转载 一次性教你彻底理解 Spring容器和应用上下文

给自己打个广告,我从事Java行业接近10年了,目前在某互联网公司做Java架构师,现在免费分享Java架构文章,技术经验,感兴趣的朋友可以关注我,文末有彩蛋。有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协助了,就给Spring说,我想要个对象——于是Spring就很贴心的给你个对象...

2019-07-05 16:17:40 142

转载 8种常见SQL错误用法

1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT * FROM operation WHERE type = 'SQLStats' AND name = 'S...

2019-07-04 16:28:46 241

转载 深入学习Redis:集群

写的时间有点长,喜欢的朋友点赞关注收藏素质三连,谢谢前言Redis集群解决了上述问题,实现了较为完善的高可用方案。本文将详细介绍集群,主要内容包括:集群的作用;集群的搭建方法及设计方案;集群的基本原理;客户端访问集群的方法;以及其他实践中需要的集群知识(集群扩容、故障转移、参数优化等)。一、集群的作用集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。...

2019-07-03 19:08:00 146

原创 My SQL 事务基础理论

首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,关注我,免费分享Java基础教程,以及进阶的高级Java架构师教程,全部免费送书籍推荐《SQL基础教程(第2版)》 (入门级) 《高性能MySQL : 第3版》 (进阶)常见问题总结存储引擎一些常用命令查看MySQL提供的所有存储引擎mys...

2019-07-03 15:04:03 190

转载 Spring Cloud微服务架构浅析

首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,关注我,免费分享Java基础教程,以及进阶的高级Java架构师教程,全部免费送在之前的文章中和大家分享过一些关于Spring Cloud微服务开发相关的文章,内容比较侧重于框架有关的开发技巧,没有读过的朋友可以在文末的推荐阅读中进行查看。而在后续的系列文章中小码哥打算...

2019-07-02 15:24:42 140

转载 使用docker部署SpringCloud项目

首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,关注我,免费分享Java基础教程,以及进阶的高级Java架构师教程,全部免费送准备工作JDK1.8Docker1.12.1CentOS7.01.CentOS7.0下JDK1.8的安装1、到Oracle官网下载好 jdk-8u181-linux-x64.tar...

2019-07-01 15:56:12 649

转载 IntelliJ IDEA For Mac 快捷键

首先为自己打个广告,我目前在某互联网公司做架构师,已经有5年经验,每天都会写架构师系列的文章,感兴趣的朋友可以关注我和我一起探讨,关注我,免费分享Java基础教程,以及进阶的高级Java架构师教程,全部免费送建议将 Mac 系统中与 IntelliJ IDEA 冲突的快捷键取消或更改,不建议改 IntelliJ IDEA 的默认快捷键。Mac键盘符号和修饰键说明⌘ Command...

2019-07-01 14:38:49 1450

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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