自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring入门学习

spring 入门学习,bilibili狂神说笔记

2023-12-07 15:01:36 995

原创 Java并发编程

文章目录线程和进程并发的优缺点优点缺点线程的安全性以及解决办法线程和进程并发的优缺点优点硬件的单元计算能力提升受限;硬件上提高了CPU的核数和个数,并发编程可以提升CPU的计算能力的利用率提升程序的性能,如响应时间、吞吐量、计算机资源使用率等并发程序可以更好地处理复杂业务,对复杂业务进行多任务拆分,简化任务调度,同步执行任务缺点Java 中的线程对应是操作系统级别的线程,线程数量控制不好,频繁的创建、销毁线程和线程间的切换,比较消耗内存和时间。容易带来线程安全问题。如线程的可见性、有

2023-06-13 15:14:04 445

原创 EasyExcel的使用

文章目录导出导入参考——使用EasyExcel分页导出与导入大量数据、EasyExcel导出基础流程package com.easyexcel.util;import com.alibaba.excel.EasyExcel;import com.alibaba.excel.util.CollectionUtils;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletRespon

2021-09-15 16:39:57 336

原创 Redis学习笔记

Redis为什么高性能从数据库读数据过程很慢==从硬盘上读取从缓存中读取数据速度相当快==直接操作内存高并发直接操作缓存能承受的请求远远大于直接访问数据库缓存本地缓存自带的map或guava轻量以及快速生命周期随着jvm的销毁而销毁每个实例各自保存一份缓存,缓存不具有一致性分布式缓存redis和memcached各实例共用一份缓存数据,缓存具有一致性需要保持服务的高可用Redis设置过期时间使用redis时,可以指定相关key的存活时间。定期删除red

2021-09-07 00:13:25 169

原创 分布式笔记

SpringCloud分布式系统集中式系统:单体应用,所有的程序、功能、模块都集中到一个项目中,部署在一台服务器上。分布式系统:把程序、功能拆成不同的子系统,部署在多台服务器上,每个应该专职与某一方面的功能,各应用相互调用完成业务。微服务系统微服务架构属于分布式架构的范畴。优缺点每个服务独立开发和部署,各自更新不影响其他服务。更准确的监控服务的资源消耗,进行性能容量评估减少代码冲突、代码的重复,逻辑流程更加清晰,维护扩展更加容易。可以使用不同编程语言进行开发。增加了系统维护和部署

2021-08-20 17:04:49 106

原创 MG实习日记

8.17前后端参数当后端接口为GET时,参数可以直接用url类型。当为POST/PUT/DELETE时,参数用JSON包装起来@RequestBody:前端传参必须为JSON格式。@RequestParam:表示必须要传的参数,一般不用于自定义对象。用该注解修饰Integer,如果前端传参为null,则会报错@Param@Valid时间DATE问题在对象日期上添加注解,@DateTimeFormat来控制入参,@JsonFormat来控制出参@DateTimeFormat(patt

2021-08-19 16:00:19 128

原创 Cookie和Session的生命周期

会话Cookie指没有设置setMaxAge的Cookie。此类Cookie在浏览器关闭的时候就消亡了持久Cookie通过cookie.setMaxAge()设置了自己的生命周期,直到过了时间才会消亡。SessionSession 是存放在服务器端的,类似于Session结构来存放用户数据。当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的

2021-05-24 17:13:20 1231

原创 JVM复习

文章目录JVM复习垃圾回收算法——分代收集算法Tomcat打破双亲委派机制强引用、软引用、弱引用、虚引用谈谈对OOM的认识深入分析编译原理逃逸分析通过一个类的全限定名获得此类的统一资源定位符并发MySQLJVM复习垃圾回收算法——分代收集算法Tomcat打破双亲委派机制强引用、软引用、弱引用、虚引用谈谈对OOM的认识深入分析编译原理逃逸分析通过一个类的全限定名获得此类的统一资源定位符并发MySQL...

2021-04-22 23:03:23 200

原创 ArrayList和LinkedList

文章目录LinkedList插入和删除真的比ArrayList快吗LinkedList插入和删除真的比ArrayList快吗LinkedList插入和删除真的比ArrayList快吗一般情况LinkedList插入和删除都比ArrayList快,比如直接在末尾插入。如果是在中间插入或删除,则首先要找到那个地方。LinkedList有个特点,如果在靠近开头或靠近末尾,它会自动选择从开头开始查找或者从结尾开始查找,这样就都挺快的。如果是在中间插入,LinkedList首先要遍历查到中间那个值,

2021-04-08 23:04:05 93

原创 排序算法总结以及刷题总结

文章目录二分查找插入排序二分查找看到有序就二分对半查找牛客:数字在升序数组中出现的次数分别用二分法找到第一次出现和最后一次出现的位置。插入排序先记住当前值,然后往前面遍历,遇到比现在值大的就往后挪,直到没有就把当前值放在那(因为是从第一个数字就开始,所以前面的都是排过序的)图解插入排序牛客:使基数位于偶数前面void StraightSort(int []arr,int len){ int tmp; int i; int j; for (i = 1;i < len

2021-04-02 15:41:15 120

原创 数组刷题练习

文章目录数字在升序数组中出现的次数将数组排成最小的数——数字在升序数组中出现的次数牛客原题统计一个数字在升序数组中出现的次数。分析:用二分法分别求出第一次出现和最后一次出现的位置。将数组排成最小的数——牛客原题——将数组排成最小的数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析:将大数放在小数后,比如a,b,如果ab大于ba,则a是大数,b是小数,要排

2021-03-24 10:30:07 89

原创 计网复习

文章目录TCP建立连接和释放连接过程DNS寻址过程负载均衡 反向代理模式的优点、缺点TCP建立连接和释放连接过程三次握手和四次挥手DNS寻址过程(1)检查浏览器缓存、检查本地hosts文件是否有这个网址的映射,如果有,就调用这个IP地址映射,解析完成。(2)如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。(3)如果没有,则查找填写或分配的首选DNS服务器,称为本地DNS服务器。服务器接收到查询时:如果要查询的域名包含在本地配置区域资源中,返回解析结果,查询

2021-03-18 16:31:17 226

原创 二叉树基本知识点

文章目录二叉搜索树二叉搜索树一种有序二叉树,如果根节点左子树不为空,则该左子树上的所有节点值都小于根节点的值,如果右子树不为空,则该右子树上的所有节点值都大于该节点的值。如果按中序遍历,则是一个从小到大的有序数组...

2021-03-17 23:33:41 643

原创 MySQL数据库索引

文章目录索引是什么索引的优缺点索引有哪些结构基本的索引类型索引是什么索引是对数据库表中一个或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构。索引类似于书的目录,允许数据库程序不需要扫描整个数据库就可以迅速的找到想要的数据索引是唯一的,创建索引可以允许指定单个列或多个列。问:什么样的字段适合建索引答:唯一、不为空、经常被查询的字段索引的优缺点索引加快了数据库的检索速度通过使用索引可以在查询过程中使用优化隐藏器,提高系统的性能建立索引需要时间且需要维护,进行插入、删除

2021-03-13 11:54:18 838

原创 MySQL数据库

三大范式第一范式(1NF):字段具有原子性,不可再分。所有关系型数据库都满足第一范式。第二范式(2NF):有唯一的属性列——主键。其他属性依赖于主键。第三范式(3NF):要求一个数据库表中不包含在其他表中已包含的非主键信息。B树和B+树两者区别B树,每个结点都存储key和data,所有结点组成这棵树,叶子结点指针为null,不包含任何关键字信息B+树,所有的叶子结点中包含了全部关键字信息以及指向含有这些关键字记录的指针,叶子结点依关键字的大小自小而大的顺序链接 。所有的非终端结点可以看成是索

2021-03-12 17:47:10 145

原创 JAVA中HashMap、HashTable和ConcurrentHashMap

文章目录

2021-03-10 17:58:50 366 2

原创 ==、equals和hashCode、Integer

==和!=比较的是对象的引用,所以只要对象不同即使值相同也是false,适用于基本类型。而equals()默认是比较引用,不能用于基本类型的比较,如果是自己定义的类,则需要重写equals方法。public static void main(String[] args) { String s1="abcd"; String s2="abcd"; String s3=new String("abc"); String s4=new Strin

2021-03-10 11:25:26 148 1

原创 JAVA集合框架基础

文章目录数组和集合的区别Collection接口Set集合HashSetLinkedHashSetTreeSetEnumSetList集合ArrayListLinkedListVectorStackQueueMap数组和集合的区别数组长度不可变化而且无法保存具有映射关系的数据;集合类用于保存数量不确定的数据和具有映射关系的数据。数组元素既可以是基本类型的值,也可以是对象。集合只能保存对象。Collection接口Collection接口常见方法boolean add(E e):确保包含指定元

2021-03-09 15:28:13 226 1

原创 二叉树刷题练习

文章目录重建二叉树重建二叉树力扣原题牛客原题题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列pre={1,2,4,7,3,5,6,8}和中序遍历序列 in={4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:前序遍历:根左右中序遍历:左根右所以根据前序遍历可以很快找到根节点【1】,并且可以在中序遍历中找到根节点的位置 in[3]。根据中序遍历特点,我们可以知道,根位置的左边[0,

2021-03-08 16:48:09 161

原创 抽象类、抽象方法和接口

文章目录抽象类和抽象方法接口抽象类与接口的区别抽象类和抽象方法关键字:abstract:由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类。抽象方法只有功能声明,没有方法体。抽象类可以包含抽象方法,也可以不包含抽象方法,抽象类可以有非抽象方法。——也就是说,抽象类中是可能有方法体的,只要那个方法不是抽象方法就行。抽象类不能被实例化,就是不能产生实例化对象,所以必须被继承才能使用。——也就是说,抽象类一定是一个父类。抽象类(abstract)一定不能和final同时使用。

2021-03-07 16:49:58 204 1

原创 重写(Override)和重载(Overload)

文章目录重写Overridesuper关键字重载Overload重写Override子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。参数列表必须相同,返回类型可以不同,但必须是父类返回值的派生类。重写方法不能抛出新的检查异常或比被重写方法声明更加宽泛的异常。访问权限不能比父类被重写方法低。父类的成员方法只能被他子类重写,如果不继承一个类,则不能重写该类的方法。声明为final的方法不能被重写。声明为static的方法不能被重写,但能被再次声明子类和父类在同一个包

2020-12-21 21:09:24 87 1

原创 servlet会话技术 cookie和session

HttpSession可以保存跨同一个客户 多个请求的会话状态相同客户,相同servlet,不同请求,不同线程,相同会话不同客户,相同servlet,不同请求,不同线程,不同会话相同客户,不同web应用,不同请求,不同线程,不同会话相同客户,同一个web应用,不同请求,不同线程,相同会话HttpSession在servletAPI中定义了代表会话的HttpSession接口,存放表示客户状态的信息。容器为每个HttpSession对象分配一个唯一的标识符,SessionIDCookie对

2020-12-21 21:08:16 282

原创 servlet生命周期和重点对象

Servlet名的映射的优点有助于改善应用的灵活性和安全性结构灵活性:隐藏了真实的目录结构,当目录发生更变时,无需费力的改动多处的路径安全性:用户不知道真实的目录结构,就难以绕过某些验证或页面来直接访问servlet...

2020-12-20 15:46:24 77 1

原创 请求与响应Request、Response

参考自 https://www.cnblogs.com/niceyoo/p/10614349.htmlhttps://blog.csdn.net/fanbaodan/article/details/84846872一、Web服务器,浏览器,代理服务器我们在输入 URL 后,我们的浏览器给Web服务器发送了一个 Request, Web 服务器接到Request 后进行处理,生成相应的 Response,然后发送给浏览器, 浏览器解析 Response 中的 HTML,这样我们就看到了网页。T.

2020-12-20 15:44:48 223

原创 String类型new与不new的区别

附:String用new与不new的区别String str1=“ABC”:可能会创建一个或不创建对象:如果常量池中有“ABC”,则不创建对象,直接指向那个地址,如果没有,则在常量池中创建一个新的值为“ABC”的对象。String str2 = new String(“ABC”):一定会创建一个对象,可能创建两个对象:先在堆中开辟一个空间,将那个空间的地址给str2(创建了第一个对象),然后取常量池中,看有无“ABC”,如果有,则将这个地址给堆中开辟的空间,如果没有,则新建一个值为“ABC”的对象(创建

2020-12-07 22:07:33 3129

原创 SpringBoot项目Test类中调用service报空指针异常

引用自 https://www.cnblogs.com/yuqingya/p/12875461.html简单来说就是要在里面自动注入Service,加上自动注入@Autowired注解。然后在测试类上面要绑定启动类@SpringBootTest(classes = TestandroidApplication.class)@RunWith(SpringRunner.class)...

2020-12-02 17:21:40 2558 1

原创 web.xml中的init-param变量和context-param变量

一、变量这个是放在servlet里面的,只有此servlet可以访问<servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.august.servlet.LoginServlet</servlet-class> <init-param> <param-name>a

2020-11-29 00:02:02 3224 5

原创 java 操作符(运算符)

目录优先级赋值位运算逻辑运算短路条件运算符(三元运算符)instance of 运算符直接常量类型转换截尾和舍入运算规则本文部分引自菜鸟教程优先级先乘除后加减‘+’:如果前后紧跟String类型的元素时,则进行字符串连接操作(尝试将另一个非String类型的元素转换为String) 且‘+’操作符优先级大于‘==’ public static void main(String[] args) { int a=2; int b=3; int c=4

2020-11-24 11:13:39 227

原创 Java split函数

目录split函数的使用modelsplit函数的使用Java中的 split 函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回。String str="1234@abc"; String[] a = str.split("@"); System.out.println("处理结果: "+a[0]+","+a[1]); //输出的是: 处理结果: 1234,abc 1、如果用“.”作为分隔的话,必须是如下写法,String.split("\."),这样才能正

2020-11-22 20:01:39 12692 3

原创 java一切皆是对象,类和对象,面向对象编程

类和对象基础笔记面向对象的程序设计思想类和对象的不同构造方法无参构造方法有参构造方法构造块静态构造块实例构造块构造方法与构造块的关系初始化基本数据类型变量和引用类型变量的区别面向对象的程序设计思想就是要使用对象进行程序设计,对象有自己独特的特性、状态和行为。对象的状态由具有当前值的数据域,又称为属性,的集合构成。状态定义对象是什么对象的行为由方法的集合定义的。行为定义对象做什...

2020-11-07 16:14:01 236 2

原创 前后端分离项目交互时参数传递问题

文章目录一、@Controller、@RestController和@ResponseBody二、@GetMapping、@PostMapping和@RequestMapping一、@Controller、@RestController和@ResponseBody1、@Controller优先返回jsp,html等页面。如果前面用了这个,然后需要返回的是index字符串(JSON、XML等数据类型),则需要在每个方法体里面添加@ResponseBody注解,@ResponseBody注解可以标记方法体不

2020-10-25 14:51:02 1079

原创 java多线程基础知识,创建,状态、线程安全、死锁,通信

文章目录一:五种基本状态1、新建状态*new*2、就绪状态*Runnable*3、运行状态*Running*4、阻塞状态*Blocked*5、等待阻塞二、线程的创建三、线程转换四、引起阻塞的几种方法1、join()2、sleep()3、后台线程4、改变线程的优先级setPriority()5、线程让步yield()五、线程安全问题1、同步方法2、同步代码块3、Lock对象同步锁六、死锁1、每一线程都按照相同的顺序去访问共同想要的资源。2、线程通信的方法七、线程通信1、synchronized机制2、wait

2020-10-23 17:55:32 184

原创 SpringBoot入门,yaml配置,自动装配原理,Thymeleaf模板

目录yaml配置文件自动装配静态资源首页图标yaml配置文件yaml比properties要更好一点properties要写多个配置文件,但是yaml可以只写一个,把所有的都放在一个文件里自动装配静态资源这些都是原目录首页在templates目录下的所有页面,只能通过controller来跳转图标即这个东西,新版本好像已经没有了,以前旧版本还有存放到这些目录里面,要把原来的默认值改成false...

2020-10-15 11:41:47 838 1

原创 js javaScript(1)==和=== 匿名函数

目录介绍== 和 ===介绍== 和 ===window是个顶级对象,所以不需要说明。这些都是window对象的方法,可以省略window.

2020-05-18 15:03:12 279

原创 css div 文本属性 列表属性 边框

目录1111span是行元素,不会自动换行p,div是块状元素,会自动分行用font的话里面的标签顺序不能乱。

2020-05-16 16:45:58 224

原创 css、html 表单form详细 模拟百度搜索框 表单域

目录模拟百度搜索框模拟登陆框 method(get、post)enctype属性application/x-www-form-urlencoded默认编码方式multipart/form-datatext/plain表单域maxlength和sizevalueplaceholderreadonly和diasbled单选按钮radio复选框checkbox隐藏域hidden多行文本textarea列...

2020-03-08 18:29:53 1812

原创 HTML table、caption、colgroup、frameset标签,框架iframe target

目录框架集标签frameset标签和frame标签框架的嵌套内联框架iframetarget框架集标签frameset标签和frame标签框架的集合成为框架集标签:framesetframe用于框架集里面的各种框架如果用了frameset标签,就不需要用body标签了。frame标签:<!--rows这样代表把页面分为三行,第一行60像素,最后70,中间为剩余部分-->...

2020-03-08 13:54:08 292

原创 css的div,span,img,a,map等一些常见标签使用 回顶设置

一些快捷方式<body> <h>h标签是标题</h> h$*3>{标题$} <!--$代表数字,*3代表h标签出现三次--></body><!--然后加tap键,结果如下--><body> <h>h标签是标题</h> <h1>标题1&lt...

2020-02-22 22:06:31 688

原创 sublime text3 报please wait a bit while pyV8 binary或者error while loading pyv8 binary

今天自己刚装了sublime text3,安装pyv8的时候查找了一些资料,结果发现还是不行,有时候还老是报错error while loading pyv8 binary,这里讲讲我的解决办法。首先你得已经安装好了Package Control和Emmet,没有的话自己去找教程然后pyv8没安装成功的首先(如果已经下好了可省略这个步骤)去官网:https://github.com/emme...

2020-02-21 22:58:12 697

原创 Java基础笔记-包装类和原生类

因为学校课堂正在学Java,距离自己刚接触Java也过去一年了,所以也正好作为复习,写了这个笔记Java中的包装类和原生类型一、基本类型和包装类的介绍8个基本类型(也称原生类型):byte, short, int, long, float, double, char, boolean对应的8个包装类:Byte, Short, Integer, Long, Float, Double, Ch...

2020-02-21 16:42:13 222

空空如也

空空如也

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

TA关注的人

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