自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql5.6安装(解压文件)

先配置环境变量(可以在命令行敲mysql -V来验证是否安装成功,如果出现版本号就是安装成功了)出现:Service successfully installed就是成功了。配置配置文件my.ini,没有的话就新建一个,将下列内容复制进去;如果没有配置环境变量的话,要在命令行中先进入MySQL的bin目录。输入 : mysql -uroot -p 进行登录。接着输入:mysql -install。再输入:net start mysql。出现:mysql启动成功就是可以了。​ exit 退出。

2023-09-08 12:45:07 242 1

原创 springboot整合ShardingSphere-JDBC

sharding-JDBC是一款分库分表可以实现读写分离的轻量级Java框架,在Java的JDBC 层提供的额外服务。它使用客户端直连数据库,以jar 包形式提供服知,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM框架。•适用于任何基于 JDBC 的ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC;

2023-08-24 23:45:32 657

原创 刷题日常day2

2.字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节, 置0表示当前字节为最后一个字节。RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高。如果成功找到,以单个空格分割,从小到大输出两个素数,分解失败,请输出-1 -1。现有一字符串仅由 ‘(‘,’)’,‘{‘,’}’,’[‘,’]’六种括号组成。一个只包括 ‘(‘,’)’,‘{‘,’}’,’[‘,’]’的字符串。1.编码时7位一组,每个字节的低7位用于存储待编码数字的补码。使得待编码的数字越小。

2023-08-14 12:09:59 230

原创 树—详细讲解

为什么需要树这样数据结构、1.数组存储方式分析优点:通过下表方式访问元素,速度快。对于有序数组没还可以使用二分查找提高检索速度。缺点:如果要检索某一个具体值,效率比较低下2.链式存储方式分析优点:在一定程度上对数组存储方式进行优化(比如插入一个节点,只需要将插入节点,链接到链表当中可删除的效率也很好)。缺点:在进行检索时,效率仍然比较低,比如(检索某个数值,需要从头结点开始遍历)3.树存储方式分析能提高数据存储,读取的效率,比如利用二叉排序树,既可以保证数据的检索速度。

2023-08-14 09:55:15 116

原创 刷题日常day1

newspaper内容中的每个字符串字母顺序可以任意调整,但必须保证字符串的完整性(每个字符串不能有多余字母) .1 < N < 100,但为了增加文章的混淆度,只需满足每个单词中字母数量一致即可,不关注每个字母的顺序。电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字减下来,剪拼成匿名信。.newspaper和anonymousLetter的字符串由小写英文字母组成,且每个字母只能使用一次。第一行输入newspaper内容,包括1-N个字符串,用空格分开。

2023-08-11 15:47:04 70

原创 优先队列PriorityQueue总结

add();队尾插入元素,调整堆结构,失败时抛异常offer();队尾插入元素,调整堆结构,失败时抛falseremove();根据value值删除指定元素,调整堆结构,失败时抛异常poll();删除队头元素,调整堆结构,失败时抛nullelement();获取队列头元素peek();获取队列头元素clear();清空队列size();获取队列元素个数contains();判断队列中是否包含指定元素isEmpty();判断队列是否为空。

2023-08-04 11:06:22 230

原创 什么是三高(架构设计),宕机,假死,优化

*优化:**一个是从架构方面去优化(京东),一个是从代码方面去优化(针对接口而言):多线程,中间件,业务优化。**高扩展:**oop编程(面向对象编程),针对核心业务避免使用if-else编程。**服务假死:**服务暂时接受不了多余的web请求(HTTP请求)**宕机:**不仅仅是服务挂掉(很少出现),主要是网络波动。**三高(架构设计)****:**高可用,高并发,高性能。

2023-04-02 09:03:49 133

原创 BIO NIO AIO的区别

BIO、NIO和AIO相当于多线程升级版的socket框架NIO和AIO可以一个线程处理多个请求,BIO是一个线程只能处理一个请求组,其他的请求需要等待NIO就相当于是轻量级锁,进行一个轮询。AIO相当于是一个重量级锁,操作系统先完成了再通知服务器用其启动线程进行处理同步阻塞I/O(Block IO)服务器实现模式为每一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(i

2022-12-06 11:00:58 426

原创 编程设计模式详解

●开闭原则​ 对扩展开放,对修改关闭,在代码层面而言就是在你有新的需求的时候,你应当增加新的对象来实现,而不是修改原来的对象​ 继承●里氏替换原则​ 基类可以出现,那么子类一定也能行接口隔离原则用多个专门的接口比使用单一的总接口要好。一个类对另外一个类的依赖性应当是建立在最小的接口上的;一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。举个栗子:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接

2022-12-06 11:00:14 677

原创 微服务学习心得

架构:系统一旦多了,技术的重复性就会提高,产生大量的重复代码。所以假设当一个团队A做出一个系统后,需要另一个团队B进行交接分析,团队A就需要写文档去交接,B团队需要再去分析业务,重复开发。所以A团队开发某一部分功能的接口和文档(微服务),其他团队就只需要按照文档进行调用接口,省去了大量操作和时间成本。其中微服务就是将项目按照要开发的功能拆分为不同的项目,从而负责不同功能的研发人员就可以在自己的代码项目上进行开发,从而解决了大家无法在开发阶段并行开发的苦恼。到了软件交付阶段,将所有这些开发阶段并行开发的项目集

2022-12-05 16:26:43 1325

原创 什么是Tomcat

用tomcat启动网站,实际就是将网站与tomcat合成一个项目。servlet没有主方法,借助tomcat的主方法来启动,tomcat的运转流程tomcat分成了两个阶段,分别是启动阶段和接收转发阶段加载servlet信息:定义一个hashmap结构的容器,通过工具类扫描扫描webapp目录下的所有子目录和子文件,拿到所有的java类Class类信息之后会 利用class.forName()方法去for循环遍历每一个Class类信息,然后从Class类信息里去获取注解信息,拿到注解信息之后看哪些java的

2022-12-05 16:25:09 434

原创 八大排序算法总结

冒泡排序 O(N^2)就是把一轮排序把每个相邻的数进行大小比较,就是第一个数和第二个数比较,然后交换,第二个数再和第三个数比较,然后交换,就这么两两交换到最后(n-1次)。如果是按照升序来排序的话,然后这样的话一轮排序下来,最大的一个数就排到了最后面,每一轮下来都是最大的一个数都会被排到最后面,这样就排好序了**(排n轮)**选择排序O(N^2)就是一轮排序从第一个数到最后一个数中选出一个最小的数(这里也是个比较的过程),然后和第一个数交换,然后第二轮从第二个数到最后一个数中选一个最小的数和第二个数交换,每

2022-12-05 16:24:45 356

原创 操作系统学习心得

单核CPU一个时刻只能做一件事,基准速度指的是单核的基准速度,句柄是变量四核CPU一个核一个时刻只能执行一个线程,所以CPU执行任务的时候是在快速切换任务,对应着分时操作系统在没有多核处理器的时候,一个物理CPU只能有一个物理内核,有了多核技术,一个物理CPU可以有多个物理内核,可以把一个CPU当作多个CPU使用,即逻辑CPU。没有开启超线程时,逻辑CPU的个数就是总的CPU物理内核数。开启超线程后,逻辑CPU的个数就是总的CPU物理内核数的两倍。linux一个任务20ms左右,Windows几十毫秒不确定

2022-12-05 16:22:09 2361

原创 计算机网络学习心得

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XzWhyW4j-1670228458064)(…/img/image-20220924152155811.png)]​ 决定以哪种物理信号进行0,1传输,负责光电信号、高低电压传递方式。集线器工作在物理层。以太网协议。设备:电缆、双绞线、无线网(电磁微波)。  功能:实现0、1bit信号的传输。这些0、1信号就是计算机能够识别的数据。数据链路层:决定了两个电脑之间的数据帧的传输和识别(如何传输信息,局域网)。交换机工作在数据

2022-12-05 16:21:47 878

原创 Linux常用操作

ls 查看当前目录下的所有目录和文件ls-l 以列表的形式列出来ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)ls /dir 查看指定目录下的所有目录和文件 如:ls /usrcd…/返回上一级 cd返回最外层cd / 切换到根目录cd ~ 切换到home目录cd - 切换到

2022-12-05 16:21:03 283

原创 并发编程学习心得

并发安全的唯一条件:存在且只有写后读生效git也是一种并发·并发出现的问题,原子性、可见性、顺序性缓存带来的可见性问题,用volatile合理的禁用缓存原子性是线程间切换抢占共享资源带来的问题 加锁解决顺序性是指令重排序1、可见性:能保证在多线程的情况下,其他线程能读取到这个线程修改后的数据,相当于加了内存屏障。也就是能保障写后读,可见性正是依靠缓存一致性、内存屏障等机制协同运作来保证的除了偏向锁,JVM实现锁的方式底层都用了CAS,即当一个线程想进入同步块的时候使用循环CAS的方式来获取锁,当它退出同步

2022-12-05 16:20:23 455

原创 JVM学习心得

线程共享:定义一个变量或者一个方法,多线程都可以同时访问、修改这个方法或者变量线程隔离:就是数据不能被多个线程同时访问,某些数据只属于一个线程运行时数据区分为:方法区,堆,虚拟机栈、本地方法栈、程序计数器。线程共享区域:方法区、堆、线程隔离区域:虚拟机栈、本地方法栈、程序计数器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b42ArFw3-1670228302118)(…/img/image-20220803131355189.png)]类加载:JDK编译java文件后的cl

2022-12-05 16:19:15 28063

原创 线程池学习心得

里面有原子类automic线程每次执行完之后会销毁,然后创建,新建线程获取一个任务,销毁线程–标记为无效空间,然后在新建线程,再销毁线程(每个任务之间都有销毁和新建)好处就是不会一直占据着空间和CPU坏处就是需要一直新建销毁 浪费时间这样的时间的开销很大,如何防止线程被销毁呢,线程设置死循环,不让线程执行完毕,这样线程就不会被销毁掉了线程一直存活的话,如果一个任务运行完成可以直接执行下一个任务流程:一直获取任务,不需要新建与销毁缺点是:一直消耗着cpu 同时一直占着空间第一:降低资源消耗。通过重复利用已创建

2022-12-05 16:18:16 218

原创 多线程学习心得

进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位同一进程的线程共享本进程的地址空间和资源,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小而进程之间的地址空间和资源是相互独立的,程序之间的切换会有较大的开销1、继承Thread类1、继承Thread类并重写run方法2、匿名内部类的方式优点:编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程。劣势是:线程类已经

2022-12-05 16:17:49 569

原创 java进阶

https://blog.csdn.net/qq_29411737/article/details/80835658?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166515221516782428638820%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166515221516782428638820&biz_id=0&utm_mediu

2022-12-03 22:40:41 721

原创 java基础

从概念上讲JDK是JAVA开发工具,用它来开发JAVA程序,里面有很多基础类库和jre。JRE是JAVA运行环境,开发出来的JAVA程序只要有JRE(jvm)就能运行。JVM是JAVA虚拟机,是JRE的一部分,对于JAVA类的操作基本上都是在JVM上完成的4种整数类型​ byte 1字节 8位 范围 -28到28​ short 2字节 16位 范围 -216到216​ int 4字节 32位 范围 约21亿​ long 8字节 64位 末尾加Lbyte第一位是符号位 总共8位

2022-12-03 22:39:52 532

原创 HashMap

HashTable和hashMap底层实现原理一样,都是哈希表数据结构。两者都是基于k-v键值对的数据结构,k不可以相同,v可以相同两者都是通过数组+链表 数组是主体,链表是为了解决hash冲突HashTable的方法都带有synchronized,是线程安全的。HashTable的key和value都不能为NULL。 HashMap集合的key和value都是可以为null的。HashTable的初始化容量是11,加载因子是0.75. 容量不要求为2的倍数HashTable的扩容是:原容量*2+1H

2022-12-03 22:39:21 2177

原创 List和Set

List:有序可重复Set:底层hsahmap实现,无序不重复collection下面的List和Set List分为ArrayList、LinkedList、Vector​ Set分为TreeSet和HashSet HashSet下面的LinkedHashSetMap下面的HashMap和HashTable和SorteMap HashMap下面的LinkedHashMap SortMap下面的TreeMap[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2022-12-03 22:38:46 155

原创 【Swagger整合】

一、引入相关依赖注意,我们的springboot版本不能太高,否则无法导入成功‘已下是合适的springboot版本二、添加配置文件三、测试四、swagger相关注解@Api(tags = {“用户信息接口”}) 写在类上的注解@ApiOperation(value = “查询所有用户信息” ) 写在方法上的注解以上两个注解需要同时使用@ApiImplicitParams({}) 参数信息注解当用户的入参是实体类 @ApiModel(“用户类实体信

2022-12-03 22:37:50 155

原创 【servelt原理_17_ 过滤器典型应用】

①:乱码处理—dopost的乱码处理②:权限验证我们直接访问http://localhost:8080/FirstServlet/tage是不行的

2022-12-03 22:37:04 78

原创 【servelt原理_16_ 过滤器】

过滤器是处于客户端与服务器资源之前的一道过滤技术1.过滤器作用过滤器执行在Servlet之前,客户端发送请求时,会先经过过滤器Filter,在到达目标Servlet当中。从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。2.编写过滤器拦截器代码目标代码3.在web.xml中配置过滤器过滤器代码xml当中的配置4.关于拦截路径5.过滤器链和优先级客户端对服务器请求后,服务器在调用Servlet之前会调用一组过滤器(多个过滤器),那么这组

2022-12-03 22:35:48 196

原创 【servelt原理_15_ServletContext对象】

1.ServletContext概述2.ServletContext对象获取获取servletContext对象的途径有很多。比如:①.通过request对象获取②.通过session对象获取③.通过servletConfig对象获取,在Servlet标准中提供了ServletConfig方法④.直接获取 Servlet类中提供了直接获取ServletContext对象的方法基本使用3.ServletContext域对象ServletContext也可以当做域对象来使用,通过Servlet

2022-12-03 22:35:22 72

原创 【servelt原理_14_Session对象】

1.Session概述2.Session原理我们使用浏览器对网站进行访问,我们会发现打印在浏览器当中会有当我们关闭浏览器,重新打开访问项目我们会发现session变了②:Session保存数据setAttribute(“key”, value)保存数据到session中③:Session获取数据getAttribute(“key”)获取session中的数据④:Session移除数据removeAttribute(“key”)从session中删除数据4.Session的生命周期

2022-12-03 22:34:48 345

原创 【servelt原理_13_状态管理】

1.现有问题2.概念将浏览器和web服务器之间多次交互当成一个整体来处理,并且将多次交互所涉及的数据(即状态)保存先来。3.状态管理分类1.什么是cookieCookie是服务器发送到用户浏览器并保持在本地的一小块信息,他会在浏览器下次向服务器发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器。2.cookie的基本操作访问:http://localhost:8080/SecondServlet/cs查看cookie我们可以在chrome浏览器的设置—>隐私设置

2022-12-03 22:34:12 301

原创 【servelt原理_12_servlet应用_请求转发和重定向的区别】

【代码】【servelt原理_12_servlet应用_请求转发和重定向的区别】

2022-12-02 10:23:13 108

原创 【servelt原理_11_servlet应用_重定向】

客户端发出第一个请求,被服务器接收处理后,服务器会给客户端一个响应(一个新的地址),当客户端接收到新的请求后,会立刻马上根据服务器发送来的地址发起第二次请求。服务器接收请求并完成响应,重定向完成。当我们输入:http://localhost:8080/SecondServlet/s05,我们会返现地址栏会发生改变。打开f12我们会发现我们访问了s05和s06,并且s05页面的状态是302,目标地址是s06。从上述描述中可以看出重定向存在两次请求,并且是客户端行为。

2022-12-02 10:22:33 101

原创 【servelt原理_10_servlet应用_转发请求】

浏览器与服务器传输中文数据会乱码,原因就是服务器响应数据默认采用iso8859-1码表,浏览器默认采用GBK码表,所以就会乱码。request表示一个请求,只要发出一个请求就会创建一个request对象,,当客户端请求到达后,服务器进行转发,此时会将请求对象进行保存,地址栏中的。端告诉服务器使用一种能够支持中文的编码格式,比如UTF-8。此时还只是完成了一半的工作,要保证数据的正确显示,还要。,得到相应后,服务器端会将请求发送给客户端,使用方式:给Servlet传值。

2022-12-02 10:22:04 220

原创 【servelt原理_9_servlet应用___】

由于request是接收来自用户的请求,服务器会根据编码格式将请求转换。服务器端默认的编码格式为ISO-8859-1(此编码不支持中文),而我们用户浏览器默认是utf-8的编码格式,所以往往会产生乱码。要想解决乱码问题,需要设置request当中的编码格式,告诉服务器以何种形式来解析数据。是当客户端向服务器端发送请求时,服务器为本次请求创建request对象,并在调用Servlet的service方法时,将该对象传递给service方法。借助String对象的方法,该种方式对任何请求有效,都是通用的。

2022-12-02 10:21:21 181

原创 【servelt原理_8_servlet的两种配置访问方式】

①:url-pattern定义的匹配规则说明。1.Servlet使用Web.xml配置。@WebServlet注解常用属性。

2022-12-02 10:20:55 120

原创 【servelt原理_7_Servlet线程安全问题】

当我们访问servlet的时候,我们需要执行实例化操作,创建一个servlet对象。而我们tomcat容器可以让多个线程并发访问Servlet,如果在方法当中对成员变量做修改,就会出现线程安全问题。servlet实现SingleThreadModel接口后,每个线程都会创建servlet实例,这样每个客户端就不存在线程资源共享资源的问题,但是servlet响应客户端请求效率太低,所以淘汰。

2022-12-02 10:20:17 86

原创 【servelt原理_6_servlet核心接口和类】

为了能够更加方便的处理来自浏览器的数据和将数据写会到浏览器,HttpServlet类引用了HttpServletRequst和HttpServletResponse两个类来处理和相应数据。由于servlet本身没有main()方法,不能独立运行,他的运行完全由Servlet容器来进行控制和调度。HttpServlet是继承了GenericServlet类,这是一个抽象类。因为我们的请求一般都是Http请求,②:配置web.xml,完成对程序的访问。②:配置web.xml,完成对程序的访问。

2022-12-02 10:18:29 204

原创 【servelt原理_5_http协议的请求和相应】

当用户访问web应用时,在许多情况下,web服务器必须能够跟踪用户的状态。比如许多用户在购物网站上购物,Web服务器为每个用户配置了虚拟的购物车。当某个用户请求将一件商品放入购物车时,web服务器必须根据发出请求的用户身份,找到客户的购物车,将商品放入其中。会话:双方都带有对方的标记,通讯的时候根据带着的标记进行识别。这个会话跟打电话原理一样的,双方手机网卡记录对方标记,每次带着标记通话,两端都存着好多电话号码就跟存了好多标记一样。HTTP的请求方式有很多种,这里只讲解两种,①.HTTP请求格式。

2022-12-02 10:17:45 51

原创 【servelt原理_4_Http协议】

一般是我们的ip地址,localhost指的我们本地的IP地址,也可以用127.0.0.1来代替。我们在计算机网络当中是通过ip地址来进行寻址的,那么就需要把域名解析成ip地址,解析的工具就是我们上课节说的DNS服务器。端口号的存在是为了我们相关的进程能够有及时的从计算机网卡当中拿到属于自己的数据。确定了我们的浏览器怎样向浏览器发送请求,以及服务器应该怎样反馈我们的请求,除了HTTP协议以外还有FTP协议和DNS协议等。的主要作用是起到资源定位的作用,定位相关的资源,以便于我们能够及时的处理资源。

2022-12-02 10:17:10 272

原创 【servelt原理_3_编写第一个Servlet】

Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。广义狭义。

2022-12-02 10:16:25 57

原创 【servelt原理_2_创建第一个项目】

第一步第二步第三步第四步第五步第六步第七步

2022-12-01 10:30:59 49

空空如也

空空如也

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

TA关注的人

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