- 博客(812)
- 收藏
- 关注
原创 在intelliJ idea开发springboot项目,启动项目,run/debug configurations配置窗口里,vm options / program arguments / env
参数类型作用范围影响对象常见用法适用场景VM options整个 JVM 实例JVM、所有应用模块内存设置、GC 设置、系统属性设置、调试选项性能调优、环境配置、远程调试当前 Spring Boot 应用当前应用传递配置文件路径、指定运行模式、传递标志位灵活配置、特殊模式、初始化任务整个操作系统进程所有应用模块配置数据库连接信息、配置 API 密钥/Token、配置外部服务地址、配置运行环境安全性、环境隔离、配置中心集成。
2025-02-07 16:51:20
1021
原创 python导入包
(对于 Python 来说,包含__init__.py文件的文件夹被视为一个包)。这个文件可以为空,也可以用于初始化一些全局变量或者导入必要的模块。
2024-12-31 11:43:42
786
原创 python输入并输出打印
函数会先在控制台打印出括号内的提示信息“请输入你的名字: ”,等待用户输入内容,用户输入完成并按下回车键后,输入的内容会被当作字符串赋值给变量。方法去除换行符,再进行后续处理。读取一行数据,包含末尾的换行符。指定了输出内容之间的分隔符,指定了输出内容的结尾字符。
2024-12-31 11:01:39
356
原创 python环境搭建
安装完成Python后,还可以使用一些集成开发环境(IDE)来方便地编写和运行Python代码,如PyCharm、Visual Studio Code等。以Visual Studio Code为例,需要先下载并安装(https://code.visualstudio.com/),然后在扩展商店中安装Python插件,这样就可以在Visual Studio Code中编写和调试Python程序了。
2024-12-31 10:10:12
947
原创 Bean创建过程中调的方法
将beanName添加到defaultSingletonBeanRegistry的成员变量singletonCurrentlyInCreation集合中。然后调singletonFactory.getObject方法,调到匿名beanFactory实例,DefaultSingletonBeanRegistry.addSingleton方法。调beforeSingletonCreation方法,在AbstractBeanFactory中。getSingleton方法中,将已创建的Bean加入到容器。
2024-12-23 17:13:04
266
原创 数据库优化、sql优化
4、对于单表超过5000万条的数据要使用分布式数据库;如果业务简单,利用中间件读写分离、分库分表等。6、更新和删除用id主键更新,避免出现未建立索引的字段出现在where条件里导致锁表。2、不要在sql里执行复杂逻辑,在程序里执行复杂逻辑;5、减少join操作。可以用id查询关联表数据。1、限制查询返回条数、要分页;7、避免使用存储过程、外键等。3、建立合适的索引;
2024-12-09 15:27:57
143
原创 java hashmap的hash方法的作用是为了让哈希表分布更均匀
java hashmap的hash方法的作用是为了让哈希表分布更均匀。为什么要对key的hashCode无符号右移16位呢?
2024-12-05 10:39:51
127
原创 Java NIO channel
在 Java NIO 中扮演着至关重要的角色,它不仅记录了通道的兴趣操作和就绪状态,还提供了附加对象的功能,便于开发者在处理 I/O 事件时携带额外的上下文信息。通过,你可以高效地管理和响应多个通道的 I/O 操作,从而实现高性能的网络应用程序。
2024-12-03 15:34:00
1066
原创 Java IO操作和使用方法
write系统调用是 Linux 系统中最基本的写入操作之一,广泛用于文件、管道、套接字等 I/O 操作。通过理解其参数和返回值,你可以更好地控制和优化 I/O 操作,确保程序的正确性和性能。read系统调用是 Linux 系统中最基本的读取操作之一,广泛用于文件、管道、套接字等 I/O 操作。通过理解其参数和返回值,你可以更好地控制和优化 I/O 操作,确保程序的正确性和性能。无论是字节流还是字符流,最终的操作都是由操作系统执行的,但字符流在应用程序和操作系统之间增加了一层字符编码/解码的逻辑。
2024-12-03 11:38:31
929
原创 ConfigurationClassEnhancer
代理生成使用CGLIB生成类的代理对象。代理对象继承自类,并重写所有方法。方法拦截实现接口,拦截对@Bean方法的调用。拦截器检查方法调用,确保通过Spring容器管理。Bean 创建和管理当Spring容器需要创建某个Bean时,会通过代理对象调用相应的@Bean方法。拦截器调用Spring容器的方法来创建和管理Bean。通过这种方式,Spring确保了类中的所有@Bean方法调用都由Spring容器管理,从而实现了灵活和强大的Bean管理机制。
2024-11-15 17:20:35
869
原创 希尔排序与插入排序优化在哪里?
第一步,先对后一部分和前一部分比较,实现了后一部分较小的提前插入到前面,降低了移动次数。希尔排序与插入排序优化在哪里?
2024-10-28 10:49:42
301
原创 mybatis在springboot项目中的批次操作
UserMapper和都是 MyBatis 的 Mapper 接口,定义批量插入的单条 SQL 操作。@Mapper// 单条插入用户数据@Mapper// 单条插入订单数据事务控制确保了两个批量操作都在同一个事务中进行。批量插入:通过执行批量插入,使用和commit()来控制批处理的执行和事务提交。性能优化:批处理可以减少数据库交互次数,显著提升批量插入性能。通过这种方式,你可以在方法中对两个表执行批量插入,并在一个事务中提交所有操作,从而保证数据的一致性和批处理性能。
2024-10-16 11:01:50
1212
原创 mybatis的缓存机制
一级缓存是 MyBatis 的默认缓存,它在SqlSession级别起作用,生命周期与SqlSession相同。也就是说,同一个SqlSession对象在多次执行相同的查询时,如果参数相同,第一次查询的结果会被缓存起来,后续的相同查询会直接从缓存中获取数据,而不再发送查询请求到数据库。二级缓存作用范围是Mapper(映射器)级别,多个SqlSession可以共享相同的缓存数据。也就是说,同一个Mapper对象的查询结果可以跨SqlSession复用。一级缓存:默认开启,作用在SqlSession。
2024-10-16 10:42:27
836
原创 linux日志查询搜索view
view命令实际上是vim编辑器的一个只读模式。当你使用view打开一个文件时,实际上是在用vim查看该文件,只是不能编辑内容。因此,view下的搜索操作与vim类似。以下是如何在viewviewviewvimerrornNview:qview举个例子,如果你想在日志文件然后在viewerrornN如果你需要退出view模式,可以按:q后按 Enter 键。
2024-09-24 17:19:17
684
原创 varchar 修改后字段值变长了或变短了
原文链接:https://blog.youkuaiyun.com/liuche1/article/details/121502439。mysql变长类型字段varchar值更新变长或变短底层文件存储原理。
2024-08-23 16:09:57
290
原创 rotcketmq实践 吞吐量 发送重试 重试消费 异步 批量发送
性能:批量发送通常比单笔发送更高效,尤其是在消息体较小的情况下。资源消耗:批量发送减少了网络IO次数,降低了系统资源消耗。错误处理:单笔发送更容易实现精确的错误处理逻辑;批量发送则需要更复杂的逻辑来确保消息的正确性。在实际应用中,可以根据业务需求和性能要求选择合适的消息发送方式。例如,在对实时性和准确性要求非常高的场景下,可以选择单笔发送;而在追求高吞吐量且能接受一定延迟的场景下,则可以采用批量发送。
2024-08-16 16:46:12
896
原创 elasticsearch 字段类型的索引、字段类型修改、字段类型、分页、排序、分组、聚合
Elasticsearch 支持多种数据类型,用于处理和存储不同格式的文档数据。主要的数据类型分为三大类:核心数据类型、复杂数据类型和特殊数据类型。
2024-08-16 11:00:41
1791
原创 clustered index的叶子节点存储了行数据,请问叶子节点行数据在磁盘上必须按照一整块硬盘的地址顺序存储吗? 还是可以碎片化利用磁盘空间呢?
InnoDB 的聚簇索引(Clustered Index)中的叶子节点确实存储了行数据,但这并不意味着这些叶子节点必须按照硬盘的物理地址顺序连续存储。实际上,在数据库管理系统中,数据通常是以页(Page)为单位管理的,每个页都有固定的大小,比如 InnoDB 中的默认页大小是 16KB。
2024-07-29 16:24:12
408
原创 ElasticSearch 关于搜索,有哪些类型的搜索
以上是Elasticsearch中的一些主要搜索类型。你可以根据你的需求选择合适的搜索类型来优化查询性能和满足特定的业务需求。如果你有具体的场景或问题需要讨论,请随时提问!
2024-07-29 09:40:59
473
原创 mongodb的功能和工具不如mysql多吗
MySQL 在关系数据处理、数据完整性约束、事务支持等方面具有优势,拥有成熟的关系模型和广泛的工具生态系统。MongoDB 在灵活性、水平扩展能力、高性能查询、地理空间索引等方面具有优势,特别适合处理大规模非结构化或半结构化数据。选择哪种数据库取决于您的具体需求和场景。如果您需要处理关系型数据并确保数据的一致性,MySQL 可能是更好的选择。如果您需要处理大规模的非结构化数据并且需要灵活性和水平扩展能力,MongoDB 可能更适合您的需求。
2024-07-26 16:42:48
374
原创 SecureCRT连接Linux时乱码问题
使用SecureCRT输入中文出现乱码的问题,通常与字符编码和终端的显示设置有关.发生乱码的原因主要是有三个地方1.Linux的etc的系统默认配置的编码2.用户环境变量里面设置的LANG变量3.SecureCRT会话变量里面的字符集的设置只要保持这三个地方的字条集编码保持一致就可以了。
2024-07-24 11:09:56
781
原创 idea springBoot启动时覆盖apollo配置中心的参数
–key01=val01 --key02=val02env=FAT;key02=val02;key03=val03
2024-07-22 17:15:05
786
原创 后端开发常见错误
8、批次处理表数据,要在try中占用批次,占用完成后要重新select批次数据,以避被其他线程占用数据。批次处理完成后要在finally中释放批次数据,即把执行批次(exe_batch_no)字段给清空。6、如遇奇怪的参数丢失,请仔细检查原始json,常见错误包括(1)字段重复,同一个字段写多次。4、表字段长度,在接口层校验字段长度, 调用三方系统的报错要截取报错的信息长度,避免登记表字段长度不足。3、使用mybatis的foreach的时候要考虑拼接sql的耗时,尤其是超过10条数据。
2024-07-05 10:34:09
386
原创 spring tx @Transactional 详解 `Advisor`、`Target`、`ProxyFactory
Advisor是一个Spring AOP的概念,它包含了切点(Pointcut)和通知(Advice)。在事务管理中,是一个典型的Advisor。通过以上代码示例,可以看出Spring如何解析注解,并使用AdvisorTarget和创建代理对象来处理事务逻辑。这些组件协同工作,实现了自动的事务管理。
2024-07-04 15:37:23
465
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人