自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 java互联网架构师入门进阶之路

作为一个工作了将近6年的后端工程师,深知后端知识领域的范围之广,深度之深,而经过了几年的打磨之后,我们仍然只是那浩瀚知识海洋中非常渺小,微不足道的一粒尘埃。总之一句支撑我们砥砺前行:路漫漫其修远兮,吾将上下而求索!愿你我共勉。 话不多说,关于我自身的修炼之路,后续我会通过一篇博文的形式自我总结!...

2019-08-10 12:15:53 277 0

原创 java web 个人博客系统

推荐更完善功能更强大的java web个人博客系统高级版:https://blog.csdn.net/zwx19921215/article/details/102665020 最近利用闲暇时间简单重构了一个java web版本的个人博客系统项目(参考codingyun),属于前后端一体的项...

2019-06-27 10:41:54 3359 0

原创 java web简单权限管理设计

推荐最新技术springboot版权限管理(java后台通用权限管理系统(springboot)),采用最新技术架构,功能强大! 注:由于该项目比较老,所以没有采用maven管理,建议下载springboot权限管理系统,对学习和使用会更有帮助。 springboot权限管理系统介绍地址:ht...

2015-03-19 23:23:05 194372 425

原创 分布式锁是啥?zk还是redis?

关于分布式系统中应该考虑的几个问题包括诸如最基本的分布式锁和分布式事务等。该篇中我们将简单来聊聊分布式锁相关知识,比如常见的分布式锁的实现方式有哪些?redis如何设计分布式锁?zk如何设计分布式锁?以及这两种方式哪种效率更高? 1.redis分布式锁 最常见的一种方式也被称为“原生方式”...

2020-05-07 09:21:36 215 0

原创 redis缓存穿透、缓存雪崩、缓存击穿、并发竞争

关注微信公众号“虾米聊吧”,每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流。 缓存穿透、缓存雪崩、缓存击穿、并发竞争是缓存最常见的几个问题,接下来我们简单谈谈关于这他们的出现场景以及可能的解决方案都有哪些? **缓存穿透** 概念:是指查询一个不...

2020-04-30 17:22:19 42 0

原创 redis过期策略和淘汰机制你知道多少? 

关注微信公众号“虾米聊吧”,每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流。 开篇提问:你是否遇到过生产环境redis丢数据的问题?比如你刚刚写入了一堆数据到redis,然后过了一会就没了,那么这是什么原因造成的呢?接下来我们简单探讨一下这个问题。 ...

2020-04-28 17:54:48 49 0

原创 redis常用数据类型的场景,你真的用对了么?

关注微信公众号“虾米聊吧”,每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流。 redis常用数据类型的场景,你真的用对了么? redis常用数据类型包含string、hashmap、list、set、sorted set。 strin...

2020-04-26 16:18:26 57 0

原创 如何设计一个高并发系统

人人都开始聊高并发,高并发,那么所谓的高并发到底应该是啥,应该怎么理解这个高并发这个概念呢?这么说来就得要思考为啥会产生高并发? 简单来说,因为我们从传统的单体项目开始系统都是需要直接连接数据库的,而数据库支撑到每秒并发两三千的时候,基本就快到极限了。因此,当我们刚开始设计系统的时候,就是一个简...

2020-04-20 09:33:34 108 0

原创 java个人支付系统(springboot)

个人免签支付,人人都可申请。 随着移动支付的普遍发展,目前市场上基本已经形成支付宝和微信两大支付体系称霸的局面,因此各大商家、网站、平台等纷纷接入了支付宝和微信作为支付方式,然而 作为一个开发者我们都知道微信支付接口由始至终从没面向过个人终端用户,只能通过企业账号的方式接入,而支付宝,也在前几年...

2020-04-15 11:40:55 1665 0

原创 大话“用户注册激活,忘记密码”发送邮件功能

鉴于最近有一部分童鞋留言关于“用户注册发送邮件激活”功能不太懂,在此我将用一片通俗易懂的话术简单说明一下“用户注册发送邮件激活”的大致原理和过程。 用户注册发送邮件是每个网站的最基本功能,一般有两种处理方式: 第一种为直接发送激活邮件,用户直接点击激活链接就会挑战到相应的激活页面 第二种...

2020-04-13 10:04:07 99 1

原创 MQ保证消息的可靠性传输

前景概要: 我们在使用mq的时候肯定是希望数据不能多也不能少的,不能多即需要考虑mq的重复消费(幂等性)问题。不能少即不能丢失数据。 很明显如果如果你的mq中存放的是非常核心、重要的数据,比如订单数据、积分流水等, 这些数据是必须不能丢的,一旦丢失则会造成数据的一致性问题,可能会给公司带来极...

2020-04-09 09:35:42 72 0

原创 MQ如何保证高可用

上一篇我们通过介绍MQ的基本功能简单的分析了项目中MQ的选型,那么当我们项目中真正使用MQ的时候,必然会涉及到如何保证MQ的高可用,毕竟如果MQ宕机,可能会造成整个调用链路的失败,因此接下来我们简单聊聊MQ的高可用问题。 那么如何保证消息队列的高可用呢? 由于MQ中间件的类型比较多,因此我们依...

2020-04-06 10:43:45 95 0

原创 MQ消息中间件选型

我们在做架构的时候经常面临各种技术框架的选型,其中消息队列基本上对于一些高并发的互联网项目是必不可少的,那么话说回来我们在做消息队列选型的时候是否问过如下几个问题呢? 为什么使用消息队列啊? 消息队列有什么优点和缺点啊? kafka、activemq、rabbitmq、r...

2020-04-05 15:18:15 96 0

原创 java后台通用权限管理系统(springboot)

推荐:200多套后台管理系统模板打包下载(https://blog.csdn.net/zwx19921215/article/details/102935205) 推荐:Java秒杀系统优化(高性能高并发)(https://blog.csdn.net/zwx19921215/article/de...

2020-03-16 16:42:28 5318 10

原创 java垃圾回收机制算法分析

原文参考:蚂蚁课堂余胜军老师。 垃圾回收机制概述  Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“...

2019-12-20 11:19:48 92 0

原创 JVM参数调优

说明 :原文参考蚂蚁课堂余胜军老师。 Java虚拟机原理 所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box、Vmare就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整...

2019-12-18 17:12:57 68 0

原创 NIO介绍与Netty通信简单入门

NIO同步阻塞与同步非阻塞 BIO与NIO IO(BIO)和NIO区别:其本质就是阻塞和非阻塞的区别 阻塞概念:应用程序在获取网络数据的时候,如果网络传输数据很慢,就会一直等待,直到传输完毕为止。 非阻塞概念:应用程序直接可以获取已经准备就绪好的数据,无需等待。 IO为同步阻塞形式,NI...

2019-12-17 15:39:27 60 0

原创 SpringBoot入门详解源码分析

注:文章内容来自于黑马的虎哥,个人感觉写的挺好的,所以只是做了简单整理,我只是文章的搬运工! # 0.学习目标 -了解SpringBoot的作用 -掌握java配置的方式 -了解SpringBoot自动配置原理 -掌握SpringBoot的基本使用 -了解Thymeleaf的基本使...

2019-12-16 17:18:24 117 0

原创 Java秒杀系统优化(高性能高并发)

主题:在大并发,大流量的情况下如何提升吞吐量或者说QPS? 而秒杀活动恰恰就是属于大并发的情形,因此下面简单来谈谈大并发下秒杀方案的优化。 项目采用技术:SpringBoot + MyBatis + MySql + RabbitMq + Redis RabbitMq安装参考:https://...

2019-11-27 10:58:43 401 0

原创 JMeter压测入门简单使用

JMeter压测入门简单使用。 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.2.1.zip 下载完解压后进入bin目录,双击jmeter.bat打开 测试计划右键创建线...

2019-11-26 17:40:45 73 0

原创 rabbitmq安装

今天在做秒杀项目时用到了rabbitmq,参考网上相关资料后完成了安装,在此简单记录一下安装过程。 1.安装erlang 官网下载地址:https://www.erlang.org/downloads 安装依赖: yum install ncurses-devel 解压缩: t...

2019-11-26 14:44:17 78 0

原创 elasticsearch索引结构和配置优化

elasticsearch索引结构和配置简单调优. 1.搜索时对特定字段设置更高权值,以弱化相关性低的字段 例如:我们在搜索时认为标题对我们更重要就可以对标题提高匹配权重 boolQuery.must( QueryBuilders.matchQuery(HouseInde...

2019-11-15 15:57:43 92 0

原创 elasticsearch搜素关键字自动补全(suggest)

elasticsearch搜素关键字自动补全顾名思义 在搜索框搜索时能有提示列表可供选择。 最终效果如下: 该搜索优化功能是elasticsearch自带的即suggest,suggest即存储一个词库,每次搜索发送请求去词库中检索,匹配到即返回。 接下来我们一步一步实现上述功能。 1...

2019-11-15 10:53:08 291 1

原创 elasticsearch 5.6.x单机环境构建(集成head插件和IK中文分词)

elasticsearch近几年版本更新迭代的速度之已经超出了我的想象,想着我2016,2017年还在用着2.4.x版本,最近几年直接5.x,6.x,7.x版本了,看了一下下更新迭代的小版本时间几乎几个月一个小版本,简直不要太迅速了,不过也能理解,毕竟最近几年elasticsearch火热程度大幅...

2019-11-13 15:59:39 66 0

原创 后台管理系统模板(html)

还在因为每次做项目都要自行设计后台管理系统模板而郁闷吗?还在因为苦苦搜寻后台管理系统模板二烦恼吗?现在不用了,这里有着丰富的后台管理系统模板,足足200多套模板,有老式风格,有新式风格,相信如此海量的模板列表中总有一款符合你的需要,即使并不是完全满意,你也可以基于此模板之上做自定义修改,相信将大大...

2019-11-08 15:15:45 5747 1

原创 HBuilderX H5 app打包以及加入个推

推荐:采用H5 + Springboot + netty开发的java聊天程序(https://blog.csdn.net/zwx19921215/article/details/102893689) 首先来说下app加入个推(www.getui.com)。 个推即消息推送,将消息推送至客户端...

2019-11-05 16:37:24 2233 1

原创 java 简单仿微信聊天(springboot)

采用springboot netty 简单模仿微信聊天界面和功能。 系统模块:包括手机app端,后台服务端 技术架构: 手机app:Html5+,开发工具HBuilderX 后台服务:springboot + netty + mybatis ,开发工具IDEA 实现功能:用户注册、登录、...

2019-11-04 15:43:46 1372 3

原创 HBuilder、HBuilderX连接夜神模拟器

1.下载安装完夜神模拟器后,找到其安装路径进入bin目录:E:\Program Files\Nox\bin, 2.找到debugReport.bat,双击启动,复制端口号:62001 3.打开HBuilderX 点击运行->运行到手机或模拟器->ADB路径设置,在Androi...

2019-11-04 14:31:25 787 0

原创 java 个人博客系统高级版(springboot)

写博客已有好几年,由于商业博客的限制,越来越感觉到拥有一套不受约束的个人博客系统的重要性,于是在参考了网上大量优秀开源博客系统后,不断打磨改造合并最终形成了当前这一款个人博客系统(目前是初版,后期会不定期维护更新)。 技术架构:Springboot2.x + Shiro + Mybatis Pl...

2019-10-21 16:57:48 1226 0

原创 mybatis-generator 逆向生成工具(实体、dao、sql)

介绍:mybatis-generator是一个逆向生成工具,用于将数据库表逆向生成实体对象(entity),持久层Dao接口以及用于操作数据库的sql语句xml文件。对于简单的单表操作,增删改查几乎不用动手写任额外的代码。因为这些都已经通过逆向工程自动生成了,所以帮我们省了一大摊子事儿。 项目结...

2019-09-11 18:39:41 60 0

原创 springboot动态数据源切换(多数据源配置)

动态数据源切换即多数据源切换,由于业务的需要或者历史的遗留等原因,一个项目中配置了多个数据库,用于查询不同类型的数据,因此我们就需要经常在各个库中切换数据源,接下来我们将进行具体的说明: 项目结构如下: 相关类说明: DynamicDataSource:动态获取数据源的实现,继承Abst...

2019-09-03 17:10:44 188 0

原创 mysql添加外键约束失败cannot add foreign key constraint

一般来说出现此种错误的要注意是否有如下情况发生: 1.外键字段不能为该表的主键 2.外键字段参考字段必须为参考表的主键 3.字段数据类型必须一致 4.数据库表引擎必须一致 5.字符集和排序规则必须一致 如果仍然无法解决,那就备份一下数据,然后重建表 ...

2019-08-30 14:40:59 531 0

原创 Linux调用外部服务出现java.net.UnknownHostException

windows下调用某外部服务的接口正常,发布到测试环境中的linux下,短信服务接口、验证码接口齐刷刷的出现了UnknownHostException, java.net.UnknownHostException: www.kexuntong.cn java.net.UnknownHostE...

2019-08-25 11:55:01 656 0

原创 linux安装nginx并配置域名映射和图片服务器

环境:阿里云轻量级云服务器 操作系统:centos7 背景: 在上一篇博客阿里云服务器部署SpringBoot项目(mysql安装、服务部署)(https://blog.csdn.net/zwx19921215/article/details/97558985)中已成功发布了springbo...

2019-07-29 14:46:36 989 0

原创 阿里云服务器部署SpringBoot项目(mysql安装、服务部署)

最近在阿里云购买了一台轻量级云服务器,开始了自主服务之旅,下面记录步骤以及采坑过程。 首先拿到服务器的第一步我进入了控制台-远程连接中设置了连接密码,然后通过securt客户端工具连接。 1.jdk1.8安装 自行下载jdk1.8然后cd到/usr/local目录下创建java目录,将jdk...

2019-07-27 21:30:32 983 0

转载 Nginx出现403 forbidden

nginx访问时报403, 于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下: 1.open()"/data/www/1.txt"failed(13:Permissiondeni...

2019-07-15 16:58:26 47 0

原创 The alias 'Criterion' is already mapped to the value

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method ...

2019-07-10 11:13:06 772 0

原创 springboot quartz动态任务处理

现实中的很多定时任务并不像网上的那种写法那么简单都是直接通过注解的形式实现(@Scheduled(fixedRate = 10000))。我就遇到了从数据库读取相关的数据(可能有n条)然后根据数据的触发时间生成多个动态任务添加到Scheduler中,当到达触发点时自动触发该任务。 废话不多说,直...

2019-04-19 15:56:32 189 0

原创 python 爬虫爬取小说信息

1.进入小说主页(以下示例是我在网上随便找的一片小说),获取该小说的名称、作者以及相关描述信息 2.获取该小说的所有章节列表信息(最重要的是每个章节的链接地址href) 3.根据每个章节的地址信息下载每个章节的内容并解析 4.将解析后的内容打印并写入文件或者数据库   示例代码v1版如下...

2018-12-26 15:35:54 965 0

原创 python 视频下载神器(you-get)

you-get是github上python的一个开源库(https://github.com/soimort/you-get),使用you-get你只需要取得视频所在网页链接地址就可以很轻松的下载下来,目前you-get所支持的网站包含国内外几十个网站(youtube、twitter、腾讯、爱奇艺...

2018-12-25 16:28:59 24518 9

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