自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux安装Elasticsearch及插件时遇到的坑

1、在linux安装ES时下载的是7.10.2版本的。一、修改conf下的 elasticsearch.yml 配置文件定位到network #network.host: 192.168.0.1位置,在下面增加一行:network.host: 0.0.0.0 代表允许任何网段进行访问接着我便进入bin目录,执行./elasticsearch -d 命令 运行ES,出现了以下错误:原因在于elasticsearch 不允许使用root用户登录, 因此需要创建一个用户并将elasticsearc

2022-04-28 09:19:19 2013

原创 Sentinel熔断与限流

一、流量规则:单机阈值:设置访问次数1、QPS: 代表每秒访问流速(次数)2、并发线程数: 代表每秒处理的事务数,如果出现该时间段处理的事务数处理不过来就降级高级选项:QPS流控模式【直接】-流控效果【快速失败】:代表当不符合设置的流量规则,直接失败QPS流控模式【直接】-流控效果【WarmUp预热 】:多用于平时无访问量,突然服务访问流量增大的情况,给该服务一个预热的流量规则。计算规则为:开始的流量数是【设置的单机阈值 / 3】若超过则失败 coldFactor默认为3,可更改以下为源码处

2022-04-24 08:28:48 800

原创 Seata处理分步式事务

在分布式中,存在一对多的数据库的情况,在对数据进行修改时,需要跨数据源进行修改操作,为了保证数据的一致性,因此产生了分布式事务的问题。SpringCloudAlibabaSeata则可以处理分布式事务的问题。Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。官网地址:http://seata.io/zh-cn/seata的下载地址:https://github.com/seata/seata/releasesseata的配置,下载解压后,到解压的目录

2022-04-24 08:23:28 453

原创 UnSafe实现+CAS思想(自旋锁)

自旋锁:获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁,一直循环到获取锁为止。非自旋锁: 获取不到锁,线程就进入阻塞状态。等待 CPU 唤醒,再去获取想象以下场景:某线程去获取锁(可能是自旋锁 or 非自旋锁),然而锁现在被其他线程占用了。它两获取锁的执行流程就如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nx7IljzW-1650758877574)(https]😕/img-blog.csdnimg.cn/5d49d27596c04b97ab2

2022-04-24 08:12:25 225

原创 搭建SSM+Maven注意事项

一、 安转&配置Maven:1.1 下载地址:https://maven.apache.org/download.cgi1.2 解压文件到目录(目录避免中文、特殊字符)1.3 修改conf目录里面的setting.xml文件①修改本地的仓库路径,也就是jar包引入的地方(不指定默认到用户目录下的.m2/repository):1.4 另外Maven仓库默认是从中央仓库获取的jar包,而中央仓库在国外维护,因此我们需要修改为国内的阿里镜像<mirror> <id

2022-03-17 09:17:02 92

原创 Mysql中的SUBSTRING_INDEX与as用法

SUBSTRING_INDEX(str,”分隔条件”,分隔数量)该函数可用来分隔字符串,第三个参数为分隔数量,若为正数则从左边开始截取,若为负数则从右边开始截取以下是用法:截取最后一个截取第一个截取中间一个如果出现要分隔多条数据,且每条数据的长度都不等,则需要用到mysql中help_topic的help_topic_id字段,可以通过这个字段来实现遍历截取原始数据:通过以下代码来实现分隔得到结果为:这段的作用在于限制与mysql中help_topic的help_topic

2021-09-11 17:47:02 257

原创 Mysql中的CONCAT、CONCAT_WS与CONCAT_GROUP的区别

一、 CONCAT、CONCAT_WS与CONCAT_GROUP这三个函数的基本作用都是用来拼接字符串的,但是会有一点小区别(1) CONCAT(str,“分隔字符”,str)每两个拼接就要指定一个分隔字符CONCAT_WS(“分隔字符”,str,str)第一个参数为指定分隔字符,此后都会默认以这个分隔字符进行分隔CONCAT_GROUP默认以逗号进行分隔(2) 在有Null参数时,CONCAT和CONCAT_GROUP都返回Null,而CONCAT_WS如果是以NULL为分隔字符的话则返回Nul

2021-09-11 17:37:37 105

原创 Spring MVC的环境搭建

mvc设计模式MVC 设计不仅限于 Java Web 应用,还包括许多应用,比如前端、PHP、.NET 等语言。之所以那么做的根本原因在于各个模块的解耦。MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责。模型:用于存储数据以及处理用户请求的业务逻辑。视图:向控制器提交数据,显示模型中的数据。控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有关结果交给哪个视图更新显示。Spring MVCSpring MVC

2021-09-09 15:16:18 99

原创 Spring AOP配置方式

面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式Spring AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面

2021-08-28 15:08:38 142

原创 Spring依赖注入的方式

在Spring中配置一个bean时,如果需要给该bean提供一些初始的值,则需要通过依赖注入方式实现。依赖注入就是通过Spring将bean所需要的一些参数传递给bean实例对象的过程。spring的依赖注入有3种方式:使用属性的setter方法注入 ,这是最常用的方式;使用构造器注入;使用Filed注入(用于注解方式)一、属性注入属性注入是通过setXxx()方法注入Bean的属性值或依赖对象。属性注入方式的优点:**·**具有可选择性**·**灵活性高创建一个user类 pr

2021-08-28 14:54:37 729

原创 Spring Bean的配置方式

在配置前先了解bean元素的相关属性:作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦。这一切都离不开Spring 配置文件中使用的元素。Spring 容器可以被看作一个大工厂,而 Spring 容器中的 Bean 就相当于该工厂的产品。如果希望 这个大工厂能够生产和管理 Bean,这时则需要告诉容器需要哪些 Bean,以及需要以何种方式将这些 Bean 装配到一起常

2021-08-18 09:03:53 763

原创 Java异常

Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情形时,系 统会自动生成一个 Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理代码”分离,提供更好的可读性。1、使用try…catch捕获异常。异常处理机制为:抛出异常,捕获异常,处理异常Try…catch语法格式:java常用方法:在使用try…catch捕获异常时需注意:不要过度使用异常,不能使用异常处理机制来代替正常的流程控制语句异常捕获时,一定要先捕获小异常,再捕获大异常

2021-07-08 12:04:53 63

原创 Java排序接口

一、 Comparable:是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了 Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。此外,实现此接口的对象可以用作有序映射中的键或有序集合中的集合,无需指定比较器。此接口只有一个方法compare,比较此对象与指定对象的顺序,如果该对象小于、等于或大于指定 对象,则分别返回负整数、零或正整数。以下是实现方法:1、采用内部Comparable排序集合对象

2021-06-20 10:35:38 2292

原创 Java Set集合

概述:Set集合类似于一个罐子,程序可以依次把多个对象“丢进”Set集合,而Set集合通常不能记住元素的 添加顺序。 Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加操作失 败,add()方法返回 false,且新元素不会被加入。Set集合有两个实现类HashSet和TreeSet一、 HashSet类是Set接口的典型实现类,大多数时候使用Set集合时就是使用这个实现类。 HashSet类 按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能。Hash

2021-06-07 19:56:22 178

原创 java的List集合

Java的集合:Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如 栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。Java集合大致可分为List、 Set、Queue和Map四种体系,其中List代表有序、重复的集合;Set代表无序、不可重复的集合;而 Map则代表具有映射关系的集合,Java5又增加了Queue体系集合,代表一种队列集合实现。Java集合概述:为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),J

2021-05-18 16:21:29 196

原创 Java内部类

在类 A 中定义类 B,那么类 B 就是内部类,也称为嵌套类,相对而言,类 A 就是外部类。java内部类结构:内部类特点:1、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。2、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否为 private 的。3、内部类声明成静态的,就不能随便访问外部类的成员变量,只能访问外部类的静态成员变量。有关内部类的说明有如下几点:1、外部类只

2021-05-08 09:21:39 66

原创 java对象类型转换

前言:对象类型转换,是指存在继承关系的对象,不是任意类型的对象,分别是向上转型(upcasting)和向下 转型(downcasting)。父类: class father { public void printf() { System.out.println("father printf"); }}子类:class chirl extends father { public void printf() { System.out.println("chirl printf");

2021-05-08 09:05:28 74

原创 Java 抽象类与接口

简介:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法、初始化块和构造方法 和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。1、 抽象类使用abstract修饰,抽象类与普通类之间除了抽象类不能被实例化对象外和具有抽象方法外,其他的功能都一样。成员变量、成员方法、初始化块和构造方法都是具有

2021-04-29 09:54:53 63

原创 Java修饰符访问权限

1、 四个访问控制符:注意:在不写访问控制符的情况下,就是friendly(默认)修饰符(1) Private: 同一包(代表文件包)中使用:在Java中常用Private封装在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份 包装、隐藏起来的方法。 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。 要访问该类的代码和数据,必须通过严格的接口控制。 适当的封装可以让程式码更容易理解与维护,也加强了程式码的

2021-02-04 10:05:41 113 1

原创 Java继承

继承的概念:继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类 继承方法,使得子类具有父类相同的行为。1、类的继承格式:2、继承类型:*一个子类不能继承多个父类以下为继承实例:(一) 创建一个父类(鸟):创建两个子类,一个为老鹰,一个为鸵鸟继承父类(鸟):extends:继承 因此便可以使用父类的方法与成员变量

2021-02-04 08:25:48 75

原创 Java的类与对象

*对象和类的概念:类:类是一个模板,它描述一类对象的行为和状态。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名 字、品种;行为有:摇尾巴、叫、吃等。借用网上的图简单理解一下类和对象,下图中男孩女孩为类,而具体的每个人为该类的对象:1、 Java中的类:类里可以存放的成员在定义java类时,常用的修饰符有:public、final、abstract命名规范为:大驼峰命名以下创建一个人类的类(1) 类中的成员变量:成员变量是定义在类中,方法体之外

2021-02-02 11:40:28 95 1

原创 Java数组

1、 数组:数组对于所有编程语言来说都是重要的数据结构之一,Java 语言中提供的数组是用来存储固定大小的同 类型元素。2、 申明数组变量:必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法格式:数组初始化的两种方式:(1)静态初始化(2)动态初始化3、数组的引用:(1) 赋值、取值Java中通过下标来引用数组元素: array[index]; ((index)索引是从0开始的)Java会对数组元素要进行越界检查。每个数组都有一个length属性来指明它的长度,在引用

2021-02-02 11:11:30 92 1

原创 Java流程控制语句

1、 分支语句(1) if…else语句if(布尔表达式){//布尔表达式为true将执行的语句}else{//布尔表达式为false执行的语句}以下为嵌套if…else(2) switch语句:switch语句的变量类型可以是:byte、short、int或者char、enum从Java SE 7开始switch支持String类型Switch中case标签必须为字符串常量或字面量写在代码上的值就为字面量,而字符串常量为被final定义的变量,定义后便不能修改· 当变量的

2021-02-02 10:49:26 48

原创 Java运算符

1、 算术运算符使用除数或取余时,应注意不能使用整数除于0,否者会出错System.out.println(a/0); // java会报出这个错误 → / by zero但是被除数或除数存在一个浮点数,除于0有3种情况注意:自增(自减)在前面和在后面的区别:++y(–y):先将 y 的值自增(自减)1,然后再在当前表达式中使用 y 的值。y++(y–):先在当前表达式中使用 y 的值,然后再将 y 的值自增(自减)1。2、 关系(比较)运算符在java中 ==在基本数据类型的时

2021-02-02 10:27:44 89 1

原创 Java基本数据类型

1、 Java变量:变量的作用在于存放运算时所需的数据,申明变量时需指定变量的数据类型,因为不同数据类型申明的变量存放的数据与大小都不同,Java的两大数据类型:(1) 内置数据类型(基本数据类型)(2) 引用数据类型2、 基本数据类型:Java语言有八种基本数据类型。六个数组类型(四个整数型,两个浮点型)、一个布尔型、一个字符类型1、在给变量赋值时,Java默认把整数值定义为int所以如果赋值大于int的最大值时不仅要用符合的数据类型并且在值的后面定义值的属性:如果赋与的是浮点值

2021-01-19 10:32:47 103

原创 Java入门

1、Java语言的主要特点:(1)跨平台性: 所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下 正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类 繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这 些不同的环境里正常运行,就需要独立于这些平台。而在Java语言中, Java自带的虚拟机很好地实 现了跨平台性。 Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚 拟机识别的一

2021-01-19 10:22:25 141

原创 JavaScript浏览器事件对象

浏览器对象模型(BOM):1、 宿主对象2、 提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关3、 将浏览器中的各个部分转换成一个一个的对象,我们通过修改这些对象的属性,调用他们的方法,从而控制浏览器的各种行为简单来说:BOM可以使我们通过JS来操作浏览器,在BOM中提供了一组对象,用于完成对浏览器的操作(这些BOM对象在浏览器中都是作为window对象的属性保存,可通过window对象来使用,也可以直接使用)1、 window对象:代表整个浏览器窗口、同时window也是网页中

2020-10-08 11:25:24 388

原创 JavaScript事件

Js常用的事件:{onclick 鼠标点击某个对象ondblclick 鼠标双击某个对象onerror 当加载文档或图像时发生某个错误onfocus 元素获得焦点onblur 元素失去焦点onkeydown 某个键盘的键被按下onkeypress 某个键盘的键被按下或按住onkeyup 某个键盘的键被松开onload 某个页面或图像被完成加载onmousedown 某个鼠标按键被按下onmousemove 鼠标移动事件onmouseout 鼠标从某元素移开onmouseover 鼠

2020-10-08 11:00:44 49

原创 ASP.NET.MVC

ASP.NET.MVC:1、ASP.NET是一个使用HTML、CSS、Javascript和服务器脚本创建网页和网站的开发框架。ASP.NET支持三种不同的开发模式:(1)web pages(Web页面)、MVC(Model View Controller模型-视图-控制器)、Web Forms(Web窗体)2、MVC编程模式:MVC是三种ASP.NET编程模式的一种MVC是一种使用MVC(Model View Controller 模型-视图-控制器)设计创建Web应用程序的模式:(1)

2020-09-28 15:55:01 140 1

原创 JS表单提交

JavaScript表单提交:form表单用于收集用户输入的不同类型的信息,然后进行提交表单的数据,接着控制器对传来的数据进行接收与处理1、在进行表单提交时,控制器会有4种方式来接收表单数据:(1)通过形参的方式来接收表单提交的数据: public ActionResult First(string name,string sex) { var str = name + " " + sex; return Content(str);

2020-09-28 15:28:48 957

原创 JQuery异步Ajax

1、JQuery中的ajax方法:$.Ajax:(1) type:发出数据类型,POST或Get,默认值为Get(2) url:发送请求的地址(3) async:(默认:true)默认情况请求均为异步请求,设置false为同步请求(4) data:是一个对象,连同请求发送到服务器的数据(请求的数据)(5) dateType:预期服务器返回的数据类型,如果不指定,JQ将自动判读(一般我们采用json格式)(6)success:请求成功后的回调函数(传入返回后的数据,以及包含成功代码的字符串)

2020-09-18 16:57:44 154

原创 JS异步Ajax与json

Json简介:{在互联网软件前端与后台进行消息交互的过程中,需要有一种标准的数据交换格式供前后端采用。在众多的数据交换格式中,JSON(JavaScript Object Notation,JS 对象标记)是应用得比较广泛的,它采用完全独立于编程语言的文本格式来存储和表示数据。JSON的层次结构简洁、清晰,易于阅读和编写,同时也易于机器解析和生成,这有效地提升了网络传输效率。(不同语言之间的交流,需要经过转换成为各语言都能识别的数据类型,于是Json与Xml就承担这个任务)Json是JavaScrip

2020-09-18 15:42:41 164

原创 @Url.Content

该写发一般用于路径跳转和请求时,目的是为了让路径更加完善:@Url.Content为翻译器,“~”为项目(应用程序)的根目录“/”是网站的根目录例:如果有一个网站为www.myweb.com当该网站下有应用程序(也可叫虚拟路径)www.myweb.com/web1假设当你访问应用程序(web1)下的一个页面时,该路径为/web2/index如使用@url.content(“/web2/index”)则会解析为:www.myweb.com/web2/index因此就会报错,因为该网站下没有该路

2020-09-08 15:45:32 1904

原创 C#隐示转换与显示转换

隐示转换又称(自动转换):例:int(32位) a = 3;Long(64) b=a;这两个变量的数据类型虽然不时完全相同,但都是属于整形,因此可以隐示转换(自动转换)但:long c=3;Int d=c;这样转换需要使用强制转换Convert,因此可以得出在都是属于一个基本的数据类型时,大的数据容量可以隐示转换位小的数据容量,但小的数据容量不能隐示转换位大的数据容量显示转换又称(强制转换):1、 Convert可以将指定的数据类型转换为另一种数据类型Convert.ToInt32()转

2020-09-08 15:43:42 143

原创 MVC路由与数据库的连接

MVC项目路由(App_Start)里的网络连接地址:url:为默认的网络连接路径顺序defauls:为默认的路径(可设置),当不指名指定的视图启动项目时,项目则会默认打开这个项目下的控制器里的方法数据库连接:在MVC中进行的客户端与服务端进行交互时,需要涉及到对数据的增删查改,因此连接数据库是不可或少的一步。1、 数据库导入:在models文件夹中添加新建项选择数据里的实体数据模型:选择点击新建连接勾选其中一个勾选需要的数据表点击完成即ok2、以下是判断数据库连接

2020-09-08 15:36:23 586

原创 MVC事务与try catch

1、 事务:特点:统一性例:在进行购买机票时,通常的流程:1、选择时间与航班舱位2、填写用户信息3、用户支付4、出票。这几个步骤缺一不可,不能只能完成一步而缺下一步,于是为了保证统一,可以使用事务:只要有一步步骤出现异常,则购买机票失败,只有全部步骤都完成了才可出票以下为事务的引用:使用的写法:2、Try Catch:通常用于查询数据时捕获异常,前提是需在Catch(Exception 自定义一个英文字段):该英文字段可以用Console.WriteLine(英文字段)来输出该错误异常,以

2020-08-28 15:36:26 214

原创 MVC中OnActionExecuting登录与权限验证

OnActionExecuting页面执行前进行,相当于过滤器,只有符合该方法里的条件,才能执行后面的Action, 通常用于:1、统一登陆验证 2、统一权限控制1、登陆验证(单个控制器验证):以下为用Session进行判断用户是否登使用OnActionExecuting过滤器进行判断(若没有登录则重定向到登录页面):2、全局(整个项目)过滤器:使用前的步骤:(一)先在项目的App_Start(路由)中创建一个类并在该类写入过滤器方法(二)在项目的Global.asax中注册全局过滤

2020-08-28 15:14:57 2850

原创 ViewBag和ViewData的区别

ViewBag和ViewData的区别:(1) ViewBag存放的方式ViewBag.msg=”Hello”ViewData存放的方式ViewData[“msg”]=”Hello”ViewData是字典集合,存放的是键值对,而ViewBag是Dynamic动态类型(2) ViewBag最大的点就是不需要转型就能使用里面的值,而ViewData需要转换成合适的类型ViewBag就是封装了的ViewData,所以两者可以互相转换ViewBag与ViewData的共同点是作用范围只在当前的Acti

2020-08-18 16:14:38 432

原创 Session、Cookie与WebStorage

Session、Cookie与WebStorageSession(保存在服务端)与Cookie(保存在客户端)简介:网络服务器为无状态:用户发送请求给服务器,服务器开启对话接收了数据,但当用户下次再次发送数据时,服务器就会再次开辟另一个新的对话去接收数据(无记忆)而Session与Cookie就是人们用来使服务器与客户产生状态的属性(记录对话内容,保存数据)服务器与浏览器进行一次数据传递为:会话:表示一段时间的对话(只有浏览器未关闭或结束,则该会话就不会结束)客户端第一次请求时服务器会建立一个Se

2020-08-18 15:17:47 159

空空如也

空空如也

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

TA关注的人

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