自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从runnable到线程池到Future,java并发使用大全

之前看了很多线程创建以及使用的文章,一直很乱,加上lambda语法的使用,让初学者很难弄清楚为什么要这么写。建议大家先用最常用的方法,从Runnable和Callable类出发,创建task,分别可以用Thread和ThreadPool来执行这两个类的task。CompletableFuture是用来获取异步结果以及编排的,可以理解成创建了一个线程来监控任务什么时候执行完,如果不配线程池执行任务就会用默认的ForkPool。在这篇文章中,我们将探讨几种创建和管理线程的方法,包括继承。先跑这个代码兄弟们!

2024-07-02 16:04:02 361

原创 MVC与OOP实战

在基于贫血模型的传统开发模式中,Service 层包含 Service 类和 BO 类两部分,BO 是贫血模型,只包含数据,不包含具体的业务逻辑。不过,Domain 与 BO 的区别在于它是基于充血模型开发的,既包含数据,也包含业务逻辑。VirtualWalletService 类中的 transfer() ***转账函数会涉及两个钱包的操作,因此这部分业务逻辑***无法放到 VirtualWallet 类中,所以,我们暂且把转账业务放到 VirtualWalletService 类中了。

2024-07-11 18:06:32 218

原创 1面向对象你真的懂吗

天上的热气球需要地面送一瓶水,这个需求需要的是一种具有飞翔特性的东西,我们只需要定义一个具有飞翔功能的接口就可以了,至于接口的实现类可以实鸟、无人机或者其他什么会飞的东西都无所谓,后期需求变为需要送水到月球了,我们接口的定义却不需要改变,只需要接口的实现类变为变为火箭、太空飞船或者超人就可以了。//省略Tweetable/TweetAbility/EggLayable/EggLayAbility。- 抽象的意义:抽象是把复杂的问题分解成更小的问题,解决更小的问题,然后把小问题的解合并成大的问题。

2024-07-11 18:05:55 386

原创 java实战好文分享合集

一定要做根据实际业务系统的运行情况,去进行一些压力测试,和模拟线上环境,去看看最繁忙的时候,内存队列可能会挤压多少更新操作,可能会导致最后一个更新操作对应的读请求,会 hang 多少时间,如果读请求在 200ms 返回,如果你计算过后,哪怕是最繁忙的时候,积压 10 个更新操作,最多等待 200ms,那还可以的。我们来实际粗略测算一下。经过刚才简单的测算,我们知道,单机支撑的写 QPS 在几百是没问题的,如果写 QPS 扩大了 10 倍,那么就扩容机器,扩容 10 倍的机器,每个机器 20 个队列。

2024-07-11 16:12:48 771

原创 spring热加载:不重启也能改Bean

在Spring项目中,热加载(hot reload)是指在应用运行时可以动态刷新某些配置或Bean的状态,而无需重启整个应用。Spring Cloud引入的refresh作用域就是这样一个功能,可以让应用在外部化配置(例如文件或其他配置中心)的内容发生变化时,动态地更新Bean的值。

2024-06-25 15:02:13 989

原创 mysql三大日志,结合事务

我们称id3这样的为min_trx_id, id7为max_trx_id, 称当前活跃的读事务min_trx_id < id < max_trx_id 为m_ids。- 假设有6个事务,id1已提交,id3已提交,id5开始但未提交,id6开始但未提交,id7未开始, id9未开始。不同于redo,undo在引擎层,binlog是在server层,通过追加写,只保存所有已commit的事务内容。- 解决可重复读,读的时候,截快照,读的是当前事务时间点下的已提交数据,所以读的时候不能读到未提交的数据。

2024-06-20 16:35:31 400 2

空空如也

空空如也

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

TA关注的人

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