自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 mybatis源码解析第二课-mybatis总体架构设计

一、myabtis架构图功能流程层次描述MyBatis的整体架构图MyBatis源码包对应的架构图在应用启动的时候,MyBatis解析两种配置文件SqlMapConfig.xmlSqlMap.xmlSqlMapConfig.xml是在XMLConfigBuilder类中完成解析的SqlMap.xml是在XMLMapperBuilder中解析完成的,其中把对Statement的解析...

2019-07-21 21:57:54 215

原创 mybatis源码解析第四课-mybatis的SQL执行过程解析

目录前言 mybatis重要类解析1、mybatis的sql执行代码总览2、创建session工厂实例解析3、创建session解析4、执行查询操作解析5、session关闭解析前言 mybatis重要类解析Executor:第一、mybatis的sql执行代码总览String resource = "mybatis-config.xml";//读取myabti...

2018-10-28 22:20:28 196

原创 mybatis源码解析第三课-mybatis源码调试入门

111

2018-10-17 11:00:30 1193

原创 mybatis源码解析第一课-mybatis源码导入idea运行

一、下载mybatis源码版本:mybatis-3-mybatis-3.4.6.zip,下载地址:https://github.com/mybatis/mybatis-3通过查看mybatis的pom.xml文件,发现是一个聚合项目,依赖mybatis-parent <parent> <groupId>org.mybatis</groupId>...

2018-10-13 21:19:56 5599

原创 java设计模式之策略模式实操

(2)代码设计模式:工厂模式+策略模式,每个配置的条件都需要去匹配,而每个条件的匹配可能相同或者不同,所以可以定义一个抽象类作为父类,每一个条件创建一个类,继承这个抽象类,抽象类主要有三个抽象方法:获取匹配器的类型代码、获取传入对象参数中该匹配器对应的入参值、条件匹配;(2)条件可以单选、多选、输入字符串,也就是说条件值可能是等于、包含、不等于、不包含、大于、小于、自定义输入值;1、匹配器抽象类:获取匹配器的类型代码、是否自定义匹配算法、获取传入对象参数中该匹配器对应的入参值、条件匹配;

2024-04-14 23:36:50 435

原创 SpringBoot的starter原理及如何自定义starter

Spring 官方定义的 Starter 通常命名遵循的格式为 spring-boot-starter-{name},例如 spring-boot-starter-data-mongodb。例如,在Maven的依赖中加入spring-boot-starter-web就能使项目支持Spring MVC,并且Spring Boot还为我们做了很多默认配置,无需再依赖spring-web、spring-webmvc等相关包及做相关配置就能够立即使用起来。spring.factories 书写规则。

2023-07-20 13:31:04 207

原创 GIT统计代码量

git代码量统计

2023-06-15 17:57:31 315

原创 keepalived安装部署

keepalived高可用安装部署

2022-07-24 12:35:53 1524 1

原创 vmware虚拟机安装centos7及网络配置

虚拟机两种网络配置

2022-07-20 20:44:26 1993

原创 使用python爬取微信公众号文章

使用python爬取微信公众号文章

2022-01-28 21:30:11 4523 2

原创 nginx日志的配置

一、日志输出格式配置示例log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent $request_length "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' ' elapsed=${reque

2021-01-18 14:22:38 421

原创 使用nginx搭建web静态资源服务

一、nginx作为静态资源服务有三种配置方式: location ~* (.+)\.(ico|gif|jpg|jpeg|png|html|htm|css|js|txt|json|xml|swf|wav|eot|svg|ttf|woff|exe)$ { root D:/develop/nginx-1.13.12/static; access_log off; } location ^~/wtxprint/

2020-12-29 20:34:41 454

原创 高并发下java锁的应用

两类锁:一、独占锁:redis的分布式锁、ReentrantLock锁;二、共享锁:synchronized的对象锁今天针对高并发下的共享锁做一点心得分享,举例:银行卡取钱的两个场景:场景一:假设现在有10个人在同一家银行的10张不同的银行卡上取钱,在程序执行层面肯定是要允许10个人同时取,而不是要10个人排队取;场景二:假设现在有2个人取同一张银行卡上的钱,在程序执行层面肯定是要排队执行取钱的操作,而不能同时执行取钱的操作;那么问题来了,这两种场景都是取钱,那么我们的锁要在什么

2020-12-23 20:15:11 238

原创 python使用pygame插件库做游戏开发-打飞机

游戏开发的大概分为七个步骤:一、主体框架开发 1、游戏窗口; 2、背景音乐播放; 3、玩家飞机绘定义及移动; 4、飞机绘制及响应键盘事件二、敌方飞机开发 1、敌方三种飞机类型的定义及移动; 2、地方三种飞机数量的初始化及绘制; 3、大型飞机的飞行声音播放三、碰撞检测 1、玩家飞机和敌方飞机的碰撞检测; 2、玩家飞机和敌方飞机爆炸的效果图片展示;四、 1、玩家飞机子弹的定义及移动; 2、大型飞机、中型飞机的血量设置; 3、大型飞机、中型飞机被子弹击中效.

2020-12-03 21:20:05 328

原创 无向图-最短路径Dijkstra(迪杰斯特拉算法)算法

一、算法思路1、采用广度优先搜索算法;2、二维数组初始化无向图;3、创建一个一维数组,初始化起点到其它所有节点的距离为无穷大,起点自己到自己的距离为0;4、从起点开始找与起点相邻的其它节点的距离,将距离赋值到前面创建的一维数组,将此节点标记为已访问;5、在一维数组中找一个没有访问过的节点,并且数值是最小的节点,将此节点作为起点重复第4步;6、直至所有节点全部标记为已访问,程序执行结束;二、代码import sysclass Graph: #所有节点信息 n

2020-11-06 18:57:57 3755

原创 无向图-广度优先搜索和深度优先搜索

深度优先遍历简称DFS(Depth First Search),广度优先遍历简称BFS(Breadth First Search),它们是遍历图当中所有顶点的两种方式。深度优先一般是解决连通性问题,而广度优先一般是解决最短路径问题代码实现import queueclass Graph: #所有节点信息 nodeAll = [] #记录节点是否已访问 0否 1是 visited = [] #所有的边 edge = [] #节点数量

2020-11-04 11:37:52 1199

原创 关于高并发的一次亲身经历

关于高并发的一次亲身经历一、故事二、前后端分离三、控制库存超额出售四、nginx负责均衡部署一、故事在疫情期间,接到了一个网上口罩出售的秒杀活动需求,经过了一昼夜的奋战,完成功能的开发和上线,当时采用的是单体架构+redis分布式锁,但是在上线的当天在指定时间开始进行秒杀活动时,系统页面完成进不去,只能在后台不断重启服务,大概用了1个小时口罩才基本抢完。于是我组织人马马上进行系统重构,重构主要是从以下几个方面开始:做前后端分离;去除redis分布式锁,改用数据库对update的原子性操作解决同步问

2020-08-27 11:42:27 150

原创 git配置 阿里Code

一、下载git并安装git下载地址:https://gitforwindows.org/阿里code地址:https://code.aliyun.com/二、添加Git用户名并设置邮箱//检查Git是否已经安装git --version//添加用户名并验证该配置是否正确git config --global user.name 1104404103git config --global user.name//设置邮箱地址并验证邮箱设置是否正确git config --globa

2020-08-19 18:20:23 579

原创 axure制作动态切换标签页

Axure的版本8.0一、实现的功能及展示效果:标签页切换;二、元件搭配1、Box;2、动态面板;三、实现逻辑1、选择标签1展示面板1;2、选择标签2展示面板2;四、操作步骤1、将动态面板拖入界面,并给动态面板设置两种状态”标签1“和”标签2“;双击动态面板打开设置状态界面;2、双击”标签页1“,进入到编辑界面,拖入两个Box,分别命名为”标签页1“和”标签页2“,给”标签页1“设置蓝色背景;3、设置标签页1的单击事件,单击标签页1时展示”标签页

2020-06-30 13:00:55 1358

原创 axure制作表单查询

Axure的版本8.0一、实现的功能及展示效果:对表格数据的查询;二、元件搭配1、输入框;2、中继器;3、标签;三、实现逻辑1、搜索框内的文字长度大于等于1,并且搜索的文字能够模糊匹配表格中的姓名,显示匹配的数据;2、搜索框内的文字长度小于1,将表格数据完整的显示;四、操作步骤1、拖入相关组件并设置好中继器的数据内容;设置中继器的第一列显示id,第二列显示姓名;2、搜索框内的文字长度大于等于1,并且搜索的文字能够模糊匹配表格中的姓名,显示匹配的数据;设置

2020-06-30 12:41:39 1995

原创 axure制作下拉列表模糊查询

Axure的版本8.0一、实现的功能:对姓名的下拉检索;二、元件搭配1、输入框;2、中继器;3、标签;三、实现逻辑1、默认下拉列表是隐藏;2、搜索框内的文字长度大于等于1,并且搜索的文字能够模糊匹配下拉列表中的值,显示下拉列表;3、鼠标悬停在下拉框文字上,改变文字的背景颜色;4、单击选中下拉列表文字将文字赋值到搜索框,同时隐藏下拉列表;5、搜索框内的文字长度小于1,隐藏下拉列表;四、操作步骤1、输入框,在元件库中选择一个输入框,取名为“搜索框”;2、中继器,选择

2020-06-30 11:14:39 2788

转载 全面了解 Nginx 到底能做什么

原创地址:https://mp.weixin.qq.com/s/f2QZrxiFM8iY_kj9zGKqsg前言本文只针对 Nginx 在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流Nginx 能做什么 1.反向代理 2.负载均衡 3.H...

2020-04-22 18:19:59 143

原创 如何打破思维局限

有这样一个故事,丐帮在乞讨的时候都是讲规矩的,大家划定好了各自乞讨的地盘,你是这条街上的乞丐,就不能到那条街上去讨饭。有一个乞丐运气不好,他的乞讨地盘上有钱人不多,乞讨得很辛苦。一天,这个乞丐救了皇帝,皇帝就要报答乞丐,说:“你提个要求吧,只要我做得到,立即就给你办了。”乞丐想了想,大声说:“请皇上把那边上那条街划给我乞讨,那条街上有钱人多。”乞丐之所以还是乞丐,因为他只具有一种乞...

2020-04-05 16:37:28 1255

转载 和黑客斗争的 6 天!

原文链接:https://blog.csdn.net/ityouknow/article/details/104666810互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都是各个黑客检测工具来扫描,当然更高级一点的入侵需要很多人工协助。一般情况下,网...

2020-04-02 11:16:20 224

原创 SSO单点登录原理及实现

一、SSO简介单点登录( Single Sign-On , 简称 SSO )是多个相关但独立的软件系统访问控制的一个属性。通过使用该属性,用户登录与单个ID和密码来访问所连接的一个或多个系统,而不使用不同的用户名或密码,或在某些配置中无缝登录在每个系统上,它是比较流行的服务于企业业务整合的一种解决方案。总结一句话,SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系...

2019-02-22 12:38:52 6677

原创 idea集成statistic插件统计代码量

一、在线安装略二、离线安装1、下载statistic插件包,当前下载版本为:Statistic-3.4.1.jar下载地址:https://plugins.jetbrains.com/plugin/4509-statistic2、打开idea设置界面,选择 plugins标签3、点击下面“Install plugin from disk”按扭,打开刚下载好的Statistic插件4...

2019-02-13 09:42:30 2375

原创 springboot的热部署

第一步:引入jar<!-- devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中 配置spring.thymeleaf.cache=false来实现), 实现类文件热部署(类文件修改后不会立即生效), 实现对属性文件的热部署。 即devtools会监听classpath下的文件变动, ...

2018-12-21 12:35:27 230 2

原创 springboot入门helloworld

一、创建springboot项目1、使用intellij idea创建springboot项目输入项目名称选中Web选项输入项目名称和项目保存路径项目目录结构如下至此项目创建完成,接下来讲解如何开发;二、springboot的helloworld编写1、项目application.yml文件配置配置文件有三个,分别为application.yml:配置文件入口,可以...

2018-12-21 08:56:38 201

原创 编写XML文件的dtd约束

111

2018-11-19 16:37:04 1196

原创 maven将本地jar打包进入项目

一、将本地jar包放入到项目中在项目根目录下创建lib目录,将jar包放入到lib目录二、在pom.xml引入本地jar包groupId、artfactId可以自定义名称,systemPath为本地jar的绝对路径;<dependency> <groupId>com.abc</groupId> &amp

2018-11-13 14:15:57 2708 2

原创 Spring中注解@Scope详解

Scope是spring中的一个注解,可以作为类注解,也可以作为方法注解,它有五个作用域,分别是singleton、prototype、request、session、global session,spring中的bean默认是使用singleton,即单例模式;下面就五种作用域做详细介绍;1、@Scope(“singleton”)spring中的bean默认使用方式,即单例模式,全局有且仅有...

2018-10-20 15:01:43 1011

原创 java读取项目配置文件的几种方法

一、Class.getResourceAsStream()会指定要加载的资源路径与当前类所在包的路径一致。 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源。 如果这个name是以 '/' 开头的,那么就会从classpath的根路径下...

2018-10-17 14:33:35 1018

原创 java常用设计模式

1、单例模式2、工厂模式3、代理模式4、委派模式5、策略模式6、原型模式7、模版模式参考资料:https://www.cnblogs.com/tytr/p/6119573.htmlhttps://blog.csdn.net/wmq880204/article/details/75106848...

2018-10-13 20:15:05 106

原创 java设计模式-策略模式详解

策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。下面就以一个示意性的实现讲解策略模式实例的结构。  这个模式涉及到三个角色:  ●  环境(Context)角色:持有一个Strategy的引用。  ...

2018-10-13 12:10:33 441

原创 java设计模式-模版模式详解

模板模式  定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。通俗的说的就是有很多相同的步骤的,在某一些地方可能有一些差别适合于这种模式,举例一个汽车启动的过程,每一种汽车启动的过程都基本是一样的流程,无非是这一过程中存在一些细小差别。package com.roc.template;/** * 汽车模型 * ...

2018-10-12 22:44:43 160 1

原创 java设计模式-代理模式详解

代理模式这种设计模式是一种使用代理对象来执行目标对象的方法并在代理对象中增强目标对象方法的一种设计模式。代理对象代为执行目标对象的方法,并在此基础上进行相应的扩展。看起来是有点拗口,首先介绍一个原则:开闭原则(对扩展开放,对修改关闭)。一种好的设计模式甚至是架构,都是在不修改原有形态的基础上扩展出新的功能。  代理模式的元素是:共同接口、代理对象、目标对象。  代理模式的行为:由代理对象执...

2018-10-12 22:19:03 145 1

原创 powerdesigner数据库建模

在做系统数据库设计时,借助一款好的数据库建模工具可能让我们事半功倍,下面就我的一些经验做下分享,安装过程忽略;下载地址:https://share.weiyun.com/54vgrKp第一步:选择New Model第二步:创建物理模型,选择好数据库版本第三步:按模块创建好不同的物理模型第四步:创建表第五步:新增字段第六步:按照同样的方式创建好角色表和用户角色关联表第七步...

2018-10-12 18:23:10 809

原创 eclipse导入工程正常运行但工程有红叉

一、问题如图所示二、解决办法1、打开eclipse的problem面板,提示工程需要运行在tomcat下;2、将程序发布到tomcat,启动tomcat,再重启下eclipse,红叉就消失了。...

2018-10-11 18:20:45 808

原创 uml画时序图操作步骤

本人使用的是staruml工具,下载地址:https://share.weiyun.com/5HtcSvV在日常工作中,不管是需求分析、流程设计、源码解读,通过uml工具画时序图都是一个很有效的辅助方式,在这里将自己的学习成果分享给大家。文件的下载安装再次忽略;第一步:创建model,命名为myuml第二步:选中myuml,创建Sequence Diagram,命名为umltest...

2018-10-10 08:54:35 6529

原创 tomcat配置管理员账号和密码

一、tomcat71、在tomcat的conf/tomcat-users.xml文件中加入配置:<role rolename="admin-gui"/><role rolename="admin-script"/><role rolename="manager-gui"/><role rolename="manager-scrip

2018-10-09 15:06:39 647

python打飞机.zip

python打飞机,使用了pygame的插件库,大概有1000行代码,实现了打飞机的所有的功能,包括完整的代码和素材,有详细的注释,供学习和开发使用

2020-12-03

空空如也

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

TA关注的人

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