自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (17)
  • 收藏
  • 关注

原创 git diff输出分析

git diff 命令通过文件补丁的格式比较文件在暂存区和工作区具体地显示哪些行发生了改变。本文通过实例对命令输出进行解析。

2022-06-13 15:29:38 1447 1

原创 MySQL学习之路

MySQL基础操作,包括正则表达式、常用函数、组合查询、视图、事务、存储过程、游标、触发器和事务

2022-06-12 00:04:29 359

转载 什么是索引下推

概述索引条件下推优化(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&gt...

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

项目方法测试调用接口工具

项目方法测试调用接口工具

2024-04-25

面试必备:Java线程池解析.pdf

转载博客的内容

2021-05-07

SynchronousQueue实现原理.pdf

转载的一篇博客资源

2021-05-07

spring-security2.zip

学习spring security模块学习的代码,是对https://blog.csdn.net/SICAUliuy/article/details/105164288文章中的学习的记录

2020-03-28

JavaWeb通过ajax、json实现省市二级联动

JavaWeb通过ajax、json实现省市二级联动:客户端通过jsp页面,来访问服务器的servlet,服务器访问数据库,返回json数据给客户端

2019-04-09

JavaWeb之ajax案例—省市联动

JavaWeb之ajax案例—省市联动:客户端通过ajax请求服务器端获得xml文件中的各省的名称,通过选择省,再加载市的名称

2019-04-09

JavaWeb文件上传

JavaWeb文件上传知识点验证性代码,包含commons-fileupload工具使用代码

2019-04-06

JavaWeb监听器—案例(二)页面静态化

演示javaWeb监听器实现页面静态化功能的小例子:图书管理系统

2019-04-06

JavaWeb中过滤器的三个小案例

Javaweb中过滤器的三个小案例:案例1:分IP统计网站的访问次数;案例2 粗粒度权限控制(根据用户名登陆);案例4、解决全站字符乱码(POST和GET中文乱码问题)

2019-04-04

JDBC学习(九)dbUtils原理代码实例

JDBC学习(九)dbUtils原理代码实例,包含三个demo:正常C3P0数据库池对数据库的增删改查操作;自己实现dbutils对数据库实现增删改查操作;使用apache的工具类dbutils对数据库增删改查操作。

2019-03-29

验证码登陆小实例(二)项目源码

实现简单的注册登陆,用户数据保存在user.xml文件中。其中注册有验证码验证

2019-03-23

java多款中英文技术文档

包含j2ee14、1.5、6.0中文版; j2SE5.0、6.0; j2ME2.5、

2019-03-22

Android模仿qq滑动删除聊天记录

模仿qq消息列表删除功能,向左滑动带出删除按钮,点击删除可以实现删除。

2019-03-15

httpsession实现验证码登录小实例

应用httpsession实现一个简单的验证码登录小实例,其中验证码生成工具代码可以积累使用

2019-01-22

android 应用案例开发大全(第三版)7\8章源码

因为上传文件大小的限制,本书上的案例源码分成每份2章上传,这是其中的7、8章章

2017-10-31

android 应用案例开发大全(第三版)5\6章源码

因为上传文件大小的限制,本书上的案例源码分成每份2章上传,这是其中的5、6章

2017-10-31

android 应用案例开发大全(第三版)1\2章源码

因为上传文件大小的限制,分成每份2个章节上传。这是1、2章节的案例源码

2017-10-31

Colors v2.1.0.5 Beta

可以获取图片颜色的准确值,方便android开发人员在界面开发

2017-10-29

空空如也

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

TA关注的人

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