自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

聪明不绝顶的博客

入坑小白,多多关照

  • 博客(36)
  • 收藏
  • 关注

原创 SQL语句总结

首先用DOS窗口对数据库进行增删改查1.登入mysqlmysql -uroot -proot2.查询你的所有数据库(注意命令输完 ; 结束)MariaDB [(none)]> show databases;+--------------------+| Database |+--------------------+| czy || information_schema || xka ||

2021-11-11 00:19:29 1109

原创 关于Redis分布式锁

何为分布式锁?当在分布式模型下,数据只有一份(或有限制),此时需要利用锁的技术控制某一时刻修改数据的进程数。 用一个状态值表示锁,对锁的占用和释放通过状态值来标识。分布式锁的条件:互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的 Redis 节点正常运行,客户端就可以加锁和解锁。 解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了。分布式锁的实

2021-11-18 23:14:14 785

转载 Get和Post区别

请求缓存:GET 会被缓存,而post不会 收藏书签:GET可以,而POST不能 保留浏览器历史记录:GET可以,而POST不能 用处:get常用于取回数据,post用于提交数据 安全性:post比get安全 请求参数:querystring 是url的一部分get、post都可以带上。get的querystring(仅支持urlencode编码),post的参数是放在body(支持多种编码) 请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限...

2021-11-10 20:15:59 235

原创 线程创建的三种方式

继承Thread类创建线程类1.定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。2.创建Thread子类的实例,即创建了线程对象。3.调用线程对象的start()方法来启动该线程。通过Runnable接口创建线程类1.定义runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。2.创建 Runnable实现类的实例,并依此实例作为Thread的tar.

2021-11-05 00:06:04 134

原创 String API

int hashCode()返回此字符串的哈希码boolean equals(Object anObject)将此字符串与指定的对象比较,比较的是重写后串的具体内容String toString()返回此字符串对象本身int length()返回此字符串的长度String toUpperCase()所有字符都转换为大写String toLowerCase()所有字符都转换为小写boolean startsWith(String prefix)测试此字符串是否以指定的元素开头boo

2021-11-04 23:57:39 127 1

原创 List&Set&Map

collection接口:长度可变,可以存放不同类型的对象,并且还提供了一组操作成批对象的方法.Collection接口层次结构 中的根接口,接口不能直接使用,但是该接口提供了添加元素/删除元素/管理元素的父接口公共方法List接口:有下标,有序的,允许存放重复的元素ArrayList子类:数组结构,默认初始容量为10,不够就乘1.5倍,查询快,增删慢LinkedList子类:链表结构,查询慢,增删快Set接口:不允许重复数据,没有下标,无序的,数据去重Hash...

2021-11-04 23:29:52 91

原创 抽象类与接口

嘛是抽象类?被abstract关键字修饰的方法只有声明,没有方法体,这玩意儿叫抽象方法被abstract关键字修饰的类就是抽象类1.如果一个类含有抽象方法,那么它一定是抽象类2.抽象类中的方法实现交给子类来完成抽象类的格式权限修饰符 abstract 返回值类型 方法名(参数列表);抽象类的特点有点长你忍一下1.可以修饰方法或者类2.被修饰的类叫抽象类,被修饰的方法叫抽象方法3.抽象类中可以没有抽象方法4.如果类中有抽象方法,那么该类必须定义为一个抽象类

2021-11-04 18:54:15 235

原创 List集合迭代的四种方式

人狠话不多/** * @author czy * @date 2021/11/04 **/public class TestList { public static void main(String[] args) { //1.创建list接口的多态对象 List<String> list = new ArrayList<>(); //2.向创建好list集合添加元素 list.add("大娃");

2021-11-04 16:42:02 937

原创 内部什么 什么内部 内什么类

啊啊啊啊啊啊啊

2021-11-03 17:27:56 134

原创 this与super的区别

来自我亲爱的泡泡的课后笔记this代表的是本类对象的引用,我们可以把this看作是Cat this = new Cat();super代表的是父类对象的引用,我们可以把super看作是Father super = new Father();当本类的成员变量与局部变量同名时,需要使用this.变量名指定本类的成员变量当本类的成员变量与父类的成员变量同名时,需要使用super.变量名指定父类的成员变量 this可以实现调用本类构造方法的功能,不能互相调用,需要写在构造方法首行thi

2021-11-03 17:07:25 113

原创 重写和重载的区别

哎呦诶,吃葡萄是吐葡萄皮儿还是不吐葡萄皮儿,是刘奶奶买牛奶还是柳奶奶买牛奶,这个方法是重载还是重写。 所以还是写个小抄以后悄咪咪的看吧! 首先咱来谈谈重载吧重载:1.在同一个类中,方法名必须相同,参数个数和参数类型不同2.是一个类中多态性的一种表现,通过传递给它们的参数决定具体使用哪种方法3.返回值类型可以相同也可以不相同重载的意义:是为了外界调用方法时方便,不管传入什么样的参数,都可以匹配到对应的同名方法他来了他来了!重写:是...

2021-11-03 16:52:06 79

原创 MybatisPlus

都plus了不得比之前的牛x吗,那不得是大玉米变成加农炮,一炮成灰,咳。他是MyBatis的增强工具,只做增强不做改变,为发烧简化开发,提高效率而生。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过

2021-11-03 14:35:48 156 2

原创 Mybatis

MyBatis是一款半自动的ORM持久层框架,支持一对一,一对多的高级映射,动态SQL,延迟加载和缓存等特性。消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。 咱先了解了解嘛玩意儿是ORM,全名叫Object Relation Mapping,白称对象关系映射,就是在Java对象和数据库的关系模型之间建立的一种对应关系。 之所以说他是半自动化ORM,是因为这玩意儿还需要手动编写SQL语句,也因为是亲自动手,所以你想写出花来都可以,哎~就非常的...

2021-11-03 10:20:11 89

原创 数据源配置参数解析

spring: datasource: #如果使用高版本驱动 则添加cj driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/dede?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true .

2021-11-02 16:40:03 366

原创 Git命令

常规Git操作git 工作区 缓存区 本地仓库 远程仓库1.检查当前分支 git branch2.创建分支 git checkout -b 新分支名称3.推送新分支 git push -u origin 新分支名称 第一次推送需要写-u4.将文件添加到暂存区 git add .5.提交代码 git commit -m “提交消息”6.推动代码到云端 git push7.合并代码到主分支 git merge 分支名称 在主线中操作8.克隆代码 git clone “仓库地址.

2021-11-02 09:32:04 111

原创 正向代理与反向代理

反向代理反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。总结:代理服务器位于 用户和服务器之间用户以为代理服务器就是目标服务器.用户无需了解真实服务器地址.反向代理服务器保护了 服务器端的信息 (服务器端代理)正

2021-11-02 00:17:09 1043

原创 同步与异步区别

普通B/S模式(同步)AJAX技术(异步)同步:提交请求->等待服务器处理->处理完返回 这个期间客户端浏览器不能干任何事 异步:请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕...

2021-11-01 17:24:46 76

原创 ArrayList 和 Vector 的区别

这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了 说清楚 ArrayList 与 Vector 的功能,我们使用对比方式,更有利于...

2021-10-26 15:00:34 526

转载 Java面试题

Java最新常见面试题 + 答案汇总原文地址:https://blog.csdn.net/sufu1065/article/details/880510831、面试题模块汇总面试题包括以下十九个模块: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。

2021-10-16 22:35:02 197

原创 面试题-10.13

Question 1Given:public interface Status {12./* insert code here */ int MY_VALUE = 10;13.}Which three are valid on line 12?(Choose three.)A. finalB. staticC. NativeD. PublicE. privateF. abstractG. Protected知识点:接口的属性必须是publicstatic.

2021-10-14 23:00:33 532

原创 面试题-10.11

两个对象的hashCode()相同,则equals()也一定为true,对吗?两个对象的hashCode()相同,equals()不一定为true;两个对象的equals()为true,则两个对象的hashCode()一定为true;Java中的Math.round(-1.5)等于多少?round()方法在实现四舍五入的时候不论正负,先加0.5后再向下取整-1.5+0.5 = -1.0,-1.0向下取整结果为-1并行和并发有什么区别?并行:一个处理器可以同时处理多个任务。这是逻

2021-10-14 22:52:23 80

原创 SpringMVC面试题

● 请谈一下Spring MVC的工作原理是怎样的?①客户端的所有请求都交给前端控制器DispatcherServlet来处理,它会负责调用系统的其他模块来真正处理用户的请求。② DispatcherServlet收到请求后,将根据请求的信息(包括URL、HTTP协议方法、请求头、请求参数、Cookie等)以及HandlerMapping的配置找到处理该请求的Handler(任何一个对象都可以作为请求的Handler)。③在这个地方Spring会通过HandlerAdapter对该处理器进行封装。.

2021-10-14 20:06:50 70

原创 spring 面试题2

● 请简要说明一下IOC和AOP是什么?依赖注入的三种方式:(1)接口注入(2)Construct注入(3)Setter注入控制反转(IoC)与依赖注入(DI)是同一个概念,引入IOC的目的:(1)脱开、降低类之间的耦合;(2)倡导面向接口编程、实施依赖倒换原则; (3)提高系统可插入、可测试、可修改等特性。具体做法:(1)将bean之间的依赖关系尽可能地抓换为关联关系;(2)将对具体类的关联尽可能地转换为对Java interface的关联,而不是与具体的服务对象相关联;(3)Bean

2021-10-14 20:03:47 104

原创 spring面试题1

● 请谈一谈Spring中自动装配的方式有哪些?- no:不进行自动装配,手动设置Bean的依赖关系。- byName:根据Bean的名字进行自动装配。- byType:根据Bean的类型进行自动装配。- constructor:类似于byType,不过是应用于构造器的参数,如果正好有一个Bean与构造器的参数类型相同则可以自动装配,否则会导致错误。- autodetect:如果有默认的构造器,则通过constructor的方式进行自动装配,否则使用byType的方式进行自动装配。自动装配没

2021-10-14 20:00:24 92

转载 SQL编程及高级查询

存储 1. 表 字段:一个事物的某一静态特征 记录:字段的组合==>具体的事物 表:记录的组合==>同一类事物的集合 字段是事物的属性、记录是事物本身、表是事物的集合 列==属性==字段;元组==表; 2. create table 3. 约束:对一个...

2021-10-14 08:15:36 198

转载 URI与URL的区别

一、URI<1>什么是URIURI,统一资源标志符(Uniform Resource Identifier, URI),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。<2>URI的结构组成URI通常由三部分组成:①资源的命名机制;②存放资源的主机名;③资源自身的名称。(注意:这只是一般URI资源的命名方式,只要是可以唯一标识资源的都被称为URI,上面三条合在一起是URI的充分不必要条件)<3

2021-10-09 08:54:50 130

原创 sentinel熔断和降级的区别

降级:假如A B C三个并行的服务在运行的过程中,A服务经常出现响应时长比较慢的现象,把A服务短时间的关闭。熔断:假如A B C三个服务中B C是串行的,B服务在调用C服务时,C服务的响应时长经常会比较慢。暂时停止对C服务的调用,B服务直接抛一个异常。...

2021-10-08 21:44:13 1051

原创 限流算法有哪些?

计数器算法:是一种比较简单的限流实现算法,在指定周期内累加访问次数,当访问次数达到设定的阙值时,触发限流策略,当进入下一个时间周期时进行访问次数的清零。滑动窗口算法:在固定窗口中分割出来多个小时间窗口,分别在每个小时间窗口中记录访问次数,然后根据时间将窗口往前滑动并删除过期的小时间窗口。最终只需要统计滑动窗口范围内的所有小时间窗口总的计数即可。解决了计数器算法带来的临界问题。令牌桶算法:是网络流量整形(traffic shaping)和速率限制(Rate Limiting)中最常用的一种算法。对于每

2021-10-08 20:58:08 157

原创 Bug分析

几乎所有的HTTP状态码都被分成了五类:‘1’开头,表示服务器收到请求并需要请求继续处理;‘2’开头,表成功响应,即成功处理了请求;‘3’开头,表重定向,也就是引导浏览器跳转到另一个资源页面;‘4’开头,则表示请求出错妨碍了服务器的处理,服务器会返回一个状态码解释到底是什么错误;而‘5’开头,表示服务器错误,但并非请求者的原因。一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应) 表示临时响应

2021-10-08 20:55:48 69

原创 远程服务调用的几种方式

第一种:服务比较少,例如就两个服务,一个服务消费,一个服务提供,就不需要注册中心,不需要负载均衡.第二种:并发比较大,服务比较多,我们需要管理服务,就需要注册中心,我们还需要服务间的负载均衡.但代码编写的复杂多相对高一些,我们需要自己获取ip,获取端口,拼接字符串等.第三种:我们要基于第二种进行代码简化,底层提供了一种拦截器,把基于服务名获取服务实例的过程在拦截器中做了封装,简化了代码的开发.但是加了拦截器多少会在性能少有一点损耗.第四种方式主要是从代码结构上做一个挑战,我们前面三种基...

2021-10-08 20:53:59 869

原创 Feign 调用过程分析

1)通过 @EnableFeignCleints 注解告诉springcloud,启动 Feign Starter 组件。2) Feign Starter 在项目启动过程中注册全局配置,扫描包下所有@FeignClient注解描述的接口,然后由系统底层创建接口实现类(JDK代理类),并构建类的对象,然后交给spring管理(注册 IOC 容器)。3) 接口被调用时被动态代理类逻辑拦截,将 @FeignClient 请求信息通过编码器生成 Request对象,基于此对象进行远程过程调用。4) 请求

2021-10-08 20:51:57 1610

原创 JAVA设计之门面模式

org.slf4j.Logger是Java中的日志规范,定义了一组接口org.slf4j.Logger这个接口的实现有log4j,logback@Slf4j 此注解由lombok提供,描述类时会自动在类中创建一个org.slf4j.Logger对象logback的性能要比log4j快上十几倍,所以spring boot默认Logger接口实现为logback;另外还有 好测试;与SLF4J关系紧;文档丰富;能自动加载配置文件;多个JVM写一个日志文件,或其他I/O错误时不影响程序执行;配置文件中

2021-10-08 20:50:53 72

原创 彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0

取自之前浏览过的一篇文章通俗的了解IP地址是什么对于IP地址,大家并不陌生,特别是在网络访问中我们会经常使用到(平时对域名如百度的www.baidu.com的访问,本质就是对域名所绑定的IP地址的访问),那么IP地址是什么呢?首先,我们要知道网络中的相互访问其实就是在进行两者间的数据传递。就如同送快递一样,快递发出只有知道你的住址信息,才能将快递送到你的手中。而在网络访问时,只有知道你在网络中的地址信息,才能将数据发送到你的设备上。所以,IP地址就是你在网络中的地址信息。与你现实地址不同的是

2021-10-08 20:43:16 4173 1

原创 Maven依赖问题

假如出现依赖下载不下来,或者pom.xml文件出错,一定要检查:1.依赖添加是否正确(groupld,artifactld,version)2.检查元素嵌套关系(dependencies,dependency)3.检查单词是否正确4.检查maven环境配置(最好一个项目一个本地库,假如多个项目共用一个,要确保多个项目使用的依赖版本是一致的)...

2021-10-08 20:40:18 104

原创 协议(TCP,UDP)

网络通讯需要用到协议nacos服务底层启动的对象是一个ServerSocket对象(服务端) Socket(客户端)UDP协议是一种广播协议,数据传输不用建立连接,数据的发送是面向整个网络的,任何一台在局域网内的计算机都可以接收到相同的数据,所以不可靠。TCP是一种面向连接,可靠的,基于字节流的传输层通信协议,这两个端点想进行通讯必须得建立一个连接,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。在进行服务注册时,生产者和消费者与nacos建立连接使用的时TCP协.

2021-10-08 20:38:32 301

原创 求人不如求己,问问题前先自己尝试能否独立解决

以下来自老雷的分享,上传此处方便自己回顾使用,有需要者可一起参考。知识问答与搜索1.搜索引擎个人认为Get到一个知识点,获取其知识源头,了解其技术历史,掌握其关键远比学会了一个点重要很多.1)www.baidu.com(广告太多)2)www.bing.com(微软应答)3)www.google.com(全世界都在用)重点掌握:应用攻略(掌握组合查询,例如javaio,nacosdownload)2.知识问答1)知乎 (知乎 - 有问题,就会有答案)-比较...

2021-10-08 00:05:37 97

空空如也

空空如也

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

TA关注的人

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