- 博客(12)
- 收藏
- 关注
原创 idea每换一行就会卡一下?通义千问导致的问题解决
解决办法:直接联网就可,盲猜是因为每次换行通义千问都会请求给你写提示代码导致的。问题是:我在没有联网的情况下,每次在idea换行就会导致卡顿,不知所以然。
2024-05-27 08:44:53 576
原创 i++自增运算符的线程安全问题
Atomic 翻译成中文是原子的意思。在化学中,原子是构成一般物质的最小单位,是不可分割的。而在这里,Atomic 表示当前操作是不可中断的,即使是在多线程环境下执行,Atomic 类,是具有原子操作特征的类。类使用示例,我们开启1000个线程做加法,发现结果没问题,然而我们并没有直接使用锁。我们发现原子类中的任何操作都没有上锁,是无锁操作。 Java 的原子类都存放在并发包。使用原子的方式更新数组里的某个元素。源码,我们发现该类常用方法有以下。使用原子的方式更新基本类型。对象的属性修改类型**
2024-02-01 17:14:40 372 4
原创 中州养老业务题day01
中州养老的核心业务流程是这样的,首先要参观预约(老人及家属通过小程序或者APP预约,也可以电话预约),然后就可以出示预约信息到院参观,有入住意向之后可以办理入住(办理入住的时候就有一个很长的审批流),之后就给老人提供计划内的护理服务,家属可以绑定入住成功的老人,老人要外出需要请假销假(这也是审批流,但是比较短),最后老人觉得不合适可以办理退住。我在公司中开发一个项目的时候,会先大体查看项目的功能项,大体看看有哪些模块,模块中有哪些包,这些包都是干什么的。之后解决测试中出现的问题,解决完之后进行回归测试。
2024-01-28 22:36:55 440 1
原创 第八天业务题
首先根据订单查询可用优惠方案,主要判断订单是否符合优惠的条件,例如满减门槛或者是否适用优惠卷的分类。然后根据订单和优惠方案查询优惠明细,核销优惠券,在我的项目中,只能使用一张优惠卷,最后退还优惠券。然后,如果一个线程获取锁成功之后,锁的默认生存时间是30s;Redisson会通过看门狗来监视当前客户端是否持有锁,如果继续持有,会给持有锁的线程每隔10s延长生存时间;Redisson客户端会通过hash算法选择Redis主从集群中的一个主节点、并执行lua脚本进行加锁,加锁不成功,一直自旋尝试加锁。
2024-01-24 22:15:50 362 1
原创 第七题业务题
首先需要后端创建优惠券,指定优惠券的推广方式,数量和类型等属性,保存优惠券信息,然后发放优惠券,在发放的时候需要指定发放规则,立即发放,用户可以直接在优惠券页面手动领取,定时发放需要等到固定时间,然后利用线程池实现异步生成兑换码,后台给优惠券生成N张兑换码,保存优惠券兑换码信息,由管理员发放给指定用户,用户可以领取或者根据兑换码兑换优惠券,领取优惠券的同时要注意高并发情况会发生的问题,sql语句保证原子性或者使用乐观锁和悲观锁来解决高并发问题,最后保存用户优惠券信息。②非事务方法调用事务方法。
2024-01-22 22:40:55 324
原创 第六天业务题
原因主要是因为1.7用头插法考虑到了一个热点数据的点,也就是新插入的数据可能早用到,但是这在CurrentHashMap底层数组扩容的时候也就是rehash的时候,旧链表迁移新链表的时候呢,如果新表的数组索引位置相同,则链表元素相当于倒置,所以最后的结果还是打乱了插入的顺序,所以1.8之后干脆直接换成尾插放弃热点数据策略的使用了。再然后就是分库和集群:当系统对数据库的并发量很大的时候,单个数据负担过大且磁盘空间有限,就可以进行分库和集群,根据不同微服务进行分库,每个微服务使用独立的库。
2024-01-19 22:51:22 568 1
原创 第五条业务题
跳表的核心思想是通过添加多级索引来加速查找操作。连续签到的业务逻辑:首先要知道判断连续签到就是判断bitmap中今天到前面n天1的连续个数,那么就需要获取bitmap中的二进制数值,首先使用redisTemplate根据key和当天日期天数获取集合,取出集合第一个元素,然后转化为二进制,因为二进制中的数据是从月初开始,因此要进行反转到今日,然后使用indexof判断第一个为0元素的位置,位置就等于连续天数,然后根据连续签到奖励积分机制,进行对应积分的增加,然后将积分值保存对象然后保存到数据库。
2024-01-18 22:44:22 352 1
原创 第四天业务题
4-1 你们项目是如何是XXL-JOB的XXL-JOB是一个分布式调度平台,作用类似于SpringTask,都是做一些定时任务。在我的项目中,使用xxl-job大致流程如下,首先将xxl-job的调用中心微服务部署到虚拟机中,并启动然后在需要定时任务的微服务中添加xxl-job的基本配置和依赖,添加定时任务的代码然后加上注解@xxljob,然后在xxl配置中心配置执行器,为执行器分配一个执行端口,然后配置任务,主要是配置任务名称,调度Cron,路由策略等,然后根据业务选择同步策略,可选择的有同步双写
2024-01-17 23:56:51 613
原创 第三天业务题
例如静态网页,文本,时间戳,文件等多样化数据。这三张表的关系为:一个问题可以包含多个评论,一个回答可以有多个回复评论,一个用户可以对一个问题,进行多次评论,一个用户也可以对多个问题,进行评论。
2024-01-15 22:49:30 501
原创 第二题业务题
首先,需要了解前端发送的请求参数和需要的返回值,没有参数,但是返回的结果中新增了三条数据是和课程章节相关的字段,具体步骤,首先根据用户Id和最近时间从数据库中查询出一条最近的课表学习记录,然后根据课程Id调用课程微服务查询对应的课程信息,然后根据课表里的最近章节Id从课程微服务查询章节信息,然后根据需要的返回结果,将结果进行封装返回即可。tip:在我们调用远程微服务的时候要注意,不能将调用代码写在循环里面,因为这样写会频繁发送请求到远程微服务,当该请求数量很大的时候很可能造成服务雪崩问题。
2024-01-13 22:38:06 395
原创 第一天业务题目
1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码。1-3 你得项目中进行用户的登录和检验的详细流程是怎样的。1-1 请说一下你项目中是如何进行项目管理和发布的。1-4 说一下文章发布的流程。
2024-01-12 15:56:43 484 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人