- 博客(200)
- 收藏
- 关注
转载 Java参数传递分析
如果单纯从上述的代码之中看,那我们很可能就会认为是引用传递起了作用,但是我们要知道,引用传递起作用是发生在一个整体的同一个步骤之中,而不像此处,先传值,然后再去通过方法的返回值,去赋值,这样就是两个步骤了,这种操作,会让人一下子有点迷惑,但是其实还是很好理解的,就是说,一步到位的就一定是引用传递,而我们只需记住,Java之中只有按值传递,所有的参数传递操作,都是传递了值的拷贝,也就是值的内容,而非对象的地址。按值传递:就是把原来的参数的值,拷贝一份,将这个拷贝的值修改,而原来的旧的值不会修改。
2025-05-14 17:39:56
8
转载 Python教程:os 与 sys 模块详细用法
os 模块主要涉及文件操作、文件夹操作、路径操作和其他操作四个方面。os.rename('旧名字',
2025-04-28 16:45:37
26
转载 Python用户输入与While循环
总的来说,用户输入与while循环的结合使用可以帮助我们创建出一些强大的、交互式的Python程序。我们可以通过用户输入来驱动程序的行为,而while循环则可以让我们反复执行一些操作,直到满足特定的条件。在这个结构中,“condition”是一个布尔表达式,如果它的值为True,那么while循环就会继续执行下去。在Python中,用户输入与while循环的结合使用能够实现一些强大的功能,比如创建交互式程序、用户驱动的循环等。在这个例子中,程序会打印出"请输入一些文字:",然后等待用户输入。
2025-04-24 15:13:17
22
转载 SQL优化策略与实践:组合索引与最左前缀原则详解
SQL优化的方式有很多,它们可以帮助提高数据库查询的效率,减少资源的消耗。优化查询语句避免使用SELECT *,只查询需要的列。使用WHERE子句减少需要处理的数据量。避免复杂的子查询,尽量使用连接(JOIN)。使用索引为经常需要搜索的列创建索引。使用合适的索引类型,如B-tree,Hash,FULLTEXT等。查询缓存使用查询缓存来存储常见查询的结果,减少数据库的负载。优化表结构使用合适的数据类型,避免数据类型过大。正规化数据库设计,减少数据冗余。使用存储过程和触发器。
2025-04-21 16:03:10
43
转载 巧用Optional之优雅规避NPE问题
如果构造参数是一个null,这段代码会立即 出一个NullPointerException,而不是等到你 图访问car的属性值时才返回一个错误。代码解读复制代码。
2025-04-16 15:46:34
29
转载 stream的串并行处理是什么?
示例:Stream.of(1, 2, 3, 4, 5).reduce((a, b) -> a + b).ifPresent(System.out::println);这段代码创建了一个包含整数的Stream,并通过reduce方法计算所有数字的和,这些操作是在单线程中按顺序逐个执行的。例如,Stream.of(1, 2, 3, 4, 5).parallel().reduce((a, b) -> a + b).ifPresent(System.out::println);
2025-04-02 17:59:05
23
转载 SpringBoot整合Redis、ApacheSolr和SpringSession
SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐。它提供了各种starter简化很多繁琐的配置。SpringBoot整合Druid、Mybatis已经司空见惯,在这里就不详细介绍了。今天我们要介绍的是使用SpringBoot整合Redis、ApacheSolr和SpringSession。
2025-03-25 18:10:59
28
转载 mysql 之order by工作流程
1.初始化sort_buffer 放入要排序的字段和主键ID 2.走索引找到满足条件的主键ID 再通过主键ID 取出排序字段和ID 放到sort_buffer中 从索引找到下一个满足条件的主键ID 3.重复2 直到不满足条件 4.对sort_buffer中的值按照排序字段排序 5.回到原表取出所有查询的字段返回。从结果我们可以看到 采用的是rowid排序 但我们发现了结果中的 number_of_tmp_size 的值竟让是0 难道不需要临时文件吗?表示需要用临时表 上面意思就是需要的内存表上排序。
2025-03-20 17:56:25
24
转载 Mybatis一级缓存、二级缓存详讲
比如,我现在去查询张三,获取张三数据之后我们需要经过序列化然后存贮到硬盘上,上面我也说过了,mybatis的二级缓存实际上就是将数据保存到硬盘上的某个文件中了,照这样,每来一个新的对象,比如张三存进来了,李四也需要存,王五也需要,如果是存储到硬盘上,那么就会用到IO技术,众所周知,IO也是比较费性能,所以这个机制就是当你关闭session的时候,我们把这些张三、李四、王五这些数据一块儿保存到硬盘上,而不是来一个保存一个这样IO也受不了,所以就存在这样的机制;
2025-03-18 14:43:46
28
转载 java 中的fork join框架
java 中的fork join框架fork join框架是java 7中引入框架,这个框架的引入主要是为了提升并行计算的能力。fork join主要有两个步骤,第一就是fork,将一个大任务分成很多个小任务,第二就是join,将第一个任务的结果join起来,生成最后的结果。如果第一步中并没有任何返回值,join将会等到所有的小任务都结束。还记得之前的文章我们讲到了thread pool的基本结构吗?下面我们从这三个方面来详细讲解fork join框架。
2025-03-17 15:11:47
46
转载 java构造方法,构造代码块,静态代码块的执行顺序
同级别的变量(static和普通变量)的执行顺序由代码执行顺序决定(从上到下也就是代码书写顺序)
2025-03-07 15:37:15
22
转载 Java中的异常处理方法
在实际开发中,请根据具体情况选择合适的异常类型并遵循最佳实践方法,保持代码的清晰、健壮和可维护性。- 在方法签名中声明抛出的异常时,应尽量精确地声明,只抛出必要的异常类型,而不应该使用泛化的异常类型(如Exception)。- 对于可检查异常,应选择合适的异常类型,并在方法签名中显式声明抛出异常,以便上层调用者可以知晓可能抛出的异常类型。- 继承自Error类,通常是由JVM或系统级别的问题导致的,无法通过代码方式处理。- 异常是程序中潜在的问题,过度处理或吞掉异常会隐藏问题和导致难以排查的错误。
2025-03-04 11:42:17
15
转载 Spring Boot 实现通用 Auth 认证的 4 种方式
最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大,代码方面不明显,但感觉自己抹掉了 java、Tomcat、Spring 一直挡在我眼前的一层纱。对它们的理解上了一个新的层次。好久没输出了,于是挑一个方面总结一下,希望在梳理过程中再了解一些其他的东西。由于 Java 繁荣的生态,下面每一个模块都有大量的文章专门讲述。所以我选了另外一个角度,从实际问题出发,将这些分散的知识串联起来,各位可以作为一个综述来看。
2025-02-28 17:58:39
20
转载 反转单链表
指针的方向,使得每个节点指向它的前驱节点而不是后继节点。由于这是一个单向链表,你需要在改变指针方向之前保存当前节点的下一个节点,以便继续遍历。要反转单链表,基本思路是遍历链表的同时改变每个节点的。
2025-02-20 11:39:43
19
转载 MySQL 和 Oracle 的区别?
⑤空字符的处理MYSQL 的非空字段也有空的内容,ORACLE 里定义了非空字段就不容许有空的内 容。1. Oracle 是大型数据库而 Mysql 是中小型数据库,Oracle 市 场占有率达 40%,Mysql 只有 20%左右,同时Mysql 是开源的而 Oracle 价格非常高。3. 安装所用的空间差别也是很大的,Mysql 安装完后才 152M 而Oracle 有 3G 左右,且使用的时候 Oracle 占用特别大的内存空间和其他机器性能。4.Oracle 和 Mysql 操作上的区别。
2025-02-18 12:11:10
33
转载 防止反编译,保护你的SpringBoot项目
插件允许你添加自定义注解,以便在加密过程中保留某些类或方法。这对于那些需要保持可读性的类或方法非常有用。xml代码解读复制代码这里,标签用于指定需要保留的自定义注解。ClassFinal-maven-plugin插件是一个强大的Java字节码加密工具,它可以有效地保护你的Java应用程序不被非法获取或篡改。通过合理配置插件选项,你可以根据实际需求定制加密策略,从而获得更高的安全性。
2025-02-11 17:01:14
62
转载 Springboot静态资源映射及文件映射
在开发一个基于Springboot的项目时,遇到了一个问题,那就是如何让前端访问到存储在后端项目中的图片,我首先想到的是Springboot的静态资源映射(后来发现不能用静态资源映射去解决我的需求)。
2025-02-07 15:19:47
109
转载 Python中的异常处理
try语句块包含要执行的代码,而except语句块则用于处理在try块中发生的异常。当try块中的代码引发异常时,Python会查找与异常类型匹配的except块,并执行其中的代码。如果没有找到匹配的except块,异常会继续向上传递,直到被更外层的异常处理程序捕获或导致程序终止。本文将深入探讨Python中的异常处理机制,包括异常的捕获、处理、抛出以及相关的最佳实践,并通过代码示例来展示其应用。:当在处理一个异常时引发另一个异常时,可以使用raise语句的from关键字来保留原始异常的上下文信息。
2025-02-05 16:52:19
39
转载 MySQL 分库分表方案
目前市面上的分库分表中间件相对较多,其中基于代理方式的有MySQL Proxy和Amoeba, 基于Hibernate框架的是Hibernate Shards,基于jdbc的有当当sharding-jdbc, 基于mybatis的类似maven插件式的有蘑菇街的蘑菇街TSharding, 通过重写spring的ibatis template类的Cobar Client。数据库业务层面的拆分,和服务的“治理”,“降级”机制类似,也能对不同业务的数据分别的进行管理,维护,监控,扩展等。单个数据库处理能力有限;
2025-01-23 18:27:07
50
转载 Spring Boot 配置文件总结
这个配置文件的作用就是,允许我们通过这个配置文件去修改 Spring Boot 自动配置的默认值。和。yml 等同于 yaml,写法看个人喜欢,我喜欢写成。
2025-01-15 17:31:50
31
转载 Python单例模式中的问题
Python的单例模式,似乎没有一个完美的实现形式,只能在“矮子里拔将军”。不能通用的单例模式不必再说。能通用的形式,装饰器单例也不太好,因为会改变原类型,容易影响客户端的代码实现。也就元类形式的单例能看一看了,虽然可能需要打补丁,但至少对用户透明,不会影响客户端的代码。
2025-01-14 09:23:25
44
转载 探索 Python 中链表的实现:从基础到高级
链表是一种基本而灵活的数据结构,在Python中通过类的构建可以轻松实现。本文通过详细的示例代码演示了单向链表的创建、节点插入、删除等基本操作。通过Node节点和LinkedList类的概念,我们了解了链表是由节点组成的,每个节点包含数据和指向下一个节点的引用。链表在插入和删除操作上表现出高效性,使其成为处理大量数据变动的理想选择。通过这些示例,读者能够更深入地了解链表的内部工作原理以及如何应用它来解决实际问题。
2025-01-09 14:26:07
32
转载 JS中的隐式类型转换规则
JavaScript作为一门弱类型语言,并不像C、Java那样有明确的类型定义如int、boolean、string、float、double等数据类型,而js同时又是一门脚本语言,逐行编译运行的,为了防止运行出错,就存在了变量类型的隐式转换本人使用js也有一段时间了,但是对这个转换规则还是有点不理解全面,所以从网上学习回来,总结了这个隐式转换规则,从此以后不再纠结于这个东西,请往下看。
2024-12-31 09:57:19
42
原创 什么是Walmart自养号测评,有什么优势?
卖家可以使用IPXProxy代理IP,采用干净稳定的家庭住宅IP,可以有效避免账号之间的关联,提高账号的安全性。确保账号的地理位置和买家的信息相匹配,使它们看起来是普通用户的账号,避免被平台检测到不正常的行为。总之,沃尔玛自养号测评具有一定的优势,可以帮助卖家提高产品的权重和销量,同时降低测评成本和风险。测评包括一系列的购买行为,这个过程中可以优化产品的缺点,并且提高售前和售后的服务质量。自养号可根据自己的节奏和需求灵活操作,随时调整测评策略,提高产品的权重和销量。
2024-12-27 16:52:03
339
转载 JVM原理与实现——Synchronized关键字
在多线程的Java程序中,Synchronized关键字是经常出现的。这篇文章里,我们就来研究一下它的实现原理。比如以下的示例程序:aspectj代码解读复制代码对应的字节码如下:yaml代码解读复制代码Java编译器为synchronized关键字生成了monitorenter和monitorexit字节码。这两个关键字把临界区包裹起来,实现了函数的线程安全。所以我们需要研究一下monitorenter和monitorexit字节码的工作原理。
2024-12-25 17:35:22
35
转载 Java基础-常用API-Object类
可以覆盖类的toString()方法,从而打印我们需要的数据。Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false。该方法返回值是int类型的散列码,是jdk根据对象地址计算出来的int类型的数值,对象的散列码是为了更好的支持基于哈希机制的java集合类。
2024-12-23 17:59:01
27
原创 如何规避eBay账号被封的风险?原因与对策
可以使用高质量的代理IP,IPXProxy住宅IP安全稳定,通过给不同的账户设置独立的IP地址,能降低被封号的风险。注意和买家交流的时候,要礼貌用语,这能有效减少买家的投诉,从而降低账号被封的风险。ebay账号不小心被封的话,首先需要找到被封的原因。ebay平台有一套详细的使用政策和行为准则,卖家可能因售假冒商品、侵犯知识产权、发布不符合规定的产品或违反其他ebay政策,而导致账号被封。如果卖家在同一个IP地址下管理多个账号,这很容易会被ebay平台发现,一旦被发现账号之间存在关联,可能会导致账号被封禁。
2024-12-20 16:51:24
534
转载 java并发编程中Monitor里的waitSet和EntryList都是做什么的
等待集(Wait Set)是一个包含所有调用wait()方法后被挂起的线程的集合。当线程调用wait()时,它会释放当前持有的锁,并进入Wait Set,暂时挂起自己,直到另一个线程调用notify()或方法来唤醒它。入口列表(Entry List)是一个包含所有试图获取锁但未能成功获取的线程的集合。当多个线程尝试进入同一个块或方法时,只有一个线程能够成功获取锁并进入临界区,其他线程会被阻塞并放入Entry List,等待锁的释放。
2024-12-19 18:02:29
44
转载 深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 的EXPLAIN工具提供了一个清晰的窗口,让你可以窥探查询优化器的决策过程。通过详细分析EXPLAIN输出的各项指标,你可以识别出性能瓶颈,并采取适当的措施优化索引结构和 SQL 语句。理解各项指标的含义:了解typekeyrowsfiltered等列的作用和表现。合理设计索引:根据查询模式优化索引结构,使用覆盖索引、组合索引等技术提高查询效率。避免常见的性能陷阱:如全表扫描、排序操作、临时表的使用等,通过优化查询和表结构来消除这些瓶颈。通过有效利用EXPLAIN。
2024-12-17 17:20:51
185
转载 Java 中的 String Pool 简介
在 Java 中String对象是我们最常用的对象。在本文章中,我们主要对 String 对象使用的 String Pool 进行一些简单的介绍。Java 定义 String 后,String 是存储在 String Pool 中的,以便于加快字符串的访问和处理。正是有这个方面的访问需求,JVM 为 String 对象在内存中特地开辟了一个存储区域来加快对 String 对象的访问,这个特定的内存区域就是我们说的了。
2024-12-10 15:22:23
102
原创 Shopee店铺被冻结?原因与解救方法全解析
shopee对商家店铺的IP要求较高,如果检测到多个账号的IP地址一致或者登录设备相似的话,就可能会判定账号关联,从而导致全部店铺被冻结。对于需要管理多个shopee账号的商家来说,最好使用IPXProxy的静态住宅代理,搭配指纹浏览器,可以让每个shopee店铺都是独立稳定的,降低账号关联的风险。因此,商家要保持店铺的活跃度,定期的运营账号,确保账号不会被平台删除。同时,审查店铺的操作,确保遵守所有Shopee的规则和政策,以避免未来的冻结。Shopee作为热门的跨境电商平台,有一系列的规定和政策。
2024-12-06 16:50:03
546
转载 springboot之SpringBoot单元测试
springboot中可以使用@SpringBootTest来进行单元测试,其中设置webEnvironment可以来定义运行模式,并在测试用例上使用@RunWith(SpringRunner.class)注解。我们项目中经常会使用spring-security来进行权限,这就给我们的测试带来了麻烦,可以使用spring-security-test依赖来进行测试。之前在spring项目中使用单元测试时是使用注解@RunWith(SpringJUnit4ClassRunner.class)来进行的。
2024-12-06 12:01:55
117
转载 基于SpringBoot的SSMP整合
创建User类,属性与数据表一一对应,用lombok的Data注解简化getset方法,当表名与类名不同时,用@TableName("ssmp") 注解形成映射。导入MyBatisPlus与Druid对应的starter,当然mysql的驱动不能少,在前面导入坐标时,已经导入相对应的坐标。接口继承IService接口,mybatisplus提供的,实现了增删改查的方法。打开Apifox或者Postman,发送请求,得到数据与数据一一对应。用MyBatis-Plus实现业务层快速开发。
2024-12-02 16:33:21
51
转载 Spring事务失效的8种场景
这里以 MySQL为例,MyISAM引擎是不支持事务操作的,一般要支持事务都会使用InnoDB引擎,根据MySQL 的官方文档说明,从MySQL 5.5.5 开始的默认存储引擎是 InnoDB,之前默认的都是 MyISAM,所以这一点要值得注意,如果底层引擎不支持事务,那么再怎么设置也没有用。这两个例子中的事务都不会生效,因为它们发生了自身调用,就调用了该类自己的方法,而没有经过Spring的代理类,默认只有调用外部代理类的方法,事务才会生效,这也是老生常谈的问题了。这里大家可以先想一想,后面会揭晓答案。
2024-11-27 15:43:29
55
转载 Spring中的BeanUtils.copyProperties
是 Spring 框架中的一个工具方法,用于将一个 JavaBean 对象的属性值复制到另一个 JavaBean 对象中。其作用是将源对象的属性值复制到目标对象中,从而实现对象属性的拷贝。
2024-11-21 15:41:52
587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人