- 博客(49)
- 资源 (3)
- 收藏
- 关注
原创 Centos7安装Mysql出现-bash: /usr/local/mysql/bin/mysqld: /lib/ld-linux.so.2: bad ELF interpreter: No such
缺少插件libaio安装插件即可。
2024-10-30 16:12:36
209
原创 Spring之推断构造方法源码解析
但是,因为@Autowired还有一个属性required,默认为ture,所以一个类中,只有能一个构造方法标注了@Autowired或@Autowired(required=true),有多个会报错。4. 使用ClassPathXmlApplicationContext,表示使用XML的方式来使用bean,要么在XML中指定构造方法的参数值(手动指定),要么配置autowire=constructor让Spring自动去寻找bean做为构造方法参数值。
2024-06-17 20:53:47
876
原创 Bean的创建流程
值得注意的是我们通过@Bean所定义的BeanDefinition,是存在factoryMethod和factoryBean的,也就是和上面的方法二非常类似,@Bean锁注解的方法就是factoryMethod。userServeice这个Bean,在实例化前会直接返回一个有我们自己定义的对象,如果是这样,表示不需要Spring来实例化了,并且后续的Spring依赖注入也不会进行了,会跳过这一步骤,只看杰之行初始化后这一步。就是说,这个bean的创建需要和他的父类的属性进行合并。
2024-05-31 11:46:02
1069
原创 【无标题】
Mybatis运行原理。如何编写一个插件Mybatis的插件指的就是Mybatis的拦截器,Mybatis只支持针对ParameterHandler,ResultSetHandler,StatementHandler,Executor这个四个接口的插件,Mybatis使用JDK的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这四种接口对象的实现时,就会进入拦截方法,具体就是InvocationHandler的Invoke()方法,拦截那些你指定需要拦截的方法。
2024-03-22 01:11:05
824
原创 Cannot run program “C:\Program Files\Java\jdk-17\bin\java.exe“
错误提示:Cannot run program “C:\Program Files\Java\jdk-17\bin\java.exe”
2024-03-20 16:18:39
6502
4
原创 Nacos注册中心
CAP C 一致性 A可用性 P 分区容错性保护阈值: 设置0-1之间的值 0.6临时实例: spring.cloud.nacos.discovery.ephemeral =false, 当服务宕机了也不会从服务列表中剔除健康实例、 不健康实例;健康实例数/总实例数 < 保护阈值1/2<0.6。
2024-03-15 12:03:22
447
原创 NacosConfig
Nacos 内部有 Namespace 的概念:用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离, 例如开发测试环境和生产环境的资源(如配置、服务)隔离等。在没有明确指定 ${spring.cloud.nacos.config.namespace} 配置的情况下, 默认使用的是 Nacos 中 public 命名空间即默认的命名空间。
2024-03-14 16:17:15
1312
原创 java和javascript的区别与联系
Java和JavaScript是两种非常不同的编程语言,尽管它们的名称相似,但它们在用途、语法、执行环境、类型系统等方面都有很大的区别。虽然Java和JavaScript在很多方面不同,但它们也有一些共同点,比如都支持面向对象编程,都有函数和数组等基本概念。这是一个简单的JavaScript函数,当调用greet()时,会在控制台输出“Hello, World!
2024-02-20 14:50:31
658
原创 Elasticsearch使用场景说明
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多租户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。它设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
2024-02-20 14:40:32
308
原创 Redis缓存设计及优化
由于缓存层承载着大量请求, 有效地保护了存储层, 但是如果缓存层由于某些原因不能提供服务(比如超大并发过来,缓存层支撑不住,或者由于缓存设计不好,类似大量请求访问bigkey,导致缓存能支撑的并发急剧下降), 于是大量请求都会打到存储层, 存储层的调用量会暴增, 造成存储层也会级联宕机的情况。如果系统启动完马上就会有很多的请求过来,那么可以给redis连接池做预热,比如快速的创建一些redis连接,执行简单命令,类似ping(),快速的将连接池里的空闲连接提升到minIdle的数量。
2024-02-07 10:56:52
1218
原创 JVM内存分析与优化
如果释放了很少的空间, 那么在不超过-XX:MaxMetaspaceSize(如果设置了的话) 的情况下, 适当提高该值。对象在堆内部挪动的过程其实是复制,原有区域对象还在,一般不直接清理,JVM内部清理过程只是将对象分配指针移动到区域的头位置即可,比如扫描s0区域,扫到gcroot引用的非垃圾对象是将这些对象复制到s1或老年代,最后扫描完了将s0区域的对象分配指针移动到区域的起始位置即可,s0区域之前对象并不直接清理,当有新对象分配了,原有区域里的对象也就被清除了。-Xss:每个线程的栈大小。
2024-02-07 08:43:42
438
原创 Redis缓存高可用集群
在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的效率。这种方式下,持有最新数据的slave将会首先发起选举(理论上)。
2024-02-06 17:47:22
1803
原创 Redis持久化、主从与哨兵架构详解
在默认情况下,Redis将内存数据库快照保存进名字为dump.rdb的二进制文件中可以对redsi进行设置,让他在N秒内数据集至少有M个改动了,这一条件被满足的时候,自动保存一次数据集比如说,以下设置会让Redis在满足60秒内至少有1000个键被改动这一条件执行时,自动保存一次还可以手动生成RDB快照,进入redis客户端,执行命令或者可以生成dump.rdb文件,每次命令都将会执行将所有的redis内存快照到新的rdb文件中,并覆盖原有的rdb文件。
2024-02-06 16:55:13
1857
5
原创 Docker安装
意外情况:因为安装好之后,连接的是国外的服务器,可能会出现报network错误的问题,需要配置国内镜像。第七步:重启docker或者重启系统,推荐重启系统。第一步:先卸载之前docker的安装和一些插件。第五步:运行测试代码,hello world。第三步:安装Docker。第四步:启动Docker。第二步:开始安装插件。第六步:配置国内镜像。
2024-01-31 09:27:23
191
原创 JVM类加载机制
比如我们的Math类,最先会找应用程序类加载器加载,应用程序类加载器会先委托扩展类加载器进行加载,扩展类记载其在委托引导类加载器,顶层引导类加载器在自己的类加载路径中,找不到math类,则向下退回加载math类的请求,扩展类加载器收到之后就及自己进行加载,如果扩展类加载器也找不到就会向下退回找应用程序类加载器进行加载.类加载到方法区中,主要包含,运行时常量池,类型信息.,字段信息,方法信息,类加载器的引用,对应class实例的引用等信息。类加载器的引用,这个类到类加载器实例的引用。
2024-01-29 15:23:03
955
原创 Mysql 8.0新特性
索引隐藏只是不可见,但是数据库后台还是会维护隐藏索引的,在查询时优化器不使用该索引,即使用force index,优化器也不会使用该索引,同时优化器也不会报索引不存在的错误,因为索引仍然真实存在,必要时,也可以把隐藏索引快速恢复成可见。软删除就可以使用隐藏索引,比如我们觉得某个索引没用了,删除后发现这个索引在某些时候还是有用的,于是又得把这个索引加回来,如果表数据量很大的话,这种操作耗费时间是很多的,成本很高,这时,我们可以将索引先设置为隐藏索引,等到真的确认索引没用了再删除。对于select …
2024-01-24 17:06:54
1124
原创 Mysql全局优化
如果innodb_buffer_pool_size是40GB,给操作系统分配4G,给连接使用的最大内存不到20G,如果连接过多,使用的内存超过20G,将会产生磁盘SWAP,此时将会影响性能。此参数用来设置innodb线程的并发数,默认值为0表示不被限制,若要设置则与服务器的CPU核心数相同或是CPU的核心数的2倍,如果超过配置并发数,则需要排队,这个值不宜太大,不然可能会导致线程之间锁争用严重,影响性能。mysql进行操作完毕后,空闲300秒后断开,默认是28800,单位秒,即8个小时。
2024-01-24 17:05:36
436
原创 InnerDB底层原理和MySql日志机制深入剖析
的话题,假设我们把数据库所有数据都删除了要怎么恢复了,如果数据库之前没有备份,所有的binlog日志都在的话,就从binlog第一个文件开始逐个恢复每个binlog文件里的数据,这种一般不太可能,因为binlog日志比较大,早期的binlog文件会定期删除的,所以一般不可能用binlog文件恢复整个数据库的。开始执行的时候,要先判断一下你对这个表 T 有没有执行查询的权限,如果没有,就会返回没有权限的错误,如下所示 (在工程实现上,如果命中查询缓存,会在查询缓存返回结果的时候,做权限验证)。
2024-01-24 16:54:45
1428
原创 裁员对于程序员的影响
更进一步的是,裁员对于程序员的长期影响也不容忽视。许多被裁员的工程师虽然技术过硬,但由于长时间专注于某一特定的技术领域,可能面临难以转行的困境。在技术日新月异的今天,快速学习新技术并适应新的开发范式是至关重要的。然而,对于那些被裁员后长时间找不到工作的工程师来说,这种持续学习的动力可能会被消磨殆尽。这包括但不限于:持续学习新技术和开发范式、保持对行业动态的关注、提高自己的软技能、保持健康的心理状态等。在美国这样高生活成本的环境下,突如其来的经济压力可能会使夫妻二人陷入困境,甚至可能导致悲剧的发生。
2024-01-24 09:36:17
357
原创 ChatGPT 和文心一言哪个更好用?
ChatGPT的知识库涵盖了更广泛的领域,并且能够提供更为详细的信息。相比之下,文心一言的知识库相对较为有限,主要集中在一些特定的领域。但需要注意的是,知识库的丰富度并不是衡量一个AI助手优劣的唯一标准,不同的用户对于知识库的需求也有所不同。由于ChatGPT和文心一言在技术实现、语言处理和知识库丰富度等方面的差异,它们适用于不同的场景。ChatGPT更适合于需要自然、流畅的语言交互的场景,例如聊天机器人、语音助手等。而文心一言则更适合于需要稳定、可靠的语言处理的场景,例如智能客服、语音识别等。
2024-01-24 09:23:50
959
原创 MySql事务原理
我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了。
2024-01-21 21:59:32
898
1
原创 MySql数据库锁机制和MVCC多版本并发控制
MyISAM在执行查询语句select之前,会自动给表加读锁,在执行update,insert,delete操作的时候会自动给涉及的表加写锁InnerDB在执行查询语句的时候(非串行化),不会加锁,在操作update,insert,delete会加行锁另外,读锁会阻塞写,但是不会阻塞读。而写锁则会把读和写都阻塞。Innodb存储引擎由于实现了行级锁定,虽然在锁定机制的实现方面所带来的性能损耗可能比表级锁定会要更高一下,但是在整体并发处理能力方面要远远优于MYISAM的表级锁定的。
2024-01-21 21:48:04
838
1
原创 MySql优化 二
有索引情况 count(*) ≈count(1)>count(字段)>count(主键id) ,字段有索引,因为字段存在的是2级索引,2级索引存储的只是字段值和主键ID,主键ID存储的是当前行所有的数据,所以COUNT(ID)会比COUNT(字段慢)没有索引情况 count(*) ≈count(1)>>count(主键id) >count(字段),字段没有索引count(字段)统计走不了索引,count(主键 id)还可以走主键索引,所以count(主键 id)>count(字段)
2024-01-17 23:15:44
893
原创 MySql优化一
MySql支持两种方式的排序,filesort和index,Using index是指Mysqk扫描索引本身完成的排序,index效率高,filesort效率低.order by满足两种情况才会使用Using index- order by 语句使用索引最左前列- 使用where 子语句与order by子语句条件列组合满足索引最左前列尽量在所以列上完场排序,遵循索引建立(索引创建的顺序)时的最左前缀法则如果order by的条件不在索引列上,就会产生Using filesort。
2024-01-17 09:57:17
846
原创 el-table表格中el-table-column列多导致页面显示不完全
【代码】el-table表格中el-table-column列多导致页面显示不完全。
2024-01-10 15:07:44
2294
1
原创 vue跳转页面时打开新的页面
Vue中,你可以使用router-link组件或编程式导航来实现页面跳转。如果你想在跳转时打开一个新的页面(即新标签页或新窗口),你可以使用target="_blank"属性或编程式导航的replace方法。你可以使用JavaScript的window.open方法来打开一个新的标签页,并传递所需的参数。
2024-01-09 15:21:27
1470
原创 el-date-picker 时间选择器获取的时间和选择的时间少一天问题
在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8168aff850c149c7b136d65be42af530.png。当前时间选择器选择的是2024/01/15,但是获取的时间确是2024/01/14下午四点,比我们选择的时间少一天。原因:缺少时间格式化。
2024-01-09 14:34:49
1421
原创 Spring Cloud Gateway 报错 The Mono returned by the supplier is null
当前报错原因是因为新增了Gateway的全局过滤器,在添加全局过滤器的时候对一定的请求进行拦截,在拦截之后没有对当前请求进行放行,需要在最后return的时候进行放行,不能返回为null。
2024-01-08 10:25:27
1177
win7path原始路径.txt
2020-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人