- 博客(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
空空如也
心灰意冷了,大家伙自己热闹着啊
2020-10-26
突然地伤感,看着我掉落的头发,人生好艰难
2020-10-22
智力题,答对的可以获得幼儿园以上智力称号,我是错了,看你们的了
2020-10-22
不忘初心,方得始终!!!
2020-10-22
暗恋的女生结婚了是什么体验
2020-10-22
自尊心受打击了,打扰了打扰了
2020-10-22
上班摸鱼小随笔,今天又是不加班的一天
2020-10-21
螃蟹有会吃得嘛?我在网上搜的咋和我吃的不一样?
2020-10-21
找女友:编号004,附近的小伙伴也可以约饭
2020-10-21
这是一篇征集帖,大家注意啦!!
2020-10-21
找男友,003,替别人转发,需要的朋友请在下边留言
2020-10-20
相亲帖子002,需要的同学可以在下边留言
2020-10-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人