知识点
文章平均质量分 73
user__kk
这个作者很懒,什么都没留下…
展开
-
常见的加解密算法
常见的加解密算法有:DES,3DES,AES,PBE,RSA,DSA,ECC,MD5,SHA,HMAC。原创 2024-08-29 13:59:30 · 313 阅读 · 0 评论 -
数据库中日期与服务器上日期不对应
1.冬令时、夏令时问题 1988年之前 都会有这样的问题;2.将字段类型由datetime改为date类型;原创 2024-08-29 09:23:42 · 113 阅读 · 0 评论 -
MySQL锁表解决方案
id #ID标识,要kill一个语句的时候很有用use #当前连接用户host #显示这个连接从哪个ip的哪个端口上发出db #数据库名command #连接状态,一般是休眠(sleep),查询(query),连接(connect)time #连接持续时间,单位是秒state #显示当前sql语句的状态info #显示这个sql语句。原创 2024-08-28 09:24:53 · 556 阅读 · 0 评论 -
Mybatis 查询联表空指针异常
【代码】Mybatis 查询联表空指针异常。原创 2024-08-28 09:22:38 · 199 阅读 · 0 评论 -
MySQL锁、数据库三范式
锁分类如下图所示:针对同一份数据,多个读操作可以同时进行而不会互相影响。当前写操作没有完成前,它会阻断其他写锁和读锁。,表示在读取数据时不允许其他事务对数据进行修改(只能进行共享或普通查询)。 SQL语句:select ....;(使用共享锁后,另一个客户端不能使用排他查询)。在一个事务操作时,其他事务不允许操作数据(包括查询)。;从对数据操作粒度分类:表锁、行锁表锁也是是InnoDB存储引擎中的一种锁机制,用于控制对表的并发访问。原创 2024-08-27 09:29:36 · 1024 阅读 · 0 评论 -
MySQL索引优化
联合索引定义时,尽量将范围查询字段放在最后(放在最后联合索引使用最充分,放在中间联合索引使用不充分)。使用联合索引时范围列(当前范围列索引生效)后面的索引列无法生效,同时索引最多用于一个范围列,如果查询条件中有多个范围列,也只能用到一个范围列索引。只是使用到了主键索引PRIMARY(emp_no),联合索引未生效idx_empno_birthdate_gender(emp_no,birth_date,gender)原创 2024-08-26 12:11:39 · 1626 阅读 · 0 评论 -
MySQL与ES数据实时同步,双写一致
在项目的开发与运维过程中,MySQL 是业务数据库的核心角色,以其强大的事务处理能力和数据完整性保障,支撑着系统的稳定运行。随着数据量的急剧增长和查询复杂度的不断提升,单一依赖 MySQL 进行高效的数据检索显得日益吃力,尤其是在面对海量数据的复杂查询场景时,性能显而易见的降低。为了有效缓解这一问题,通常采用读写分离的策略,将 Elasticsearch(简称 ES)引入作为专门的查询数据库。ES 以其卓越的搜索性能、灵活的数据模式以及强大的可扩展性,成为处理复杂查询需求的理想选择。原创 2024-08-26 10:01:32 · 987 阅读 · 0 评论 -
Linux中分析日志及问题排查
在脚本或应用程序中,通过syslog库可以自定义写入系统日志。# 使用 syslog 写入自定义日志Linux系统中,系统日志分析与故障排除是系统管理中不可或缺的重要环节。通过各种命令和技术,管理员可以全面了解系统的运行状况,追踪故障原因,确保系统的可靠性和安全性。从基础的日志文件位置、内容查看,到更高级的journalctlLogwatch等工具的使用,再到网络连接、硬件故障、审计以及进程追踪等更为深入的技术,本文提供了系统管理员在面对各种挑战时的应对策略。原创 2024-05-06 11:09:21 · 966 阅读 · 2 评论 -
面试题:String类型长度有限制吗?最大多少?
问题:字符串有长度限制吗?最大多大呢?答:首先字符串的内容是由一个字符数组 char[] 来存储的,由于数组的长度及索引是整数,且String类中返回字符串长度的方法length() 的返回值也是int ,所以通过查看java源码中的类Integer我们可以看到Integer的最大范围是2^31 -1,由于数组是从0开始的,所以数组的最大长度可以使【0~2^31-1】通过计算是大概4GB。原创 2024-05-06 10:57:06 · 594 阅读 · 1 评论 -
JavaEE,EL表达式与jstl标签库
JSTL标签库是第三方发明的自定义的标签,每个标签都有自己特定的含义表示一个具体的java逻辑。我们要在JSP中使用JSTL必须使用taglib标签引入第三方的标签库资源。 items表示要遍历的集合 var为集合中的每个元素。4. 注意:${}不仅可获取域对象中的数据,而且会将该数据打印到浏览器中。2. 底层使用的是反射,在使用的时候可以通过键名即可获取对应的值。,获取域对象中存储的list集合或者数组中指定角标的数据。原创 2023-11-01 11:08:56 · 872 阅读 · 1 评论 -
创建javaEE项目(无maven),JSP(九大内置对象)、Servlet(生命周期)了解
编写完之后,再有一个工具,将这个特殊的文件转换成Servlet,在转换好的Servlet中,之前写的Java代码还在,而HTML、css、js代码都使用writer的方式给写好。这个 .java文件其实就是一个Servlet,在这个Servlet中已经将写在JSP中的HTML代码以writer.print()的方式编写好了,然后将数据响应给浏览器的。JSP本质上就是一个Servlet,JSP中的HTML代码就相当于我们之前在Servlet中写的writer.write()代码。原创 2023-11-01 11:05:28 · 2001 阅读 · 0 评论 -
MySQL存储引擎
起主要用途就是大家有些时候可能会需要通过数据库中的数据导出成一份报表文件,而CSV文件是很多软件都支持的一种较为标准的格式,所以我们可以通过先在数据库中建立一张CSV表,然后将生成的报表信息插入到该表,即可得到一份CSV报表文件了。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。原创 2023-10-31 11:10:32 · 600 阅读 · 0 评论 -
JDBC-Java程序连接关系型数据库的技术,ORM编程思想
1.通过命令行的方式操作mysql服务,cmd通过命令操作2.通过图形化界面操作mysql服务,例如navicat软件3.通过java程序连接操作mysql数据库,使用jdbc技术。原创 2023-10-31 11:07:59 · 393 阅读 · 0 评论 -
数据库深入浅出,数据库介绍,SQL介绍,DDL、DML、DQL、TCL介绍
SQL92本身是分级的,包括入门级、过度级、中间级和完全级。MySQL提供了一张虚拟表,该表名为“dual”,是MySQL为了满足用“SELECT ••• from•••”的习惯而增设的一张虚拟表。DDL主要用针对是数据库对象(数据库、表、索引、视图、存储过程)进行创建, 修改和删除操作。将复杂的数据,以二维表(存储关系:行、列)来展示,由二维表之间的联系组成数据组。数据(Data):文本信息(字母、数字、符号等)、音频、视频、图片等;主要用于对数据库对象(库、表、索引、视图),进行创建、修改、删除。原创 2023-10-31 11:03:59 · 502 阅读 · 0 评论 -
JavaEE入门介绍,HTTP协议介绍,常用状态码及含义,服务器介绍(软件服务器、云服务器)
超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容。原创 2023-10-30 10:52:17 · 599 阅读 · 0 评论 -
MySql忘记密码,跳过登录验证,修改密码
mysqld:跳过验证。原创 2023-10-30 10:41:19 · 855 阅读 · 0 评论 -
Ajax、Json深入浅出,及原生Ajax及简化版Ajax
通过对ajax的就绪状态做判断,我们在就绪状态是4的情况下编写我们的对响应结果的处理逻辑代码,但是不是任何响应结果我们都要处理,因为服务器的响应也有状态码,比如:200、404、500等等。在ajax对象中提供了一个监听机制 “onreadystatechange”,用来监听ajax的属性readyState的改变情况,一旦该值改变,就会触发监听中的函数的执行。发送请求后,不需要等待服务端的响应,继续按照顺序执行其他逻辑代码,监听到响应,自动调用指定的方法。原创 2023-10-26 14:28:29 · 2081 阅读 · 0 评论 -
正则表达式ReqExp
6. 匹配Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* $\w :匹配一个单词(字母、数字、下划线)[a-zA-Z0-9_] 或[A-z0-9_]1. 匹配国内电话号码:^\d{3}-\d{8}|\d{4}-\d{7}$5. 匹配由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$7. 匹配中文字符的正则表达式: ^[\u4e00-\u9fa5] $2. 匹配腾讯QQ号:^[1-9][0-9]{4,} $检索字符串中指定的值。原创 2023-10-26 14:23:39 · 718 阅读 · 0 评论 -
java中Map常见的面试问题,扩容问题,转红黑树的前提,解决Hash哈希冲突的方法
在源码上可以看出,在理想状态下,受随机分布的 hashCode 影响,链表中的节点遵循泊松分布,而且根据统计,链表中节点数是 8 的概率已经接近千分之一,而且此时链表的性能已经很差了,所以在这种比较罕见和极端的情况下,才会把链表转变为红黑树。(数组长度-1) & hash(hash%数组长度)计算的结果得出具体的下标,如果在索引位置只有一个节点直接返回,非一个节点继续在链表或红黑树中查找。答:元素个数为8的红黑树中,高度为:4.最多查找4次就能找到需要的的值,长度为8的链表,最多找7次。原创 2023-10-25 09:33:51 · 240 阅读 · 0 评论 -
数据结构,及分类(存储分类、逻辑分类)介绍
计算机存储数据、操作数据的方式。将这些数据按照特定结构组成一个集合。数据结构是一种宏观概念,其中包含很多具体的数据结构。原创 2023-10-25 09:28:10 · 815 阅读 · 0 评论 -
java基础,运算符及运算符优先级,进制转换,源码、反码、补码,数据类型,流程控制语句,数组定义、特点
进制:满几归零进一,称为进制数;十进制:生活中常用的,满十归零进一;取值范围:0~9 写法例如:1234 默认十进制二进制:计算机中底层使用的是二进制,满二归零进一;取值范围:0~1 写法例如:0b0001 或 0B0001八进制:满八归零进一取值范围:0~8 写法例如:01234十六进制:满十六归零进一取值范围:0~15 写法例如:0x11AB 或 0X22EF10~15之间的写法:A(10)、B(11)、C(12)、D(13)、E(14)、F(15)原创 2023-10-24 10:45:53 · 148 阅读 · 0 评论 -
JUC并发编程,线程池(介绍、使用、参数),原子类(Atomic-线程安全),锁机制(Lock),信号量工具类(Tools),并发集合类
内容的一块空间。这块空间中存放了一些实例化好的线程对象。当代码中需要使用线程时直接从线程池获取。当代码中线程执行结束或需要销毁时,把线程重新放入回到线程池,而不是让线程处于死亡状态。原创 2023-10-23 13:43:24 · 462 阅读 · 0 评论 -
面向对象设计原则,详细介绍及分析
面向对象设计原则是面向对象设计的基石,是面向对象设计的质量、保障、思想。一共有七个设计原则,设计模式就是面向对象设计原则的经典应用单一职责原则* 强调:高内聚低耦合,每一种类型的业务区分开闭原则* 强调:面向接口编程,对扩展开放,对修改关闭;提高复用性、维护性里氏替换原则 强调:是符合开闭的重要保证依赖倒置原则* 强调:多态,面向接口编程接口分离原则 强调:细化接口,提高代码可维护性、灵活性;迪米特原则 强调:原创 2023-10-20 13:33:51 · 144 阅读 · 0 评论 -
计算机网络,网络(OSI)七层模型,三次握手四次挥手,get与post请求区别,网络IO(BIO\NIO\AIO),TCP与UDP区别
NIO指同步非阻塞IO模型(jdk1.4之后),服务端一个线程处理多个客户端请求,需要把服务端和客户端管道注册到selector(多路复用器)上,添加了多路复用器监听所有管道的状态。UDP是无连接的,发送数据不需要建立连接,效率比TCP高,适用于高速传输和信息广播,支持一对一、一对多、多对多连交互通信,面向报文首部开销小。BIO指同步阻塞IO模型(jdk1.4之前),服务端一个线程只能同时处理一个客户端的请求,每连接一个客户端,服务端都要创建一个线程。服务器响应完数据,向客户端响应断开连接请求。原创 2023-10-19 14:18:41 · 778 阅读 · 0 评论 -
java中的容器(集合),HashMap底层原理,ArrayList、LinkedList、Vector区别,hashMap加载因子0.75原因
集合主要分为Collection和Map两大接口;Collection集合的子接口有List、Set;List集合的实现类有ArrayList底层是数组、LinkedList底层是双向非循环列表、Vector;Set集合的实现类有HashSet、TreeSet;Map集合的实现类有HashMap、TreeMap、HashTable;(补充:HashTable与HashMap类似,线程安全,子接口有Properties接口,线程安全)1.HashMap底层原理?原创 2023-10-18 09:58:42 · 674 阅读 · 1 评论 -
比XShell更好用的Tabby
默认是新建一个针对本地电脑的终端窗口,比如如果你的电脑是windows 系统就会新建一个 cmd 控制窗口,如果是 macOS 系统就会新建一个 terminal。如果你想把服务器上的文件传输到本地电脑,你只需要找到服务器的文件,然后点击,就会弹出保存文件的提示。如果你想把本地电脑的文件放到服务器上,只需要把文件拖拽到对应的目录就行。使用方式和PC工具没有大的差异,因为有网页工具,只要有网络的地方,就能随时随地处理问题。保存完后,就会出现刚新增的终端配置,然后点击运行的图标就可以了。会弹出服务器上的目录。原创 2023-10-07 09:25:33 · 124 阅读 · 0 评论 -
SpringBoot整合RabbitMQ,自动创建交换器和队列代码实现
【代码】SpringBoot整合RabbitMQ,自动创建交换器和队列代码实现。原创 2023-09-23 16:45:58 · 1005 阅读 · 1 评论 -
@Autowired与@Resources注解区别,@Autowired为什么会有警告线呢?
事实上,这两个的基本功能都是通过注解实现依赖注入,只不过@Autowired是Spring定义的,而@Resource是JSR-250定义的。在使用IDEA开发的时候有没有注意到过一个提示,在字段上使用Spring的依赖注入注解@Autowired后会出现黄色的警告。Field注入(属性):大多数情况下尽量少使用字段注入,一定要使用的话, @Resource相对@Autowired对IoC容器的耦合更低。会导致组件与IoC容器紧耦合(这是最重要的原因,离开了IoC容器去使用组件,在注入依赖时就会十分困难)原创 2023-09-19 14:57:35 · 197 阅读 · 0 评论