自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 java常见的线程池的创建方式及使用

上述代码中,首先创建了一个ThreadPoolExecutor对象,参数分别为核心线程数、最大线程数、线程空闲时间、空闲时间单位、任务队列。同时,需要根据实际情况,合理设置线程池的核心线程数、最大线程数、任务队列大小等参数,使线程池的性能达到最优。总之,线程池能够提高程序的性能和响应速度,同时还能够避免线程安全问题,是多线程编程中难得的好帮手。线程池中任务的提交速度有可能会超过线程池处理任务的速度,此时就需要采用一些策略来处理无法处理的任务。就是默认的拒绝策略,可以根据需要进行修改。

2023-10-31 17:06:50 157

原创 对象一定会在堆上分配吗?对象逃逸分析的简要说明

具体来说,它会分析一个对象的生命周期,如果它只在方法中被使用,并且不会被方法外的代码引用,那么它就可以被认为是不需要逃逸的对象,可以使用栈上分配或者标量替换等方式优化。但是,如果我们启用了对象逃逸分析,编译器就会发现这个循环中创建的 Integer 对象都只在循环内部使用,不会被方法外的代码引用,因此可以将它们分配到栈上,不需要在堆上创建对象。尽量避免创建不必要的对象。在编写代码时,应该尽量避免创建不必要的对象,尤其是在循环中创建对象,这样会增加程序的开销,并且可能导致逃逸分析失败,从而降低程序的性能。

2023-10-30 22:20:10 97

原创 使用乐观锁实现库存幂等的简单代码示例

在每次执行操作前,该方法会先获取商品的当前库存信息,并计算出减1后的新库存量。然后,使用库存信息中的版本号与计算出的新库存信息一起尝试执行库存更新操作。如果执行失败,则说明有其他线程已经修改了数据,此时需要重新获取库存信息进行重试,直到更新成功为止。在使用乐观锁进行库存-1操作时,需要注意的是,如果有大量线程同时进行库存操作,可能会导致重试次数增加,因此需要根据实际情况进行调整,以保证性能和正确性的平衡。方法则通过比较库存信息中的版本号来检查数据是否被其他线程修改,从而保证在数据更新时不会出现并发问题。

2023-10-24 21:20:55 116

原创 java比较日期大小的方式

使用SimpleDateFormat的parse方法将字符串转换为日期对象后进行比较。使用Date的before、after、equals方法进行比较。使用Calendar的compareTo方法进行比较。

2023-10-23 14:32:36 2969

原创 idea常用快捷键

这些是一些常用的快捷键,当然还有更多的快捷键可以使用,大家可以在使用idea的过程中,根据自己的需要使用适合自己的快捷键。

2023-08-23 00:45:00 240

原创 springboot整合mybatis-plus

在resource目录下创建mybatis文件夹,并在其中添加mybatis-config.xml和mapper/UserMapper.xml两个文件。以下是一个简单的Spring Boot整合MyBatis Plus的示例代码,包含完整的Java类和MyBatis配置文件。以上就是一个简单的Spring Boot整合MyBatis Plus的示例代码。

2023-08-21 21:12:35 56 1

原创 springboot整合mybaties

在 Spring Boot 中,MyBatis 的配置文件通常是在 application.yml 或 application.properties 中配置。在开发中,常常需要把二者结合起来使用。至此,Spring Boot 整合 MyBatis 的配置已经完成,通过访问 http://localhost:8080/user 可以获得 user 表的全部数据。其中,mapper-locations 用于指定 Mapper 文件的位置,type-aliases-package 用于指定实体类所在的包。

2023-08-21 21:03:57 50 1

原创 清除端口号bat脚本

该脚本可以方便我们在日常开发过程中,快速的清理指定的端口号

2023-08-21 06:15:00 347 1

原创 阿里云部署java代码的一般步骤

创建ECS实例:登陆阿里云控制台,进入ECS实例管理页面,选择相应的地域和可用区,点击“创建实例”,设置好实例的机型、配置、安全组等参数,并绑定已有的EIP(可选),点击“立即购买”即可等待实例创建成功。需要注意的是,在部署过程中要确保防火墙、安全组等网络设置正确,以防止无法访问应用的情况发生。配置域名解析:在域名管理控制台中添加或修改域名解析记录,将域名解析指向该应用所在的ECS实例的EIP地址即可。以上是一个大致的步骤,如果你不熟悉这些操作,建议先阅读相关文档或者寻求专业人员的帮助。

2023-08-20 06:00:00 756 1

原创 java实现单点登录(Cookie的实现方案)

以上就是基于Cookie实现单点登录的完整代码。需要注意的是,这只是一种比较简单的实现方案,实际上还有很多细节需要考虑,例如登录Cookie的安全性、注销功能的实现、SSO的跨域支持等等。单点登录(Single Sign-On,简称SSO)是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

2023-08-19 01:00:00 507

原创 Spark的使用案例

除了Spark Core之外,Spark还包括Spark SQL、Spark Streaming、MLlib和GraphX等库,用于数据查询、实时流处理、机器学习和图形计算等领域。除了Spark Core之外,Spark还包括Spark SQL、Spark Streaming、MLlib和GraphX等库,用于数据查询、实时流处理、机器学习和图形计算等领域。另外,Spark的机器学习库MLlib提供了一系列算法,包括分类、回归、聚类、协同过滤等,可以用于分类、预测和推荐等任务。

2023-08-18 22:45:00 214 1

原创 springboot整合kafka(结合了KafkaTemplate)

以下是一个简单的Spring Boot整合Kafka的完整代码示例,包括生产者和消费者。这样就完成了简单的Spring Boot整合Kafka的示例。在应用程序主类中,添加Kafka配置信息,并使用。在这个示例中,生产者和消费者都订阅了名为。属性指定了Kafka集群的地址。

2023-08-18 20:30:00 268 1

原创 java设计模式之责任链模式

责任链模式是一种软件设计模式,它的主要思想是将处理请求的对象以链的形式连接起来,并且让这些对象依次处理请求,直到其中一个对象能够处理该请求为止。例如,当一个请求需要经过多个对象才能得到处理时,责任链模式可以帮助我们实现这个过程,每个对象只需要关注自己的处理逻辑,而不需要关注其他对象的处理过程。如果某个处理类无法处理该请求,则将其转发给下一个处理类,直到有一个处理类能够完全处理该请求或者所有处理类都无法处理该请求,则该请求将被忽略。

2023-08-18 14:00:00 61 1

原创 java如何使用redis实现分布式锁

在上述示例代码中,我们使用Redis作为分布式锁的后端存储,通过设置过期时间和Lua脚本实现了分布式锁的加锁和解锁操作,并保证了操作的原子性。Java Redis分布式锁是一种基于Redis的分布式锁实现方式,它通过Redis的原子性操作,实现多个进程或服务器对同一资源的访问控制,从而保证了分布式环境下数据的一致性和可靠性。需要注意的是,加锁、解锁的操作都需要在同一Redis实例中完成,否则无法保证分布式锁的正确性。3. 在任务处理完成后,使用Redis的DEL命令删除名为“锁”的key,释放锁。

2023-08-18 06:30:00 354 1

原创 springboot整合redis

使用RedisTemplate可以执行Redis操作,但是存在一些繁琐的操作。在Spring Boot项目中,我们可以使用Spring Data Redis来与Redis进行交互。Spring Data Redis是Spring Data项目的一部分,提供了对Redis的支持。使用RedisTemplate的实例对象可以执行Redis的操作。在这个例子中,如果缓存中有id对应的用户信息,则直接从缓存中读取用户信息。综上所述,以上是整合Redis的基本步骤和使用方法。5.使用注解简化Redis操作。

2023-08-17 14:49:16 34 1

原创 java如何使用jdbc进行代码的插入?

这个示例连接到一个名为testdb的MySQL数据库,然后在Employee表中插入四条记录。在实际的应用程序中,可以使用循环和批量插入的技术来插入大量的数据。

2023-08-17 14:10:24 115 1

原创 分布式事务

分布式事务的简单介绍

2023-08-17 11:37:17 64 1

原创 git常用命令

git常用命令

2023-08-17 11:27:53 21 1

原创 java处理Excel文件的简单样例

java 处理excel文件简单样例

2023-08-17 11:25:18 486

原创 常见的json转化方式

Java常见的JSON转化工具有:Gson、Jackson、FastJson、Json-lib等。

2023-08-17 11:07:58 444 1

原创 如果保证接口幂等

客户端再次请求时,需要将该 Token 放在请求参数中,服务端在接收到请求后,先验证该 Token 是否合法,如果合法则继续处理请求,否则返回 Token 失效的响应。实现方式与 Token 防重复提交类似,只是将 Token 存储在 Redis 中,每次请求时先在 Redis 中验证 Token 是否存在,如果存在则返回 Token 失效的响应。接口幂等是指,在一次请求发生后,无论该请求被执行多少次,最终结果和副作用都是相同的。如果存在,则返回已有的处理结果,否则继续处理请求并将请求信息存储到幂等表中。

2023-08-17 11:03:36 21 1

原创 Docker概念描述

搭建开发环境:Docker 可以将应用程序及其依赖项打包成容器,开发者可以在自己的开发环境中安装 Docker,并在容器中运行应用程序,从而避免在本地环境中进行多次配置和安装。总之,Docker 的容器化技术可以帮助开发者简化应用程序的部署、提高可移植性、提高资源利用率和提高应用程序的安全性,从而提高应用程序的开发和部署效率。提高应用程序的安全性:Docker 的容器化技术可以将应用程序和其依赖项与其他应用程序隔离开,从而提高了应用程序的安全性和可靠性。

2023-07-14 14:14:03 25 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除