自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript知识点总结

JavaScript简称为JS,由网景公司开发的客户端脚本语言,不需要编译,可以直接运行Web前端三层:结构层 HTML 定义页面的结构样式层 CSS 定义页面的样式行为层 JavaScript 用来实现交互,提升用户体验var arr = new Array(值1,值2...);var arr = [值1,值2...];注意:数组长度会自动扩展数组中元素的默认值为undefined使用length属性来获取数组的长度Document Object Model 文档对象模型。

2024-02-27 21:55:45 859

原创 实训知识点

JavaEE:企业版,框架Spring,SpringMVC,Mybatis,SpringBoot,SpringCloud...a.java ==> 编译(安装window版本的JDK--->JVM虚拟机) ===> 运行。虚拟机本事是不能跨平台的,每个操作系统都有对应版本的虚拟机。JavaSE:Java基础,是学校其他两模块的基础,标准版,用于桌面应用程序的开发。JavaME:目前在Java体系中是不学习的,诺基亚手机 -- 塞班系统(java)修改Path变量,添加%JAVA_HOME%\bin。

2023-12-28 15:24:57 362

原创 JavaWeb知识点小结:

Maven坐标是Maven中的一个重要概念,用于唯一标识一个Maven项目的依赖关系。Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置使用坐标来定义当前项目或引入项目中需要的依赖HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。1XX响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成则忽略它2XX成功-表示请求已经被成功接受,处理已完成3XX重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理4XX客户端错误。

2023-11-22 09:52:35 1012

原创 汉顺平Java 知识点:(自学版)---------老韩原版文档

小结:静态方法,只能访问静态的变量,非静态的方法,可以访问静态成员和非静态成员(必须遵守访问权限)。当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,提高开发效率。

2023-10-09 09:00:56 82

原创 SpringCloud

SpringCloud是一套完整的微服务解决方案,基于SpringBoot框架SpringCloud是一系列框架的有序集合,它利用SpringBoot的开发便利性简化了分布式系统的开发SpringCloud为开发人员提供了快速构建分布式系统的一些工具,如服务中心、配置中心、服务调用、消息总线、负载均衡、服务熔断、数据监控等微服务之间通过HTTP的方式进行互相通信,可以在某个微服务中直接调用另一个微服务,会使用REST方式可以使用Spring提供的,发送HTTP请求,直接调用另一个服务。

2024-05-16 18:07:02 992

原创 面试题集0515

单体锁存在的问题:单体锁,即单体应用中的锁,通过加单体锁(synchronized或RentranLock)可以保证单个实例并发安全单体锁是JVM层面的锁,只能保证单个实例上的并发访问安全如果将单体应用部署到多个tomcat实例上,由负载均衡将请求分发到不同的实例每个tomocat实例都是一个JVM进程,多实例下会存在数据一致性问题。分布式锁:分布式应用中所有线程都去获取同一把锁,但只有一个线程可以成功的获得锁,其他没有获得锁的线程必须全部等待,直到持有锁的线程释放锁。

2024-05-15 19:25:34 330

原创 使用Springboot整合Elasticsearch

它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。创建一个SpringBoot工程,选择以下模块:Lombok、Web、Spring Data Elasticsearch。@Document 标记实体类为文档对象。编辑application.yml文件。@Field 标记为文档字段。@Id 标记为文档id。

2024-05-13 19:21:07 328 1

原创 使用注解的方式进行配置RabbitMQ

配置application.yml。

2024-05-11 17:18:20 234 1

原创 RabbitMQ消息队列

如果不配置消息转化器,默认只能处理字符串消息。

2024-05-11 15:58:51 329 1

原创 哪些设计模式,你使用过哪些设计模式

定义一个算法的骨架,将具体步骤的实现延迟到子类中。Spring的JdbcTemplate也是基于模板方法模式实现的,通过定义抽象的模板方法和具体的子类实现来实现数据访问的流程控制。将一个类的接口转换为客户端所期望的另一个接口,使得原本不兼容的类能够一起工作。在Spring MVC中,处理器适配器就是基于适配器模式实现的,将不同类型的处理器适配到统一的处理器接口上。Spring的BeanPostProcessor是基于策略模式实现的,通过在不同的时机调用不同的策略方法来实现对bean的后置处理。

2024-05-11 08:21:34 354 2

原创 详解分布式锁

存在问题:当用户进入后,拿到锁后,执行后续代码,但是锁到期了,锁被释放出来。后续的用户,也是可以进入线程当中的。分布式应用中所有线程都去获取同一把锁,但只有一个线程可以成功的获得锁,其他没有获得锁的线程必须全部等待,直到持有锁的线程释放锁。,会每隔10秒检查一下,如果线程还持有锁,就会不断的延长锁的有效期(即每到20s就会自动续借成30s),也称为。分布式锁是可以跨越多个tomcat实例,多个JVM进程的锁,所以分布式锁都是设计在第三方组件中的。单体锁是JVM层面的锁,只能保证单个实例上的并发访问安全。

2024-05-10 22:43:16 557

原创 Nginx服务器

在一台服务器上搭建多个网站,每个网站对应一个Web站点,有独立的域名和目录,称为虚拟主机Nginx的虚拟主机是通过server节点配置的准备网站目录及测试页面配置虚拟主机实现虚拟主机的三种方式:基于不同的IP、不同的端口 或 不同的域名(推荐)编辑配置文件server {listen 80;配置域名解析在客户端主机中配置域名解析,即访问网站的电脑(不是nginx服务器)域名解析的过程:本机的hosts文件——>DNS编辑域名解析文件。

2024-05-09 18:55:55 1005

原创 Linux常用命令指南

本章节是以Centos7 为例: 查看服务器IP地址在虚拟机中执行 注:重启网络服务 基本操作pwd:print working directory 查看当前所在的目录cd:change directory 切换目录ls:list 查看目录下的内容tab 自动补全,不仅可以补全命令,也可以补全路径ctrl+c 取消本次命令的执行ctrl+l 或 clear 清屏注:Linux严格区分大小写cat /proc/cpuinfo # 查看cpu信息 cat /proc/meminfo # 查看内存信息

2024-05-09 17:12:22 610

原创 调用第三方接口——支付宝付款

沙箱环境是支付宝开放平台为开发者提供的用于接口开发及主要功能联调的模拟环境。参考在沙箱环境下,已经分配好了用于模拟测试的应用信息、商家信息、买家信息等。

2024-05-06 22:41:42 1353

原创 通过线程池开启异步任务 @Async

可以看出以上并没有使用线程池,因为线程池中的线程,我们设置了默认前缀 AsyncTaskExecutor-异步任务是在多线程中同时执行,多个任务可以并发执行,同时处理多个请求,响应快,资源利用率高,用户体验好。异步任务需要创建额外的线程来执行任务操作,可以使用线程池技术,灵活配置线程资源,以提高系统的资源利用率。同步任务是在单线程中按顺序执行,每次只有一个任务在执行,不会引发线程安全和数据一致性等并发问题。同步任务需要等待任务执行完成后才能执行下一个任务,无法同时处理多个任务,响应慢,影响用户体验。

2024-05-06 16:24:18 274

原创 WebSocket建立网络连接——小案例

它允许在用户的浏览器和服务器之间进行持久的、双向的通信。

2024-05-06 15:26:26 367 1

原创 使用第三方接口,开通短信服务

【代码】使用第三方接口,开通短信服务。

2024-05-06 11:49:27 179

原创 使用第三方接口,查询实时快递单号

RestTemplate是Spring框架中的一个用于发送HTTP请求的客户端工具类。它提供了丰富的方法来发送GET、POST、PUT、DELETE等类型的HTTP请求,并支持同步和异步两种方式。使用RestTemplate可以方便地与RESTful Web服务进行交互。(以下代码是第三方平台提供的测试类)

2024-05-06 11:37:45 690

转载 面试题001

(1)throw一般用于程序中,throws一般用于方法中(2)throws可以一次性抛出多个异常,而throw只能一个(3)throws抛出异常时,它的上级(调用者)也要申明抛出异常或者捕获,不然编译报错。而throw的话,可以不申明或不捕获(这是非常不负责任的方式)但编译器不会报错。

2024-04-30 13:36:14 15

原创 基于Springboot 的 Excel表格的导入导出

首先 ,引入相关依赖EasyPOI。

2024-04-30 12:40:17 356

原创 Error attempting to get column ‘sendTime‘ from result set. Cause: java.sql.SQLException: Error

【代码】Error attempting to get column ‘sendTime‘ from result set. Cause: java.sql.SQLException: Error。

2024-04-25 09:40:18 182 3

原创 使用Mybatis映射时间 DateTime ==> LocalDateTime

此处有弊端,请移步下一篇……service:接口。

2024-04-25 09:34:44 602

原创 MySQL如何使用某个表中的字段与字符串(使用逗号拼接)集合相匹配 FIND_IN_SET()

FIND_IN_SET()函数用于在一个逗号分隔的字符串列表中查找一个值的位置。相比一定是解析出错了,一般情况下,都是字符串和数字匹配有误,或者是当初逻辑运算的问题,

2024-04-20 13:49:19 310

原创 MySQL中InnoDB的行级锁

排他锁(X):又称为写锁,简称X锁,排他锁就是不能与其他锁并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。共享锁(S):又称为读锁,简称S锁,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及数据集加排他锁(X);可以通过以下语句显示给记录集加共享锁或排他锁。窗口B进行更新操作:(持续等待A释放资源)

2024-04-18 15:50:32 432

原创 MySQL事务的隔离级别

为了解决上述提到的事务并发问题,数据库提供一定的事务隔离机制来解决这个问题。数据库的事务隔离越严格,并发副作用越小,但付出的代价也就越大,因为事务隔离实质上就是使用事务在一定程度上“串行化” 进行,这显然与“并发” 是矛盾的。数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏写、脏读、不可重复读、幻读这几类问题。事务具有以下4个特性,简称为事务ACID属性。

2024-04-18 15:32:33 224

原创 MySQL 锁

锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

2024-04-18 15:27:45 600

原创 MySQL 在Linux系统中的===>内存管理及优化

如果MySql的连接数达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源,将会报错。对于需要做排序的myisam表的查询,如带有order by子句的sql,适当增加 read_rnd_buffer_size 的值,可以改善此类的sql性能。但需要注意的是 read_rnd_buffer_size 是每个session独占的,如果默认值设置太大,就会造成内存浪费。

2024-04-18 14:38:53 248

原创 MySQL开启缓存,以及如何使用缓存

首先在配置文件中,my.ini 添加配置配置完成后,重启服务:默认缓存是关闭的状态:现在查看缓存状态: 查看缓存状态:各个变量的含义如下:MySQL的查询缓存默认是关闭的,需要手动配置参数 query_cache_type , 来开启查询缓存。query_cache_type 该参数的可取值有三个 : 当执行查询操作时: 查看缓存状态: 缓存个数增加:当再次查询时,不会新增缓存:但是命中次数加一,说明,该查询是从缓存中捞取的数据:可以在SELECT语句中指定两个与查询缓存相关的选项

2024-04-18 14:36:27 901

原创 MySQL进阶 ==> 引擎选择&优化指南

每个MEMORY表实际对应一个磁盘文件,格式是.frm ,该文件中只存储表的结构,而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。MEMORY的缺陷就是对表的大小有限制,太大的表无法缓存在内存中,其次是要确保表的数据可以恢复,数据库异常终止后表中的数据是可以恢复的。MERGE存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,MERGE表本身并没有存储数据,对MERGE类型的表可以进行查询、更新、删除操作,这些操作实际上是对内部的MyISAM表进行的。

2024-04-17 22:33:41 1596

原创 SQL优化,一次性插入百万条数据

因为InnoDB类型的表是按照主键的顺序保存的,所以将导入的数据按照主键的顺序排列,可以有效的提高导入数据的效率。如果应用使用自动提交的方式,建议在导入前执行 SET AUTOCOMMIT=0,关闭自动提交,导入结束后再执行 SET AUTOCOMMIT=1,打开自动提交,也可以提高导入的效率。在导入数据前执行 SET UNIQUE_CHECKS=0,关闭唯一性校验,在导入结束后执行SET UNIQUE_CHECKS=1,恢复唯一性校验,可以提高导入的效率。这种插入数据的方法,只能在dos窗口操作!

2024-04-17 20:08:53 544

原创 Spring中AOP面向切面编程

AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象) 的补充。

2024-04-17 10:05:07 180

原创 Mysql进阶面试题

视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。

2024-04-17 10:02:48 870

原创 使用springboot整合shiro进行登录认证(md5+盐值+散列次数)

由于我们使用的是jsp,需要引入相关的依赖(防止访问页面时,访问的是资源路径(访问后不解析,会直接下载文件))当点击安全退出按钮,默认返回的是login.jsp界面,再次输入index.jsp,也会跳到登陆界面。,不能使用@RestController,返回的是json/xml文件,不会进行解析;Spring MVC中内嵌9大成员,使用model可以将数据带到前端界面。

2024-04-13 10:26:24 250

原创 Springboot整合mybatis_plus + redis(使用原生的方式)

特别注意:存入redis的数据一定要与取出的数据格式相同,否则会造成,只能存数据,不能取数据的现象!首次,创建一个springboot项目,勾选相应的依赖Lombok、Web。

2024-04-13 09:58:26 327

原创 Spring MVC 视图解析器

将Controller返回的字符串填写到地址栏中,通常涉及到前端页面的跳转和后端Controller的返回值处理。在Spring MVC中,配置视图解析器可以帮助将Controller返回的字符串转换为实际的页面地址。

2024-04-12 15:45:34 547 1

原创 springboot整合shiro之——拦截路径

身份认证、授权、加密、会话管理Web支持、缓存、多线程、测试、允许一个用户假装为另一个用户的身份进行访问、记住我。

2024-04-12 14:42:56 365

原创 Springboot整合mybatis_plus + redis(使用注解的方式)

现在进行测试: redis:显示的数据。在方法执行前添加相应的注解:@Cacheable(查询) @CacheEvict(删除)当再次查询数据id为1的数据:控制台不再输出 (因为redis中已经存在id=1的数据)配置properties.yml开启Cache。properties.yml配置文件。

2024-04-11 20:05:47 1119

原创 redis缓存常用命令

Redis程序文件 redis-win.zip(window)

2024-04-11 16:07:23 528

原创 Caused by: java.lang.IllegalStateException: Property ‘configuration‘ and ‘configLocation‘ can not sp

使用config-location是配置mybatis xml文件的,而使用mapper-locations才是指定mapper映射的mapper/*.xml的位置;属性'configuration'和'configLocation'不能同时指定。

2024-04-11 13:58:58 734

原创 使用纯注解的方式管理bean对象

Repository 用于dao数据访问层。他们的用法基本的等价的,只是用于区分!@ Controller 用于表示层。@Component一般用于公共类。@Service 用于业务处理层。引入依赖:pom.xml。

2024-04-02 20:09:01 335

空空如也

空空如也

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

TA关注的人

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