- 博客(219)
- 收藏
- 关注
转载 Java 的 BigDecimal 是什么?
类型虽然可以存储浮点数,但由于它们使用二进制表示,无法精确表示所有十进制数,这可能导致精度丢失或舍入误差。)更高精度的浮点数表示,特别适用于财务计算、科学计算等需要精确结果的场景。使用数值(不推荐,因为double和float有精度问题)是 Java 中用于高精度浮点数运算的类,属于。使用字符串(推荐方式,因为字符串可以精确表示数值)可以进行精确的计算,避免这种精度问题。它提供了比基本数据类型(如。
2025-03-27 16:30:24
7
转载 SpringBoot+@Async注解一起用,速度提升
异步调用几乎是处理高并发Web应用性能问题的万金油,那么什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。
2025-03-18 14:23:29
13
转载 SQL为什么不建议执行多表关联查询
结合网络一些解释,做出一些探讨mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join),而PG是都支持的,而且mysql是往简单化方向去设计的,如果多个表关联查询(超过3张表)效率上是比不上PG的。不超过3层是为了效率。更通用 ,更好为了分布式做准备。
2025-03-13 15:14:13
12
转载 怎么理解Java中的lambda表达式
Lambda表达式是JDK8开始后的一种新语法形式简化匿名内部类的代码写法rust代码解读复制代码(匿名内部类被重写方法的形参列表)->{ 被重写方法的方法体代码 } 注:->是语法形式,无实际意义首先我们先定义一个抽象类,通过匿名内部类重写其方法,再对其进行简化,比较二者之间有何变化:使用Lambda表达式之前:csharp代码解读复制代码。
2025-03-10 17:43:53
9
转载 Go中make和new的区别
用于初始化切片(slice)、映射(map)和通道(channel)这三种特定的数据结构,并返回一个初始化后的对象。适用于切片、映射和通道的初始化,因为这些数据结构需要特定的内部初始化操作才能正常使用。会对特定的数据结构进行完整的初始化,包括设置长度、容量(对于切片和通道)、内部的哈希表(对于映射)等,使其可以立即使用。对于结构体等复合类型,其内部的字段可能还需要进一步的初始化才能正常使用。可以确保切片有正确的长度和容量,并初始化为整数类型的零值。返回一个长度为 5 的切片,而不是指向切片的指针。
2025-03-05 16:02:56
27
转载 用 Go 基于 epoll 实现一个最小化的IO库
当一个新连接到来时会回调 OnOpen 函数,此时你可以设置自定义的 ctx ,那么当对应连接读事件到来 OnRead 回调,你可以拿到之前设置的 ctx ,调用 conn.Read 读取数据,且通过 Write 向对端写数据。上面的代码,初始化一个 easyio ,启动一个 tcp 服务,监听端口 8090 ,options 里面设置 epoll 的数量,以及设置事件处理器。它是一个最小化的 IO 框架,只实现最核心的部分,加起来不超过 500 行代码。evio 也存在一些问题,之前也写过。
2025-02-19 16:03:22
35
转载 MySQL 中的全文索引:强大的文本搜索利器
例如,在一个包含文章内容的数据库表中,如果我们想要搜索包含特定关键词的文章,使用全文索引可以大大提高搜索的效率。MySQL 中的全文索引是一种非常强大的功能,它可以帮助我们在大量文本数据中进行快速的全文搜索。与传统的索引不同,全文索引不是基于特定的列值进行索引,而是对文本内容进行分析和索引,以便能够快速地找到包含特定关键词的记录。当我们执行全文搜索时,MySQL 会将搜索关键词进行同样的分析处理,然后在全文索引中查找与关键词相关联的记录。经过分析后的文本被存储在全文索引中,以便后续的搜索操作。
2025-02-17 18:07:13
26
转载 如何实现 MySQL 的读写分离?
这里有一个非常重要的一点,就是从库同步主库数据的过程是串行化的,也就是说主库上并行的操作,在从库上会串行执行。所以这就是一个非常重要的点了,由于从库从主库拷贝日志以及串行执行 SQL 的特点,在高并发场景下,从库的数据一定会比主库慢一些,是。其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。而且这里还有另外一个问题,就是如果主库突然宕机,然后恰好数据还没同步到从库,那么有些数据可能在从库上是没有的,有些数据可能就丢失了。
2025-02-12 17:49:02
12
转载 spring boot 启动流程
可以看到,方法的返回值类型为 ConfigurableApplicationContext,这是一个接口,我们真正得到的是 AnnotationConfigServletWebServerApplicationContext 的实例。到此,Spring 真正开始开展 Bean 管理的工作了,prepareContext () 方法把所有需要管理的 Bean 统计出来,在后面的 refreshContext () 方法中会进行更进一步的操作。上面的代码中,又调用了一个很关键的方法 ——load ()。
2025-02-10 16:05:34
47
原创 守护真诚,连接心与心,饭友APP共筑安全交友新风尚!
为了尽可能的保障安全无忧的聊天交友环境,饭友APP是这样做的。至于聊天交友过程中的异常,饭友APP同样有应对策略,一旦对方有异常行为,或者触发“转账”、“卡号密码”等关键词,系统会立刻发出提示,提醒用户注意自身财产、信息安全。最后是平台治理这一块,光靠用户自我防范“交友陷阱”显然是不够的,所以,很多平台都有专门的防诈团队,24小时处理异常情况。在当前信息高度发达的时代,人与人之间的连接似乎变得越来越容易,但与此同时,网络交友中的诈骗事件也层出不穷,让人不自觉看到交友两个字就联想到“欺骗、欺诈”等负面消息。
2025-02-08 17:28:36
169
转载 java引入本地 MultipartFile 实现多部分文件上传
通过创建一个实现了`MultipartFile`接口的本地类,我们可以方便地将本地文件转换为`MultipartFile`对象,并进行文件上传操作。通过引入本地 MultipartFile,我们可以方便地将本地文件转换为`MultipartFile`对象,并进行文件上传操作。这在某些场景下特别有用,例如在批量上传文件时,可以直接从本地文件系统中读取文件,而无须通过表单上传。接下来,我们可以使用这个本地 MultipartFile 类,将本地文件转换为`MultipartFile`对象,并进行文件上传操作。
2025-02-06 18:08:41
121
转载 Java反射
如果没有反射,对于外部类的私有成员,我们将一筹莫展,所以我们有了反射这一后门,为程序设计提供了更大的灵活性。还是以 Student 类为例,如果此类在其他的包中,并且我们的需求是要在程序中通过反射获取他的构造方法,构造出 Student 对象,并且通过反射访问他的私有字段和私有方法。第一种方法是通过类的全路径字符串获取 Class 对象,这也是我们平时最常用的反射获取 Class 对象的方法;:提供有关类的构造方法的信息,以及对它的动态访问权限。,且都是一个私有,一个公有。它是一个封装反射类的属性的类。
2025-01-24 15:04:50
13
转载 从混沌到秩序:Python的依赖管理工具分析
依赖管理工具常用于处理软件项目中的依赖关系。在软件开发过程中,一个项目往往会依赖于许多其他的软件库、框架或组件。依赖管理工具能够帮助开发者精确地指定这些依赖项的版本,自动下载和安装它们,并且可以在不同的环境中(如开发、测试、生产环境)保证依赖项的一致性。这样可以有效避免因依赖版本混乱而导致的软件故障、兼容性问题等情况。比如,其他编程语言的标准依赖管理工具NodeJS的npmRust的cargoJava的Maven等等。依赖管理工具最关键的作用是可重复性。
2025-01-22 18:20:44
42
转载 Spring Boot 两种部署到服务器的方式
再说一次,将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问spring boot 项目中配置文件配置的端口。application.yml中配置的server.port配置的是spring boot内置的tomcat的端口号, 打成war包部署在独立的tomcat上之后, 你配置的server.port是不起作用的。很明显,日志告诉我们,我们应该访问8080端口。传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问。
2025-01-20 18:10:25
105
转载 Python装饰器实战:打造高效性能计时工具
总之,基于Python装饰器实现的函数性能计时工具具有代码简洁、复用性强、灵活度高、便于性能分析、易于集成等诸多好处。这些好处使得它成为我们在进行代码性能分析和优化时的有力工具。
2025-01-17 11:17:07
35
转载 Go语言中的加密和解密是如何实现的?
Go语言通过其标准库提供了丰富的加密和解密功能,使开发者能够方便地进行数据加密和解密操作。在实际应用中,开发者需要根据具体需求选择合适的加密算法和密钥,并遵循最佳实践来确保数据的安全性。同时,对于加密和解密过程的理解和掌握也是非常重要的,这有助于开发者更好地应对各种安全挑战。
2025-01-13 18:11:22
44
转载 轻松搞定在Python中构建虚拟环境
假设我继续前进,并在我的Ubuntu机器上安装最新版本的库,因为我需要它来做另一个项目。一切似乎都很正常,直到我试图使用我的老项目,该项目在2.3.0版本下运行良好。这可以作为主要的论据,Python中的严肃项目依赖于其他开发者编写的其他软件包。在这一点上,原因并不重要,因为我的老项目已经坏了,不再工作了。你可能注意到,我在POSIX(macOS和Linux)中使用bash shell,这就是为什么我在运行上面的命令。至关重要的是,每次我们想使用创建的虚拟环境时,都需要用以下命令来激活它。
2025-01-09 14:39:18
52
转载 Spring Boot 如何测试打包部署
Spring Boot 项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下 Spring Boot 如何开发、调试、打包到最后的投产上线。
2025-01-07 16:56:16
45
转载 探索Python虚拟环境:virtualenv、venv与pipenv比较
通过对virtualenv、venv和pipenv的比较,我们可以看出,虽然每种工具都有其独特的优势,但pipenv由于其综合的包管理和虚拟环境管理功能,以及清晰的依赖管理和官方的推荐,使得它成为了我们的首选。通过合理的虚拟环境管理,我们可以为项目的开发和维护打下坚实的基础,确保项目的稳定和可靠。
2025-01-02 16:17:18
57
转载 java中的常见运算符的计算方式
正数的补码是其本身,负数的补码是在原码的基础上,符号位不变,其余各位取反,最好+1(即在反码的基础上+1)在说计算方式之前,先说一下计算机中的原码,反码和补码,计算机中存储的二进制都为数据的补码。计算机中的计算方式都是二进制计算,下面说的计算方式中,均要把十进制转换为二进制进行计算。正数的反码就是其本身,负数的反码实在其原码的基础上,符号位不变,其余部位取反。例如: 6 - 2 = 6 + (-2) = 4 下面的二进制码均为补码。原因如下: -1-127 = -128。下面的计算例子采用8位表示。
2024-12-31 09:47:16
16
转载 理解CAS算法原理
CAS:Compare and Swap,即比较再交换。jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是一种独占锁,也是是悲观锁。
2024-12-25 17:45:43
27
原创 Temu自养号测评流程与注意事项
然而,现在跨境电商市场竞争激烈,为了提升产品的竞争力和销量,一些商家会采取自养号测评的策略。Temu自养号测评确实是一种有效的运营策略,但商家在操作的时候应该注意遵守平台的规则,确保账户的安全性和真实性。最好使用真实的住宅代理,它采用真实的住宅IP,能提高账户的真实性。当养号账号达到一定活跃度后,就可以利用Temu平台的搜索功能,来搜索目标产品,并且查看多个类型产品,模拟真实用户的购物行为。选择店铺的产品,并且按照正常的购物流程下单,选择合适的支付方式,并填写真实收获地址。
2024-12-25 16:54:36
380
转载 在springboot中缩短一个url链接
通过 Spring Boot 框架,我们可以快速构建一个带有定时任务、访问统计以及过期处理的 URL 缩短服务。在真实场景中,可能还会涉及更多的功能,如用户身份验证、URL 黑名单过滤等。
2024-12-19 17:41:49
57
原创 探究亚马逊账号被关联的因素及防范策略
确保每个亚马逊账号使用独立的设备登录,每个账号应在不同的电脑上使用。而指纹浏览器可以允许用户同时管理多个账号,它能给每个账号一个独立的操作环境,这样即使在同一台电脑上登录,也不会出现关联。注册亚马逊账号时,最好使用独立的个人信息,包括法人姓名、地址、电话号码、营业执照、信用卡以及收款账号等资料。多个亚马逊账号销售相同的产品,产品在类目、价格、详情页内容等方面基本雷同,亚马逊平台通过对比,会认为这几个账号存在关联。使用同样的法人姓名、地址、电话、邮箱、信用卡、营业执照等注册多个账号,这很容易会被亚马逊识别。
2024-12-18 17:38:40
313
转载 Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置是一种机制,它可以根据类路径中的依赖、定义的 Bean 和其他因素,自动推断并配置 Spring 应用所需的 Bean 和功能。例如,Spring Boot 可以自动为我们配置数据源、JPA、MVC 等常用的 Spring 组件。自动配置大大简化了我们的工作,省去了手动配置大量的 XML 或 Java 配置代码。通过自动配置,我们可以在项目启动时获得一个完整且功能齐全的 Spring 应用,进而专注于业务逻辑开发。
2024-12-17 17:04:10
219
转载 一条SQL是怎么执行的
对于读语句来说会经过Server服务层及存储引擎层Server层会依次访问连接器,缓存器,分析器,优化器,执行器ini代码解读复制代码存储引擎层则取决于数据表在创建时选择的存储引擎。
2024-12-12 15:42:03
22
原创 Lazada怎么注册?详细注册步骤解析
Lazada注册的步骤比较简单,然而想要管理和运营多个店铺,需要掌握一定的技巧。通过IPXProxy代理IP,就可以模拟不同国家的网络环境,每个账号可以使用不同的IP地址,从而面向不同的国家/地区的用户,增加产品曝光度。以上就是注册Lazada的详细步骤。不过,在管理多账号时,卖家一定要注意账号的独立性和安全性,使用代理IP来避免账号关联。Lazada会发送验证邮件或短信来确认你的身份,所以确保你填写的邮箱和手机号码是有效的。这些信息十分重要,确保你填写的信息都是准确无误的,以便你的店铺能顺利通过审核。
2024-12-11 16:44:03
461
转载 什么是java的Compact Strings特性,什么情况下使用
内部结构在Java 8及之前,字符串是用char[]字符数组存储的,每个字符占两个字节(UTF-16编码)。Java 9开始,字符串改为byte[]字节数组。对于只包含Latin-1(ISO-8859-1)字符的字符串,每个字符只需一个字节;若包含其他字符则仍使用两个字节(UTF-16)。编码标识Java 9中的每个字符串对象都有一个编码标识(coder),用于指示当前字符串的编码方式:LATIN1(值为0):只包含Latin-1字符。UTF16(值为1):包含其他字符(如中文)。内存优化。
2024-12-10 15:10:26
35
转载 java常用数据判空、比较和类型转换
java 开发中我们经常会用到的数据判空、数据比较和不同数据之间的类型转换,尤其数据判空可以让我们避免经常会出现的 NullPointerException 空指针异常报错。
2024-12-06 11:54:54
70
原创 LINE怎么养号?全方位指南大公开!
为了确保的账号的稳定和安全,养号是十分有必要的。通过遵循以上这些步骤,用户可以有效的培养一个稳定的LINE账号,减少账号被封的风险,同时保持账号的活跃度和稳定。定期发布动态,分享自己的生活状态、心情或有趣内容,这可以吸引用户的关注和互动,能有效的提高账号的活跃度。养号前期先完善号个人资料,包括头像、昵称等等,确保这些信息的准确性和适当性,这可以增加其他用户对你的关注和兴趣度。在养号期间,适当的进行互动和加好友。定期清理无关好友,保持联系人列表的整洁,避免被骚扰或账号被陌生人添加,这能有效确保账号安全。
2024-12-03 17:14:49
435
转载 关于 MySQL 重复读导致的重复插入问题
可以发现,这段代码其实在最开始已经有数据库锁了,所以如果涉及到对表 TBL_CLASS 相同行数据进行操作时,事务 A 会进行锁定,事务 B 在执行相同行的时候,会进行等待,直到事务 A 结束,事务 B 再继续执行。但为什么仍然导致数据重复插入呢?原因就在 classOrders 里,当事务 A 结束后,事务 B 继续执行时,因为 MySQL 默认隔离级别是重复读,导致事务 B 在读取 classOrders 时仍然为空。找到原因,方案就比较容易了,目的就是读取最新数据,无论事务是否提交。
2024-12-02 16:11:05
38
转载 SpringBoot 读取配置的几种方式
SpringBoot中读取项目配置的主要分为两大类,第一种就是直接将配置读取到指定的一个字段上,第二种就是将配置读取到配置类上,然后其他使用到配置的组件装配配置类就可以了classpath在介绍SpringBoot读取配置之前,首先有必要了解一下classpath,因为程序默认都是加载classpath目录下面的配置文件SpringBoot中的classpath其实就是class的路径,也就是springBoot项目编译之后生产的文件夹,这个文件夹就是对和编译的结果,所以有时候提到classpath。
2024-11-27 15:25:42
127
转载 springboot解决js前端跨域问题,javascript跨域问题解决
把下面代码放到你的springboot项目中就可以了。对应的js请求代码如下。
2024-11-25 16:32:35
44
转载 java怎么设置代理ip:简单步骤,实现高效网络请求
通过以上几种方法,你可以在Java中轻松设置代理IP。无论是使用系统属性、直接在连接中设置代理,还是使用第三方库,Java都提供了灵活的方式来满足你的需求。掌握这些技巧,将有助于你在网络请求中实现更高的灵活性和安全性。
2024-11-21 16:10:01
93
转载 Java之HashMap详解
JDK7中,HashMap的桶不会树化,始终是链表结构。在JDK8中,HashMap引入了红黑树在JDK7中,当HashMap的容量达到阈值时,才会触发扩容。在JDK8中,除了容量达到阈值外,当哈希表长度小于64时,某个桶中的链表长度大于等于7时,也会触发扩容。树化只是提高了桶中查询效率,而扩容直接削弱了哈希冲突程度,效果更好在JDK7中,put、resize操作时,对链表使用头插法,在并发扩容时,可能形成环形数据结构,导致死循环;在JDK8中采用头插法,来避免出现死循环。
2024-11-13 16:06:26
54
转载 Java ArrayList扩容的原理
创建一个ArrayList对象时,底层先创建了一个长度为0的数组elementDate,创建变量size,size有两个作用:集合的长度(元素的个数)和下一个元素应该添加的位置添加一个元素其实有点复杂:如果现在的size≠数组的长度(数组没有存满),则直接在size所指的位置添加元素,然后size++但是若size=数组的长度(相当于已经存满了),那么就会调用ArrayList中的grow方法,先对数组进行扩容然后再存入元素。
2024-11-11 16:53:57
73
1
转载 自动化测试在 Go 开源库中的应用与实践
无论是单元测试对模块逻辑的快速验证,还是集成测试对真实环境下交互的检查,自动化测试都有效减少了代码调整或升级带来的风险。与手动测试不同,自动化测试可以快速、反复地执行,帮助开发者在代码变更或重构时及时捕捉问题,从而保证软件的稳定性。通过自动化测试,大大减少了手动调试的时间,提高了代码的可靠性和升级的效率。单元测试主要关注单一模块的功能,通常直接测试模块的逻辑,以验证其在各种输入条件下的正确性。来区分并选择性地运行集成测试,避免在运行单元测试时触发集成测试,从而提高测试的灵活性和管理效率。
2024-11-08 11:55:30
62
转载 Mysql 中日期比较大小的方法有哪些?
确保在比较日期时,你使用的日期格式和比较值的格式是一致的,以避免错误。日期比较时,MySQL 会将字符串转换为日期类型进行比较。在 MySQL 中,你可以使用多种方法来比较日期的大小。这将选择日期列值在 '2023-01-01' 之后的所有记录。这将选择日期列值在 '2023-01-01' 之后的所有记录。这将选择日期列值大于 '2023-01-01' 的所有记录。这将选择日期列值大于当前日期和时间的所有记录。 函数返回两个日期之间的天数差异。 函数用于提取日期部分。
2024-11-06 14:17:41
361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人