- 博客(148)
- 资源 (17)
- 收藏
- 关注
原创 git diff输出分析
git diff 命令通过文件补丁的格式比较文件在暂存区和工作区具体地显示哪些行发生了改变。本文通过实例对命令输出进行解析。
2022-06-13 15:29:38 1447 1
转载 什么是索引下推
概述索引条件下推优化(Index Condition Pushdown (ICP) )是MySQL5.6添加的,用于优化数据查询。当使用索引条件下推优化时,如果存在某些被索引的列的判断条件时,MySQL服务器将这一部分判断条件传递给存储引擎,然后由存储引擎通过判断索引是否符合MySQL服务器传递的条件,只有当索引符合条件时才会将数据检索出来返回给MySQL服务器。索引条件下推优化可以减少存储引擎查询基础表的次数,也可以减少MySQL服务器从存储引擎接收数据的次数。
2022-05-19 10:32:22 1319
原创 设计模式 - 工厂模式
工厂模式工厂模式可分为简单工厂、工厂方法和抽象工厂模式。简单工厂简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式.角色Factory:工厂角色工厂角色负责实现创建所有实例的内部逻辑Product:抽象产品角色抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口ConcreteProduct:具体产品角色具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。类图
2022-05-08 11:22:52 452
原创 https连接过程
前驱知识:对称加密(共享密钥加密):加密和解密公用一个密钥的方式称为共享密钥加密(common key crypto system),例如:DES、DESede(三重DES)、AEShttps://wenku.baidu.com/view/68940050f76527d3240c844769eae009581ba2cc.html非对称加密:包含公钥(private key)和私钥(public key),公钥加密、私钥解密(如果私钥加密、公钥解密称为签名。但是公钥和私钥不可以互换,因为公钥可以通过私
2022-04-24 23:12:12 261
原创 RabbitMQ入门
RabbitMQ简介安装步骤在centos7环境上,因为是最小化安装,需要先yum install gcc 依赖wget 对应的安装包 erlang、socat、rabbitmq-server通过rpm 安装 顺序是 erlang、socat、rabbitmq-server常用命令# 启动systemctl start rabbitmq-server# 添加web管理插件rabbitmq-plugins enable rabbitmq_management# 重启syst
2022-04-20 18:02:32 2755
原创 redis面经整理
什么是 Redis?简述它的优缺点?简介:全称:remote dictionary server,本质是一个key-value类型的内训数据库。整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据刷新到硬盘上进行保存优点:(1)因为是纯内存操作,性能出色。每秒可以处理超过 10 万次读写操作,是已知性能最快的Key-Value DB;(2)支持多种数据结构,单个value最大的限制是1GB缺点:数据库容量受物理内存的限制,不能做海量数据高性能独写,因此 Redis 适合的场景主要局..
2022-04-10 11:19:08 953
原创 三个线程交替打印字符
三个线程分别打印"A"、“B”、“C”,现在需要完成三个线程交替打印,10个ABCpublic class Main { private static AtomicInteger index = new AtomicInteger(0); private static AtomicInteger epoches = new AtomicInteger(0); static Thread A = new ThreadA(); static Thread B = new Thr
2022-03-29 21:06:20 500
原创 时序图笔记
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图我们在画时序图时会涉及下面7种元素:角色(Actor)系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。对象(Object)对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService;只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。只显示对象名,不显示类名。例如
2022-03-26 18:01:41 929
转载 UML类图
转载:30分钟学会UML类图类图中具体类、抽象、接口和包的表示法UML类图中表示具体类具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:“+”表示 public;“-”表示 private;“#”表示 protected;不带符号表示 default。UML类图中表示抽象类抽象类在UML类图中同样用矩形框表示,但是***抽象类的类名以及抽象方法的名字都用斜体字表***示,如图2所示。UM
2022-03-26 16:51:07 4125
原创 CopyOnWriteArrayList线程安全问题
今天在学习CopyOnWriteArrayList原理的时候,发现一个问题。CopyOnWriteArrayList更新操作是先复制原数组,然后在新数组上修改,之后再将原数组的引用指向新数组。/** The lock protecting all mutators */ final transient ReentrantLock lock = new ReentrantLock(); /** The array, accessed only via getArray/setArray.
2021-11-23 13:35:52 1170 2
原创 证明:偶数长度的回文数中只有11是素数
说明回文数有两种一种是单数位数,abcba,一种是双数位数,abccba其中双数位数是质数的只有11证明举例: abc……cbaa * 100……001b * 10……01c * 1……1其中 1……1 是能被11整除,其中省略号中只要2个0参考博客:https://bbs.csdn.net/topics/392318549...
2021-09-23 22:25:42 495
原创 mybatis使用技巧
mybatis and,or复合查询要查询的sql:select * from user where name = ? and (age=? or city=?);方法1:不使用Example查询直接在usermapper.xml中修改sql方法2:使用Example查询sql可转换成select * from user where (name = ? and age=?) or (name=? and city=?);然后使用Example查询UserExample exampl.
2021-09-10 14:18:46 146
原创 两个线程交替打印helloworld
美团面试题:用2个线程交替打印helloworld:t1: ht2: et3: lt4: lt5: ot6: w……代码import java.util.concurrent.atomic.AtomicInteger;public class PrintHelloWord{ private static AtomicInteger index = new AtomicInteger(0); private static String s = "helloWor.
2021-08-29 12:22:30 408
原创 为啥HashMap的长度一定是2的n次方
直接说原因:计算方便hash分布更均匀计算方便当HashMap长度为2的次方时,等式 hash(key) & (length - 1) == hash(key) % length 成立解释:hash(key) % length 得到的结果 hash(key) - (hash(key) / length) * length因为HashMap长度为2的次方,所以length - 1 的值转成二进制为全1的形式(2的次方一定是 1000…… 这种形式,再减去1,剩下的一定都是1,没有
2021-08-14 17:36:01 969
原创 java并发编程的任务
并发编程的挑战上下文切换任务从保存到再加载的过程就是一次上下文切换单核处理器通过给每个线程分配CPU时间片来实现多线程减少上下文切换的方法有无锁并发编程、CAS算法、使用最少线程和使用协程。死锁避免死锁避免一个线程同时获取多个锁避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况资源限制的挑战概念资源限制是指在
2021-05-31 15:40:59 216
原创 面试智力题
病狗问题一个村庄有70户人家,每户人家养一条狗已知这些狗中有一部分病狗,由于某种原因,狗的主人无法判断自己的狗是否是病狗,却能够分辨其他的狗是否是病狗现在,大家决定每户人家自行处决各自的病狗,但如何知道自己的狗是病狗呢?大家必须对其他所有人的狗进行观察,但不允许指认他人的狗是病狗,只能通过别人的狗是否生病判断自己的狗是否有病如果判断自己的狗生病了,就要自行处决自己的狗 过了10天之后,所有的病狗都被处决了,问,一共有几只病狗?解析:前提:70只狗中一定有病狗情况1:1只病狗那么病狗.
2021-05-18 15:03:18 467
原创 每日查询记录
记录每天工作或学习过程中查询的碎片知识点,可能只是为了临时使用百度了一下,并没有理解或消化。在次记录如果有时间就可以回头学习一下2021/5/8linux中统计一个文件夹下普通文件数目$ ls -l | grep "^-" | wc -l参考博客:linuxprobe.com/linux-ls-grep-wc.html有关wc命令:https://www.cnblogs.com/vincenshen/p/6560881.html...
2021-05-08 23:47:51 123
原创 java基础面经
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。Java中会存在内存泄露吗?答:Java语言也存在内存泄露问题。Java语言提供了垃圾回收机制,它可以自动回收那些不再被使用的对象,以释放内存空间,..
2021-04-23 22:27:45 154
原创 Java面向对象特性
对象的概念对象与真实世界的实体一一对应,对象有一下特点:对象具有属性和行为对象具有唯一性对象都是某个类别的实例面向对象与面向过程的区别面向过程:站在过程的角度思考问题,强调功能行为,功能的执行先后顺序,通过每个一个函数把这些步骤一步一步实现,使用的时候依次调用函数就可以。最小的程序单元是函数,整个软件系统是由一个个函数组成。面向对象:站在对象的角度思考问题,把多个功能合理的放到不同的对象里,强调具备功能的是对象。面向对象最小的程序单元是类。两者的优缺点:面向过程设计不够值观,与人类的思
2021-04-23 16:17:51 149
转载 java 线程之间是如何通信的
java线程之间的通信方式总共有 8 种,分别是volatile、synchronized、interrupt、wait、notify、notifyAll、join、管道输入/输出,我们一个一个的来说明!1.volatile线程会将内存中的数据,拷贝到各自的本地内存中( 这里的本地内存指的是 cpu cache ( 比如 CPU 的一级缓存、二级缓存等 ),寄存器)。当某个变量被 volatile 修饰并且发生改变时,volatile 变量底层会通过 lock前缀的指令,将该变量写会主存,同时利用
2021-04-20 22:21:51 4229
转载 网络基础:TCP协议-如何保证传输可靠性
TCP协议传输的特点主要就是面向字节流、传输可靠、面向连接。这篇博客,我们就重点讨论一下TCP协议如何确保传输的可靠性的。确保传输可靠性的方式TCP协议保证数据传输可靠性的方式主要有:校验和序列号确认应答超时重传连接管理流量控制拥塞控制校验和计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数加起来。并且前面的进位不能丢弃,补在后面,最后取反,得到校验和。发送方:在发送数据之前计算检验和,并进行校验和的填充。接收方:收到数据后,对数据以同样的方式进行计
2021-04-13 23:04:59 2522
原创 try_catch_finally执行顺序
已知:try/catch-finally 最后函数节数肯定会执行finally内容。如果try中没有异常,不会执行catch,如果有异常,先执行catch.代码1public class try_catch_finally { static int res = 0; public static void main(String[] args) { System.out.println(add()); // 步骤5 } public static int
2021-03-27 17:11:05 235
转载 mysql中explain详解
explain能干啥mysql官方介绍:When EXPLAIN is used with an explainable statement, MySQL displaysinformation from the optimizer about the statement execution plan.That is, MySQL explains how it would process the statement, includinginformation about how tables
2021-03-23 09:33:03 504
原创 Java多线程面经整理
什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。线程与进程的区别**进程:**是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。**线程:**是进程的一个执行单元,是进程内调.
2020-11-01 20:33:49 778
原创 java多线程并发任务笔记
并发编程的挑战上下文切换 任务从保存到再加载的过程就是一次上下文切换 单核处理器通过给每个线程分配CPU时间片来实现多线程 减少上下文切换的方法有无锁并发编程、CAS算法、使用最少线程和使用协程。 死锁避免死锁 避免一个线程同时获取多个锁 避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源 尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制 对于数据库锁,加锁和解锁必须在一个数据库连.
2020-10-23 17:10:36 516
原创 开发经验
chrome 启动多个独立的实例在Chrome.exe文件夹下运行命令chrome.exe --user-data-dir="E:\dev\GoogleDev"参考:https://blog.csdn.net/lvshuangtao/article/details/52691231
2020-04-05 10:02:47 241
原创 spring security学习总结
概述是什么基于spring AOP和servlet过滤器的安全框架,同时在Web请求级(url请求拦截)和方法调用级(controller层中的方法)处理身份确认和授权。功能认证验证安全防护原理技术filterserveletspring DIspring AOP初体验依赖<dependency> <groupId>org.sp...
2020-03-28 17:23:57 517
原创 个人博客项目总结
项目概述项目地址: https://gitee.com/sicauliuyang/blog项目功能流程图技术组合后台: Spring Boot + JPA + thymeleaf框架数据库: MySQL前端UI: Semantic UI框架插件集成编辑器 Markdown内容排版 typo.css动画 animate.css代码高亮 prism目录生成 Tocbo...
2020-02-08 11:10:35 852
原创 vue实战:电商后台管理系统
在bilibili上学习一个vue项目:https://www.bilibili.com/video/av50680998?p=350配套资源:https://pan.baidu.com/s/1FX_1sz0Xj-0r1R_E12Qh1g提取码: 8exy联系项目代码:https://gitee.com/sicauliuyang/vue_shop项目结构dist:存放build后...
2020-01-14 16:58:29 5445 12
原创 git操作整理
文章目录工作流程详细步骤:获取主干最新代码新建分支——本地工作代码修改补充配置账号查看账号配置信息设置用户名密码基础操作初始化git仓库查看文件的状态(判断是否在XX区)将所需要添加的文件添加至暂存区将暂存区的文件提交至git仓库删除git里的文件历史快照查看历史提交记录回退本地版本强制回退远程仓库到当前版本撤销撤销git add 操作撤销git commit 操作分支操作查看所在分支移动到所在分...
2020-01-08 17:08:11 326
原创 前端积累
div中内容居中https://www.cnblogs.com/xiaocaiyuxiaoniao/p/10407830.html这篇文章的方法比较好用
2020-01-07 22:59:10 681
原创 vue 案例
文章目录vue 案例Tab选项卡案例图书管理案例vue 案例Tab选项卡案例选择对应tab标签,切换图片<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-...
2019-12-02 16:30:03 302 2
原创 vue学习
vue入门vue引入下载源码cdn引入(Content Delivery Network,即内容分发网络)hello vue<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title>...
2019-10-30 22:05:07 545
原创 数据结构--图
图的存储图的存储一般有两种方式:邻接矩阵和邻接表。邻接矩阵对于一个G(V,E),有N个顶点。令一个二维数组G[N][N],两维分别表示图的顶点坐标。如果G[i][j]为1,说明顶点i与顶点j之间有边;如果G[i][j]为0,说明顶点i与顶点j之间没有边。如果存在边权,可以令G[i][j]存放权值。对于不存在边的可以设边权为0,-1或一个很大的数。邻接表对于上个图,可以邻接矩阵如下,括号...
2019-10-08 15:19:35 195
原创 Java中枚举基础
简介枚举,是java中的一种比较特殊的class,它继承了java.lang.Enum类,所以只能实现接口。枚举内的元素默认被public static final修饰。枚举示例enum WorkDay { MON,TUEWED,THU,FRI,SAT,SUM;}public class EnumTest { public static void main...
2019-09-17 18:21:31 191
原创 算法笔记
算法入门sort基础依赖#include <algorithm>using namespace std;使用格式:sort(元素首地址(必填),元素首地址(必填),比较函数(非必填))默认排序是从小到大比较函数cmp示例代码bool cmp(int a,int b){ return a>b;}记忆:升序:a < b 左小右大;降...
2019-09-17 16:46:17 209
原创 JQuery使用
JQuery 基础:概念: 一个JavaScript框架。简化JS开发jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的Java...
2019-09-16 12:00:15 243
原创 JavaScript基础
JavaScript基础概念:一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。JavaScript发展史:1992年,Nombase公司,开发出第一门客户端脚本语言...
2019-09-12 09:59:19 332
原创 CSS基础
文章目录CSS概念CSS的使用css语法:选择器:筛选具有相似特征的元素属性CSS概念Cascading Style Sheets 层叠样式表()多个样式可以作用在同一个html的元素上,同时生效)好处功能强大将内容展示和样式控制分离降低耦合度。解耦让分工协作更容易提高开发效率CSS的使用CSS与html结合方式内联样式在标签内使用style属性指定css代...
2019-09-12 09:44:51 250
spring-security2.zip
2020-03-28
JavaWeb通过ajax、json实现省市二级联动
2019-04-09
JavaWeb中过滤器的三个小案例
2019-04-04
JDBC学习(九)dbUtils原理代码实例
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人