logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据库之事务隔离级别详解

儿子某一天去消费,花了8千元,然后他的父亲去查看他今天的消费记录(全表扫描,儿子事务开启),看到确实是花了8千元,就在这个时候,儿子花了1万买了一部电脑,即新增INSERT了一条消费记录,并提交。但是转账时父亲不小心按错了数字,按成10万/月,该钱已经打到儿子的账户,但是事务还没有提交,就在这时,儿子去查看自己的储蓄卡,发现转多了9万,以为凭空多了9万非常高兴。事务的隔离性是指在并发执行的多个事务

文章图片
#数据库#mysql
Disruptor的使用以及原理

Disruptor是一种高性能的并发框架,用于解决在高并发场景下的数据交换和协调问题。通过无锁的环形缓冲区和批量处理的方式,实现了更高的吞吐量和更低的延迟。它适用于需要处理大量并发事件的场景,如高频交易系统、消息队列等。

#java
Java集合之ArrayList详解

Java集合之ArrayList详解

文章图片
#java
单体架构和微服务架构的区别

单体架构是一种传统的软件架构模式,它将整个应用程序作为一个单一的、完整的单元来构建和部署。在单体架构中,所有的功能模块和组件都集中在一个代码库中,共享同一个数据库和资源。在单体架构中,应用程序通常由三个主要组件组成:用户界面(UI):用户界面负责与用户进行交互,接收输入和显示输出。它可以是一个网页、桌面应用程序或移动应用程序。业务逻辑层:业务逻辑层包含了应用程序的核心功能和业务规则。它处理用户请求

文章图片
#架构#微服务
synchronized是如何保证原子性、可见性、有序性的

在锁未释放之前,其他线程无法再次获取锁,因此通过monitorenter和monitorexit指令可以保证被synchronized修饰的代码在同一时间只能被一个线程访问,其他线程在锁未释放之前无法访问该代码块。例如,线程1获得时间片开始执行,但在执行过程中,CPU时间片耗尽,线程1需要让出CPU。因此,在多线程场景下,由于时间片切换的原因,原子性问题可能会出现。在Java内存模型中,所有的变量

#java
Java集合之LinkedList详解

例如containsAll、removeAll、retainAll等方法,这些方法可以被ArrayList直接继承和使用,从而避免了重复实现这些操作。同时,AbstractCollection也提供了一些抽象方法,例如size、iterator、toArray等方法,这些方法需要由具体的集合类去实现,LinkedList也需要实现这些方法以完成自身的功能。AbstractList是List接口的一

文章图片
#java
CompletionService的基本使用以及原理

CompletionService是Java并发编程中的一个工具类,它实现了一个任务完成的队列,并且可以按照任务完成的顺序来获取任务的结果。CompletionService的主要作用是提供一种方式来处理一批并发执行的任务,并且在它们完成后按照完成的顺序获取结果。它通常与ExecutorService一起使用。使用CompletionService可以将一组任务提交给ExecutorService

文章图片
#java
CAS的使用以及底层原理

CAS(Compare and Swap)是一种无锁操作,通过比较内存中的值与预期值是否相等来实现原子操作,解决并发环境下的数据竞争问题。

#java
找出一个List中每个元素出现的次数

最后,我们遍历结果的Map,并输出每个元素和其出现的次数。然后,我们遍历列表中的每个元素,对于每个元素,我们使用Collections类的frequency()方法来计算该元素在列表中出现的次数,并将结果存储在一个新的集合中。对于每个元素,我们使用Collections类的frequency()方法来计算该元素在列表中出现的次数,并将结果存储在frequency变量中。接下来,我们遍历列表中的每个

常见加密算法介绍

随着计算机和技术的发展,密码学家和黑客之间的竞争变得更加激烈,破解密码的技术也不断进步。但需要注意的是,随着计算技术的发展,SHA算法的某些变种也可能会面临安全性的挑战,因此在选择哈希算法时应考虑最新的安全标准和推荐算法。安全性:SHA算法设计时考虑了MD5算法存在的一些弱点,并采用了更复杂的算法结构和更多的运算步骤,增加了抗碰撞和抗碰撞攻击的能力。算法长度:SHA-256生成的哈希值长度为256

    共 34 条
  • 1
  • 2
  • 3
  • 4
  • 请选择