自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux curl get多参数之坑

正常使用:url 为 http://localhost:8080/xxx?a=1&b=2&c=3web形式下访问url地址,使用$_GET是可以获取到所有的参数linux下:curl http://localhost:8080/xxx?a=1&b=2&c=3$_GET只能获取到参数a原因: 在linux系统中& 会使进程系统后台运行,必须对&进行下转义才能$_GET获取到所有参数curl http://localhost:8080/xxx?a=1

2021-08-23 10:48:22 205

原创 ConcurrentMap.putIfAbsent()使用

目录1.简单介绍2.使用1.简单介绍putIfAbsent(key, value)如果(调用该方法时)key 已经存在,则返回旧的 value 值,且不会覆盖已有值。如果调用时 map 里 key 不存在 ,返回一个 null 值,并设置value//类似于 V v = map.get(key); if (v == null) v = map.put(key, value); return v;2.使用//使用下面代码段,保证多线程下的安全性ConcurrentHashMap

2021-08-03 10:32:02 741

转载 常用正则表达式公式总结

转载地址目录1.校验数字的表达式2.校验字符的表达式1.校验数字的表达式数字:^[0-9]\*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]\*)$非零开头的最多带两位小数的数字:^([1-9][0-9]\*)+(\.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$有两位小数的正实

2021-07-30 11:18:17 217

原创 滑动窗口问题

目录1.最小覆盖子串1.最小覆盖子串描述给出两个字符串 SS 和 TT,要求在O(n)O(n)的时间复杂度内在 SS 中找出最短的包含 TT 中所有字符的子串。例如:S ="XDOYEZODEYXNZ"S=“XDOYEZODEYXNZ”T =“XYZ"T=“XYZ”找出的最短子串为"YXNZ”“YXNZ”.注意:如果 SS 中没有包含 TT 中所有字符的子串,返回空字符串 “”;满足条件的子串可能有很多,但是题目保证满足条件的最短的子串唯一。import java.util.*;

2021-07-29 09:54:25 138

原创 全排列问题

目录1.字符串的全排列1.字符串的全排列包含重复字符,以任意顺序返回这个字符串列表import java.util.*;public class Solution { ArrayList<String> res=new ArrayList<>(); char[] c; public ArrayList<String> Permutation(String str) { c=str.toCharArray();

2021-07-20 09:49:33 72

原创 Java基础---二叉树构建

目录二叉树构建1.完全二叉树2.二叉搜索树二叉树构建1.完全二叉树2.二叉搜索树

2021-07-09 16:37:50 120

原创 mysql 存在就(不)更新,不存在就增加

总结一些在业务需求中,用到的mysql语句(不定时更新)1.on duplicate key update存在就update,不存在就insert在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的某行的惟一索引或主键重复,就新;否则就插入。insert into job(job_id,job_priority) values(jobId,jobPriority) on duplicate key update jo

2021-07-08 17:20:07 1144

原创 TopK问题总结

目录总结1.寻找第K大2.最小的K个数总结一般有三种解法,排序、堆、快排思想1.寻找第K大描述: 给定一个整数数组a,同时给定它的大小n和要找的K(1<=K<=n),请返回第K大的数(包括重复的元素,不用去重),保证答案存在。import java.util.*;public class Solution { public int findKth(int[] a, int n, int K) { // write code here retu

2021-07-07 09:39:25 91

原创 Java基础-排序算法总结

目录排序算法总结1.快速排序总结并不全面,会在复习过程中,动态更新排序算法总结1.快速排序import java.util.*;public class Solution { public int[] Sort (int[] arr) { // write code here quickSort(arr,0,arr.length-1);//快速排序入口 return arr; } public void quickS

2021-07-05 11:17:29 79

原创 SpringBoot学习总结(三)

目录一、请求参数处理1.rest使用与原理2.请求映射原理二、普通参数与基本注解1.注解三、参数处理原则(原理1.HandlerAdapter2.执行目标方法3.参数解析器4.参数返回值处理器5.解析目标方法每一个参数一、请求参数处理1.rest使用与原理//可以根据设置method限制请求的方法类型@RequestMapping(value = "/user",method = RequestMethod.PUT)但表单< form > 只能提交POST和GET请求,如何提交DE

2021-02-25 10:52:25 172

原创 Java并发(四)---无锁

目录一、CAS & volatile二、原子整数二、原子引用1.ABA问题2.AtomicStampedReference3.AtomicMarkableReference三、原子数组四、字段更新器五、原子累加器1.伪共享2.LongAdder源码add方法longAccumulate方法sum方法六、Unsafe1.Unsafe CAS操作一、CAS & volatileJUC提供的多个类,类中的方法内部并没有用锁来保护共享变量的线程安全。而是采用了CAS(compareAndSet

2021-02-24 16:46:18 196

原创 SpringBoot学习总结(二)

目录一、配置文件1.properties2.yaml基本语法数据类型二、功能分析1.静态资源访问2.支持欢迎页3.自定义Favicon4.静态资源配置原理一、配置文件1.properties2.yamlYAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。基本语法key: value(kv之间有空格)大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格(idea中可以是tab,因为在解析时会把tab替换为空格缩进的空

2021-02-23 21:26:44 110

原创 SpringBoot学习总结(一)

目录一、SpringBoot特点1.依赖管理2.自动配置二、容器功能1.组件添加2.原生配置文件引入3.配置绑定三、自动配置原理简述1.引导加载配置类2.按需加载配置一、SpringBoot特点1.依赖管理pom.xml<!--创建项目后,在pom配置文件中看到我们的父项目--><!--父项目--><parent> <groupId>org.springframework.boot</groupId> <artif

2021-02-23 16:42:43 117

原创 Java并发(三)---内存

目录一、Java 内存模型二、原子性二、可见性1.volatile2.CPU缓存结构一、Java 内存模型JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。JMM 体现在以下几个方面原子性 - 保证指令不会受到线程上下文切换的影响可见性 - 保证指令不会受 cpu 缓存的影响有序性 - 保证指令不会受 cpu 指令并行优化的影响二、原子性Java并发(二)—Monitor二、可见性1.vo

2021-02-23 12:54:38 241

原创 多线程设计模式之犹豫模式

目录一、简述二、实现一、简述Balking (犹豫)模式用在一个线程发现另一个线程或本线程已经做了某一件相同的事,那么本线程就无需再做了,直接结束返回。二、实现@Slf4j(topic = "c.MonitorService")class MonitorService { // 用来表示是否已经有线程已经在执行启动 private volatile boolean starting; public void start() { log.info("尝试启动监

2021-02-23 11:24:43 114 1

原创 Spring注解学习总结---IOC部分

目录一、组件注册1.@Configration & @Bean2.@ComponentScan3.@Scope & @Lazy4.@[email protected]二、Bean的生命周期三、属性赋值四、自动装配1.@Autowired2.@Resource & @Inject3.Aware接口4.@Profile参考:https://www.bilibili.com/video/BV1gW411W7wy一、组件注册1.@Configration

2021-02-23 10:14:35 167 1

原创 Java并发(一)---Java线程

目录一、创建和运行线程1.使用Thread创建使用Runnable配合Thread3.FutureTask 配合 Thread二、线程运行原理1.栈与栈帧2.上下文切换三、常用方法1.start() & run()2.sleep() & yield()3.join()4.interrupt()四、主线程和守护线程一、创建和运行线程1.使用Thread创建// 创建线程对象Thread t = new Thread() { public void run() { // 要执行的任

2021-02-22 16:36:55 66 1

原创 Java并发(二)---Monitor

目录一、共享数据带来的问题二、synchronized使用1.基本使用2.synchronized的位置三、变量的线程安全分析一、共享数据带来的问题@Slf4j(topic = "c.Test1")public class Test1 { static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread((

2021-02-22 16:35:30 248 2

原创 多线程设计模式之生产者/消费者模式

目录一、简述二、实现一、简述异步模式之生产者/消费者:不需要产生结果和消费结果的线程一一对应消费队列可以用来平衡生产和消费的线程资源生产者仅负责产生结果数据,不关心数据该如何处理,而消费者专心处理结果数据消息队列是有容量限制的,满时不会再加入数据,空时不会再消耗数据JDK 中各种阻塞队列,采用的就是这种模式二、实现//Messageclass Message { private int id; private Object message; public M

2021-02-22 14:57:59 346

原创 多线程设计模式之保护性暂停

目录一、简介二、实现三、带超时版实现一、简介同步模式之保护性暂停,即 Guarded Suspension,用在一个线程等待另一个线程的执行结果。有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列JDK 中,join 的实现、Future 的实现,采用的就是此模式因为要等待另一方的结果,因此归类到同步模式二、实现class GuardedObject { private Object re

2021-02-22 12:54:28 125

原创 多线程设计模式之两阶段终止模式

目录一、简述二、用两阶段终止模式终止监控操作1.利用 interrupted2.利用停止标记一、简述Two Phase Termination:简单来说就是将终止过程分成两个阶段,其中第一个阶段主要是线程 T1 向线程 T2发送终止指令,而第二阶段则是线程 T2响应终止指令(在这之前先进行处理操作。例如:释放锁,释放资源等)。而不是使用线程对象的 stop() 方法强制停止线程。二、用两阶段终止模式终止监控操作实际工作中,需要有监控系统(监控线程)动态的检测被监控系统。监控系统发送采集指令从被监控系

2021-02-21 11:37:16 259

原创 SpringMVC学习总结(一)

目录一、MVC简介二、SpringMVC简介1.概述2.执行原理三、SpringMVC简单实现1.xml配置文件一、MVC简介MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。MVC主要作用是降低了视图与业务逻辑间的双向偶合。Model:包括Value Object(数据Dao) 和 服务层(行为Service),提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。View:负责进行模型的展示,用户界面Controller:接收请求

2021-02-16 16:42:18 304

原创 JavaWeb---JSON & AJAX

目录一、JSON简介二、JSON在JavaScript中的使用1.JSON的定义2.JSON的访问3.JSON的常用方法三、JSON在Java中的使用1.javaBean转换2.List转换3.Map转换四、AJAX简介五、原生AJAX请求六、jQuery中的AJAX请求1.$.ajax 方法2.$.get 方法和 $.post 方法3.$.getJSON 方法一、JSON简介JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器

2021-02-04 16:18:16 98

原创 JavaWeb---Filter基础总结

目录一、Filter简介二、简单实现三、Filter生命周期四、FilterConfig类五、FilterChain过滤器链六、Filter的拦截路径1.精确匹配2.目录匹配3.后缀名匹配七、参考一、Filter简介Filter 过滤器它是JavaWeb 的三大组件之一。三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器Filter 过滤器它是JavaEE 的规范。也就是接口Filter 过滤器它的作用是:拦截请求,过滤响应。二、简单实现public cla

2021-02-04 15:26:25 87

原创 MyBatis学习总结(一)

目录一、MyBatis简介二、简单实现三、全局配置文件1.properties标签2.settings标签3.typeAliases标签4.environments标签5.databaseIdProvider6.mappers标签四、sql配置文件(mappers)1.mapper标签2.sql映射文件对接口方法参数的处理方法1)单个参数2)多个参数命名参数使用pojo使用Map使用TO3)参数封装原理(源码分析)4)${}和#{}3.insert、update、delete标签3.select标签1)re

2021-02-04 13:14:48 415

原创 JavaWeb---Cookie & Session

目录一、Cookie1.什么是Cookie2.Cookie的创建3.服务器获取Cookie4.Cookie值的修改5.Cookie生命周期控制6.Cookie有效路径的设置二、Session1.什么是Session2.Session的创建和获取3.Session域数据的存取4.Session生命周期控制5.Session实现的基本原理三、参考一、Cookie1.什么是CookieCookie 是服务器通知客户端保存键值对的一种技术。客户端有了Cookie 后,每次请求都发送给服务器。每个Cook

2021-01-31 16:37:20 104

原创 MySQL连接异常

1.Could not create connection to database server.解决:MySQL8.0版本需要更换驱动为“com.mysql.cj.jdbc.Driver”。mysql-connector-java也推荐更新到8.0的版本。https://dev.mysql.com/downloads/connector/j/包括下面的错误,更改到新版本的connector好像都可以解决。2.Unknown initial character set index ‘255’ re

2021-01-31 15:14:12 86

原创 JavaWeb---JSTL基础学习总结

目录一、什么是JSTL二、JSTL的使用(core核心库使用)1.2.3. 4.一、什么是JSTLJSTL 标签库全称是指JSP Standard Tag Library JSP 标准标签库。EL 表达式主要是为了替换jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp 页面变得更佳简洁。JSTL 由五个不同功能的标签库组成。在jsp 标签库中使用taglib 指令引入标签库。<%@ taglib prefix="c" uri="http://java.sun.co

2021-01-31 15:01:12 133

原创 JavaWeb---EL表达式基础学习总结

目录一、什么是EL表达式二、EL表达式搜索域数据的顺序三、EL表达式输出数组、List、Map、Bean四、EL表达式---运算1.关系运算2.逻辑运算3.算术运算4.empty运算5.三元运算6."."运算和[]运算五、EL表达式的11个隐含对象1.pageContext对象2.四个特定域对象3.其他隐含对象一、什么是EL表达式EL 表达式的全称是:Expression LanguageEL 表达式主要是代替jsp 页面中的表达式脚本在jsp 页面中进行数据的输出。因为EL 表达式在输出数据的时候

2021-01-31 12:25:04 146 1

原创 Spring5学习总结(二)

目录一、JdbcTemplate1.什么是JdbcTemplate2.JdbcTemplate使用(1)配置(2)JdbcTemplate多种操作二、事务1.事务的概述2.Spring实现事务(1)完全注解实现(2)使用xml配置文件实现一、JdbcTemplate1.什么是JdbcTemplateJdbcTemplate是Spring框架对JDBC进行的封装,以便更方便的实现对数据库的操作引入jar包(mysql-connector包要为最新的,否则会产生冲突报错):2.JdbcTemplat

2021-01-31 11:26:24 82

原创 Spring5学习总结(一)

目录一、Spring二、Spring简单案例三、IOC1.IOC概念和原理2.IOC容器3.IOC操作Bean管理(1)基于xml配置文件null注入特殊符号注入外部bean注入(属性为对象)内部bean注入级联赋值数组、List、Map注入FactoryBeanbean的作用域bean生命周期(重点)xml自动装配(2)基于注解(常用)什么是注解Spring提供的注解四、AOP1.AOP概念2.AOP底层原理3.AOP术语4.AOP操作(0)切入点表达式(1)基于xml配置文件实现(2)基于注解实现一、

2021-01-26 11:34:53 125

原创 JavaWeb---CSS基础学习总结

目录一、CSS简介二、CSS语法规则三、CSS和HTML结合使用1.方式一2.方式二3.方式三四、CSS选择器1.标签名选择器2.id选择器3.class选择器4.组合选择器五、常用样式1. 字体颜色2.宽度&高度3.背景颜色4.字体样式5.边框6.位置7.超链接下划线设置8.表格边框9.列表六、参考一、CSS简介CSS 是「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。二、CSS语法规则选择器:浏览器根据“选择器”决定受CSS 样式影响的HTM

2021-01-23 10:38:25 136

原创 JaveWeb---Html基础学习总结

目录一、HTML简介二、HTML书写规范三、HTML标签介绍四、常用标签1.font字体标签2.特殊字符3.标题标签4.超链接5.列表标签6.img标签7.表格标签8.跨行跨列表格9.iframe框架标签(内嵌窗口)10.表单标签11.其他标签五、参考一、HTML简介Hyper Text Markup Language (超文本标记语言) 简写:HTMLHTML通过标签来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何

2021-01-22 22:42:30 134

原创 JavaWeb---Servlet基础学习总结

目录一、Servlet技术1.什么是Servlet2.实现3. URL到Servlet的访问过程4.Servlet的生命周期5.Get和Post请求的分发处理6.HttpServlet7.Servlet类的继承体系二、ServletConfig类三、ServletContext类1.什么是ServletContext2.ServletContext类作用四、Http协议1.请求报文Get请求Post请求两种请求的分类2.响应报文3.MIME类型说明五、HttpServletRequest类1.HttpSer

2021-01-22 21:41:43 146

原创 LeetCode 1584. 连接所有点的最小费用(Kruskal 算法、并查集)

题目:给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例一:输入:points = [[0,0],[2,2],[3,10],[5,2],[7,0]]输出:20解释:

2021-01-20 20:21:32 222

原创 XML基础学习总结

目录一、简介二、xml语法及规则三、dom4j解析技术一、简介xml:可扩展的标记性语言xml的作用:用来保存数据,且这些数据具有自我描述性项目或模块的配置文件作为网络传输数据的格式(现在JSON为主)二、xml语法及规则<?xml version="1.0" encoding="UTF-8"?><!-- xml 声明version 是版本的意思encoding 是编码--><books> <!-- 这是xml 注释--> <b

2021-01-18 16:12:00 138 2

原创 jsp:useBean找不到类(class路径设置)

解决使用的javaBean类必需放在具体的包下,而不能缺省放置例:如果我想使用TestBean类,就可以把它放入test包下(不能只放在src目录下,必需放在某个包中!)jsp中这么引用:<jsp:useBean id="bean" class="test.TestBean"/>...

2021-01-05 14:26:09 2611 1

原创 操作系统:导论及操作系统结构

目录一、导论1.操作系统的定义2.计算机系统的结构3.计算机系统组织1.启动(booting)2.中断3.I/O结构4.存储结构4.计算机系统的体系结构1.单处理系统2.多处理系统5.操作系统的结构及操作1.操作系统结构2.操作系统的操作6.操作系统管理1.进程管理2.内存管理3.存储管理7.其他计算机系统二、操作系统结构1.系统调用2.系统程序一、导论1.操作系统的定义操作系统是计算机用户与计算机硬件之间运行的一个程序。通常狭义上被称为内核(Kernel)程序,其他程序则为系统程序和应用程序。它是

2021-01-04 10:52:21 314

原创 操作系统:进程

目录一、进程概念1.进程2.进程状态3.进程控制块二、进程调度1.调度队列2.调度程序3.上下文切换三、进程运行1.进程创建2.进程终止四、进程间通信1.共享内存系统2.消息传递系统五、客户机/服务器通信1.Socket套接字2.远程过程调用(RPC)3.远程方法调用4.管道一、进程概念1.进程进程:进程是活动的实体,是执行中的程序。当一个可执行文件被加载到内存时,这个程序就成为进程。程序是被动的实体,如存储在磁盘上的包含一系列指令的文件内容,进程是活动的实体。作业是任务的一个实例。进程在内存中

2021-01-01 16:43:00 474

原创 操作系统:大容量存储结构

目录一、磁盘概述二、磁盘结构1.磁盘结构2.磁盘类型3.磁盘访问时间三、磁盘调度及调度算法1.FCFS调度2.SSTF调度3.SCAN调度4.C-SCAN调度5.LOOK调度和C-LOOK调度6.N-Step-SCAN调度7.FSCAN调度8.调度算法的选择四、磁盘管理1.磁盘格式化一、磁盘概述磁头附着在磁臂上,磁臂将所有磁头作为一个整体而一起移动。盘片的表面逻辑地分为圆形磁道,再细分为扇区。同一磁臂位置的磁道集合形成了柱面。二、磁盘结构1.磁盘结构现代磁盘驱动器可以看做一个一维的逻辑块的数

2020-12-31 16:07:25 591

空空如也

空空如也

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

TA关注的人

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