自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 JUC并发编程学习笔记(狂神)

目录JUC并发编程1. 什么是JUC2. 线程和进程1)进程2)线程3)并发4)并行5)线程的状态6)wait/sleep3.Lock1)传统的 synchronized2)Lock3. Synchronized 与Lock 的区别4. 生产者和消费者的关系1)Synchronzied 版本2)存在问题(虚假唤醒)3)Lock版4)Condition的优势5. 8锁现象6. 集合不安全1)List 不安全2)set 不安全3)Map不安全7. Callable8. 常用的辅助类1)CountDownLatc

2020-09-13 11:50:02 12914 11

原创 一文教你用Typora + Gitee(码云) + PicGo 实现 云 markdown笔记

为什么要用Typora存在的问题图片设为相对路径,发送文档携带图片文件夹Typora + Gitee(码云) + PicGo 实现 云 markdown笔记

2020-06-03 17:20:00 3818 10

原创 vue开发手机端,如何在手机端进行项目的预览和测试

1.条件:手机和开发项目的电脑要处于同一个WIFI环境中,也就是手机可以访问电脑的IP2.查看开发项目电脑的IP地址在cmd终端输入’iconfig’指令,查看电脑连接的IP地址3.打开自己项目中的package.json文件,在dev脚本中添加一个–host指令,查到的IP地址作为–hosts的指令值。4.运行项目,将网址用手机打开,即可在手机端进行预览和测试。...

2019-08-15 09:56:32 6390 6

原创 JQuery 获取本地图片的方法

获取本地图片可以使用FileReader对象中的readAsDataURL方法实例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>JQuery 获取本地图片的方法</title> <script type="text/j...

2019-08-08 16:59:28 5744 1

原创 mysql 错误代码error2003的解决办法

出现这种错误一般是mysql服务没有启动,在cmd中输入net start MySQL就可以启动服务,但是输入之后出现说明没有 MySQL这个服务,我们打开计算机管理 查找服务,找到 MySQL服务,发现服务名是MySQL80(服务名是根据自己电脑中安装的mysql版本),这时候我们点击启动服务,然后在命令行里输入net start MySQ80,发现还是不行这时候,我们只需要退...

2019-03-30 15:04:15 35598 1

原创 分布式ID实现方案

传统的单体架构的时候,我们基本是单库然后业务单表的结构。每个业务表的ID一般我们都是从1增,通过AUTO_INCREMENT=1设置自增起始值,但是在分布式服务架构模式下分库分表的设计,使得多个库或多个表存储相同的业务数据。这种情况根据数据库的自增ID就会产生相同ID的情况,不能保证主键的唯一性。

2021-12-22 09:34:22 413 7

原创 分布式锁实现方案

当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资源数据是一致的,那么就必须要求在同一时刻只能被一个客户端处理,不能并发的执行,否者就会出现同一时刻有人写有人读,大家访问到的数据就不一致了。因此我们就需要引入分布式锁来分布式情况下数据同步的问题。

2021-12-22 09:29:54 1351

原创 JVM相关问题

JVM相关知识及面试总结

2021-11-25 16:07:58 1088

原创 IO相关问题总结

Java IO流有什么特点?Java IO流分为几种类型?字节流和字符流的关系与区别?字符流是否使用了缓冲?缓冲流的效率一定高吗?为什么?缓冲流体现了Java中的哪种设计模式思想?为什么要实现序列化?如何实现序列化?序列化数据后,再次修改类文件,读取数据会出问题,如何解决呢?

2021-11-18 21:14:15 1181

原创 RabbitMQ消息模型及常见问题分析

RabbitMQ消息模型及常见问题分析如何保证RabbitMQ的高可用如何保证消息不被重复消费(消息幂等性问题)如何保证消息的可靠性传输如何保证消息的顺序性如何解决消息队列的延时以及过期失效

2021-11-16 08:55:37 2024

原创 【微服务】新生电子注册报到系统改造

[三月软件](http://www.marchsoft.cn/)技术支持的新生电子注册报到系统为河南科技学院的新生报到保驾护航,提供便利。该系统技术栈主要由SpringBoot + Mybatis构成。近日在学习SpringCloud时,考虑该系统需求明确,又存在高并发的情况。因此利用所学之后,对该系统进行重构升级,替换为SpringCloud为核心的技术栈。

2021-09-30 14:15:20 203

原创 分布式锁(Zookeeper)

在单体应用开发的时候,涉及到并发的问题时候,往往会使用synchronized或者Lock的方式来解决多线程间的数据不一致等各种问题。但是在集群的项目结构中,Synchronized就再起作用了,为什么呢?synchronized关键字的作用域其实是一个进程,在这个进程下面的所有线程都能够进行加锁。但是多进程就不行了。对于集群项目来说,每个地区都可能有一台服务器。这样不同地区服务器不一样,地址不一样,进程也不一样。因此synchronized无法保证数据的一致性。

2021-09-30 14:11:39 1930

原创 https和http有什么差别、如何抓包、中间人攻击原理

1 HTTPS与HTTP的区别2 HTTPS的实现原理2.1 证书验证阶段2.2 数据传输阶段2.3 为什么数据传输使用对称协议呢而不直接用非对称加密呢?2.4 HTTPS怎么加密传输的?2.5 HTTPS 握手会影响性能么?3 中间人攻击3.1 "中间人攻击"原理3.2 为什么需要 CA 认证机构颁发证书?1) 证书包含什么信息?2) 证书的合法性依据是什么?3.3 防止"中间人攻击"3.4 冒用证书问题

2021-08-28 08:44:09 1948 1

原创 Certbot-免费的HTTPS证书

一般的 SSL 安全证书签发服务都需要付费,且价格昂贵,不过为了加快推广 https 的普及, EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用 Let’s Encrypt 提供的免费证书部署 https 了

2021-06-13 09:36:01 693

原创 SpringBoot项目集成Flyway

Flyway是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。用通俗的话讲,Flyway可以像Git管理不同人的代码那样,管理不同人的sql脚本,从而做到数据库同步。

2021-05-16 14:29:06 341 2

原创 Mybatis逆向生成

了解Mybatis逆向生成学会使用Mybatis逆向生成代码

2021-05-09 12:10:06 2014 4

原创 Mybatis缓存

1. 了解mybatis缓存2. 了解mybatis一级缓存3. 了解并学会使用mybatis二级缓存4. MyBatis与分布式缓存EhCache的集成

2021-05-02 11:48:35 196

原创 Mybatis动态SQL

1. 了解mybatis的动态SQL2. 了解并学会使用IF-WHERE 动态sql语句3. 了解并学会使用SET 动态sql语句4. 了解并学会使用SQL片段 动态sql语句5. 了解并学会使用Foreach 动态sql语句

2021-04-25 14:35:31 217

原创 Mybatis的基本使用

学习目标认识Mybatis了解Mybatis功能知道为什么学习Mybatis利用Mybatis编写一个简单程序学会使用Mybatis基本功能了解Mybatis的基本配置

2021-04-18 10:07:49 212

原创 集成开发工具(IDEA)安装与使用

目录IntelliJ IDEA (2019.3)一. IDEA 介绍1. IDEA 主要功能介绍2. IDEA的优势(与Eclipse对比)二. IDEA安装(Windows)1. 安装前准备2. 具体安装过程3. 查看目录结构安装目录结构设置目录结构三. 简单使用1 创建java工程2. 创建package 和class3. 运行程序4. 模块(Module)5. 查看项目配置四. 常用配置1. Appearance & Behavior 外观和行为4.1.1 设置主题2. Editor 编辑器2

2021-04-11 11:19:39 1447

原创 Maven学习笔记

Maven学习目标一、为什么学习Maven二、下载安装Maven三、配置环境变量四、Maven 基础配置1. 阿里云镜像2. 本地仓库五、在IDEA中使用Maven1. 创建一个MavenWeb项目2. 等待项目初始化完毕3. 项目搭建成功4. 查看maven 本地仓库5. IDEA中的Maven设置6. 问题① 生成 java&resources② 使用标记文件夹功能六、创建一个普通的Maven项目1. 创建Maven项目2. 创建Web目录七、在 IDEA中配置T

2021-03-28 17:40:03 129

原创 Spring介绍及Ioc原理探究及使用

Spring介绍及ICO一、Spring1. Spring概述2. spring模块组成(了解)3. Spring优点二、IOC容器1. IOC原理三、Spring入门1. 入门案例1. 导入Maven依赖2. 编写一个User实体类3. 编写一个Spring文件4. 测试2. IOC创建对象方式1. 通过无参构造方法创建1. User实体类2. beans.xml3. 测试类2. 通过有参构造创建1. User实体类2. beans.xml3. Spring配置1. 别名2. Bean的配置四、依赖注入(

2021-03-21 20:24:35 221

原创 SSM框架

一、学习内容1、 SpringMVC a. spring常用注解 1. @Configuration注解 1、 SpringMVC a. spring常用注解 1. @Configuration注解 该类等价 与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册 了@Bean,就会作为这个Spring容器中的Bean,与xml中配置的bean意思一...

2021-03-14 14:51:17 62

原创 IDEA常用快捷键

目录一、Ctrl 快捷键 +二、Alt 快捷键 +三、Shift 快捷键四、Ctrl + Alt 快捷键五、Ctrl + Shift 快捷键六、Alt + Shift 快捷键七、Ctrl + Shift + Alt 快捷键八、其他快捷键一、Ctrl 快捷键 +修改 Ctrl + Space 为 Alt + / 方法,Settings -> keyMap -> Main menu -> Code -> Completion,删除 Cyclic Expand Word 再次给 Bas

2021-03-07 08:55:33 124

原创 SpringSecurity 学习笔记(狂神)

目录1. 概述2. SpringSecurity 简介3. 实战测试实验环境搭建认识SpringSecurity认证和授权权限控制和注销记住我定制登录页完整配置代码4. 深入Security'SpringSecurity中对过滤器的配置SpringSecurity中对过滤器的配置:addFilterBefore0. 流程图1. 开启Spring Security狂神说Java1. 概述做项目,系统的安全性是第一位SpringSecurity 和 Shiro ,两者很像,除了一些类、名字不一样可以

2021-02-27 17:27:26 1350 1

原创 多线程学习笔记

目录多线程1. 概述2. 线程创建1)继承Thread类2)实现Runnable接口3)Callable3. 静态代理模式4. Lambda表达式5. 线程状态1)线程停止2)线程休眠 sleep()3)线程礼让 yield()4)线程强制执行join()5)线程状态观测6)线程优先级7)守护线程6. 线程同步1)线程不安全的例子2)同步块3)死锁7. lock锁synchronized与Lock的对比8. 线程协作1)管程法2)信号灯法9. 线程池多线程1. 概述普通线程和多线程进程进程就

2021-02-22 09:13:28 102

原创 ES6学习笔记

ES6学习笔记ES61. 概览1. ECMAScript 6简介1)ECMAScript 和 JavaScript 的关系2. let和connst命令1)let基本语法不存在变量提升暂时性死区不允许重复声明ES6 的块级作用域2)const命令基本用法本质ES6 声明变量的六种方法3. 变量的解构赋值1)数组的解构赋值基本用法2)对象的解构赋值字符串的解构赋值数值和布尔值的解构赋值用途4. 字符串的扩展5. 正则的扩展6. 数值的扩展Math对象的扩展Math.trunc()Math.sign()Math

2021-02-07 08:52:46 223 1

原创 过滤器/拦截器

目录过滤器/拦截器一、过滤器1. 应用场景2. 实现一个简单的Filter二、拦截器三、二者的区别1. 使用范围不同:2. 规范不同:3. 使用的资源不同:4. 深度不同:5、实现原理不同6、使用范围不同7、触发时机不同8、拦截的请求范围不同9、注入Bean情况不同10、控制执行顺序不同过滤器/拦截器过滤器 和 拦截器 6个区别,别再傻傻分不清了廖雪峰的官方网站一、过滤器1. 应用场景如果我们所有的Servlet都需要用户登录之后才能操作,否则跳转到登录界面。我们最原始的方法是在每一个Serv

2021-01-31 18:57:07 215

原创 Intellij IDEA 2019 Debug 调试工具详解

目录DEBUG前言1. 由来2. 启动 debug 模式1. 启动debug模式,方便随时调试代码2. 设置debug窗口3. 设置断点4. 调试按钮&服务按钮1. 调试按钮2. 服务按钮5. 变量查询1. 在需要查看的变量上,鼠标悬停 2s 左右2. Alter + 鼠标左键3. 在 Variables 中查看4. 在 Watches 中查看5. 利用计算表达式查看6. 变量修改7. 断点条件设置参考博客:DEBUG前言大家在开发的过程肯定会遇到bug,那大家是怎么找出bug的呢,Syste

2021-01-20 14:54:50 559 1

原创 mysql 临时备份

背景实现1. 创建备份数据库2. 复制数据其他方式存在问题

2021-01-14 16:58:12 204

原创 信息加密技术 MD5 对称加密 非对称加密

一、加密的方式1. 对称加密1. 简介2. 优缺点:3. 经典对称加密:DESAES2. 非对称加密1. 用法2. 典型非对称加密——RSA3. 实现原理4. 特点5. 对比6. RSA应用场景:3. 单向散列加密特点二、加密算法实现1. 非对称加密(RSA)1. 生成秘钥2. 前端对利用公钥对数据进行加密3. 后端利用私钥对数据进行解密2. 对称加密AES3. 单向散列加密MD5SHA1三、加密算法比较

2021-01-03 09:12:23 538

原创 Spec可视化音乐频谱

Spec可视化音乐频谱1. 背景最近在听音乐的时候感觉音乐软件自带的频谱律动都不太友好,都在软件界面上嵌着,不能满足我对音乐律动的渴望,所以就想找一个能够直接在桌面显示的频谱律动软件。2. Spec百度一番之后,尝试了几个软件,发现了一款非常优秀的软件——Spec特点自定义可视化图形Spec提供了一些基本的可视化图形以及图片资源导入,通过这些图形,可以拼凑出很多炫酷的频谱。桌面即为设计窗口所见即所得。只需点击任务栏右下角的Spec托盘图标,点击【设计】,就能打开设计窗口,可以调节

2020-12-16 10:10:57 2885 1

原创 swagger设置全局Token,避免利用swagger测试多个接口需要重复填写token

swagger设置全局Token,避免利用swagger测试多个接口需要重复填写token

2020-12-05 14:39:41 2189

原创 Java实现微信小程序文本内容敏感词检查

1.背景2.策略3.实现1. 调用auth.getAccessToken,获取接口调用凭证2. 调用security.msgSecCheck检测文本内容4.遇到的问题5.工具类完整代码6.使用方式

2020-11-27 11:44:58 2663 2

原创 RabbitMQ的五种消息队列

RabbitMQ1. 点对点模式(简单队列)2. 工作队列3. 发布订阅模式4. 路由模式5. 通配符模式RabbitMQ消息确认机制RabbitMQ1. 点对点模式(简单队列)消息应答模式,ACK2. 工作队列3. 发布订阅模式4. 路由模式5. 通配符模式RabbitMQ消息确认机制...

2020-11-22 14:39:24 141 2

原创 软件设计师学习总结

习题总结1. 硬盘容量2. 存储器3. 流水线4. 音频5. 文件格式6. 敏捷方法7. 软件成熟度模型8. 软件复查9. 设计模式10. 正规式11. 数据结构12. 操作系统13 数组的顺序存储14 系统可维护性15. 内聚类型16. Windows常用命令17. 加密18 外部与内部质量19. 全局变量20. 综合布线21. 媒体22. 观察者模式23. 数据库系统24. 工作量估算模型25. 软件维护工具26. 敏捷开发bilibili 视频学习

2020-11-06 08:55:54 538

原创 如何利用 sum(if()) 执行一条sql语句,查出一个表里,不同条件对应的数据条数

背景现在有一个需求,就是用一条sql语句如何查出试卷表(exam_user)中的,已批改人数,已答未批改人数,未答人数。idexam_iduser_idid_doneis_review11100212103131041411解决编写sqlsqlSELECT SUM(IF((eu.`is_done` = 1 AND eu.`is_review` = 1),1,0)) AS corrected,SUM(IF((eu.`is

2020-11-01 12:18:43 1407

原创 2020-10-24

准程序员在学校的第一个程序员节

2020-10-24 17:06:25 81

原创 RabbitMQ 消费者消费消息失败,会一直重复发送

消息队列,SpringBoot使用AmqpTemplate开发,消费者消费消息失败,会一直重复发送,导致程序死循环。

2020-10-19 10:07:38 6058 4

原创 算法小知识

1. 有向完全图2. 闰年3. 约数4. 素数5. 英语辅音6. 判断字符串有无重复字符串7. 有无子字符串8. 翻转字符串9. 位运算1. 判断奇偶数2. 数值交换3. 求绝对值

2020-10-16 15:48:40 98

空空如也

空空如也

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

TA关注的人

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