- 博客(62)
- 资源 (4)
- 收藏
- 关注
原创 马士兵老师的多线程高并发笔记
用户态与内核态JDK早期,synchronized 叫做重量级锁, 因为申请锁资源必须通过kernel, 系统调用;hello.asm;write(int fd, const void *buffer, size_t nbytes)section data msg db "Hello", 0xA len equ $ - msgsection .textglobal _start_start: mov edx, len mov ecx, msg mo
2021-01-18 10:03:16 1659 3
原创 Mysql Update语句出现:You can‘t specify target table ‘表名‘ for update in FROM clause
Mysql update 语句出现:You can't specify target table '表名' for update in FROM clause
2024-08-15 09:31:54 597
原创 SQL关于Date类型时间段查询优化(时间跨度稍长)(记一次自己工作开发中遇到的SQL优化经验)
SQL关于Date类型时间段的跨度稍长时查询优化(记一次自己工作开发中遇到的SQL优化经验)
2022-09-20 10:25:06 2395
转载 Mysql获取当天,昨天,本周,本月,上周,上月的起始时间
今天SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始';SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') AS '今天结束';昨天SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AS '昨天开始';SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INT
2022-04-21 15:46:11 2364 1
原创 Redis两种持续化方式对比学习
redis 持久化的意义在于故障恢复。如果仅仅把 redis 中的数据存放在内存中,遇到突发的灾难性故障时,redis 宕机,通过重启服务器并恢复进程后,内存中的数据会全部丢失。即便是做了文件持久化,还是会有风险,比如 redis 所在的服务器坏了,或者磁盘烧了,因此业界的解决方案是文件持久化+定期将持久化文件同步至云存储中,即便 redis 所在服务器出现问题,只要再搭建一套 redis 环境,将持久化文件从云端下载到本地,重新导入,即可立刻恢复大部分的数据,重新对外提供服务。(云存储,国外常用亚马逊的S
2022-04-11 16:28:53 153
原创 JVM内存模型 和 Java内存模型 对比学习
前言首先要知道这两者不是同一个东西,Jvm内存模型 也叫 Java内存区域、Java运行时数据区域而Java内存模型 是 JMM (Java Memory Model,简称 JMM),是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存中的工作方式,如果我们想深入了解 Java并发编程,就要先理解好 Java 内存模型JVM内存模型在 HotSpot JVM中,永久代中用于存放类和方法的元数据以及常量池,比如 class 和 Method 。每当一个类初次被加载的时候,它
2022-04-02 16:17:43 1926
原创 Java设计模式-责任链模式(Chain of Responsibility Pattern)
责任链模式在现实生活中,一个事件需要经过多个对象处理是很常见的场景。例如,采购审批流程、请假流程等。公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据需要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这无疑增加了难度。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。介绍意图: 避免请求发送者与接收者耦合在一起,让多个对象都
2022-03-18 17:39:48 258
原创 Java设计模式-策略模式(Strategy Pattern)
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图: 定义一系列的算法,把他们一个个封装起来,并且使他们可相互替换主要解决: 在有多重算法相似的情况下,使用 if…else 所带来的复杂和难以维护何时使用: 一个系统有许多许多类,而区分它们的只是它们直接的行为如
2022-03-15 14:16:33 295
原创 商品扣减库存好一点儿的方式(只通过数据库处理)
前言相信很多小伙伴在面试一些有涉及订单相关的公司时,技术面都有:“商品扣减库存怎么操作?你的SQL是怎么写的?”如果你回答说,就很简单啊:update stock_table set stock=#{扣减后的库存} where product_id=#{product}那我估计面试官就会对你摇摇头了正文我们分析在商品购买的过程中,库存的扣减过程根据商品id查询商品的剩余库存根据下单的数量,计算剩余库存是否足够,如果库存不足就返回相应的提示;相反,则减去扣除的库存得到最新的库存剩余值更
2022-02-10 17:57:05 2109
转载 总有一天你将破茧而出
你今年二十五六岁,站在人生的十字路口,你除了一纸文凭什么都没有。你离乡背井在异地读了四年大学,在这个陌生的城市你依然找不到归属感。你还是搞不懂错综复杂的交通,你一开口大家都知道你是外地人。你不是官二代不是富二代,你没有丰富的背景,只有一个落寞的背影。你不是名牌大学的优秀毕业生,你念的不是金牌专业,你身上没有各种荣誉。你开着电脑一封封投着简历,投出一个个希望。你参加一个个招聘会,尽量把自己打扮的看起来干练精神。你在寒冷的冬天小跑着奔向车站。捏着薄薄的简历挤过层层的人流,站在拥挤的公交上感觉呼吸都费劲。.
2021-12-17 14:20:02 216
原创 Spring的HandlerMethodArgumentResolver
前言我们做项目都有这样类似的情景:用户登录成功过后,前端会得到一个 Token(一个用户一个token)后面假设后端的接口逻辑需要用到这个 token 去交互一个用户身份,然后完成逻辑。当然我们可以封装写好一个方法,通过传参 token 再加上我们自己的一些代码逻辑去拿到这个用户的身份。不过我们作为优质的程序员,还是尽量精简自己的代码。能否有一个方法,在我们进行参数绑定的时候,就注入我们封装的 User 这个实体中呢?于是:Spring 提供了这么一个接口: HandlerMethodArgume
2021-11-30 18:11:59 1794 2
原创 后端 Long类型,超过 js 的number类型最大值的解决办法
先看问题:数据库 id 为 Bigint 类型:通过后端逻辑取值返回给前端:JS 的number类型有个最大值(安全值)。即2的53次方,为9007199254740992(16位)。如果超过这个值,那么js会出现不精确的问题。可以看出数据已经出错,js中数字类型最长为17位,导致后几位就会变成000,而导致后端查出来的数据与前端看到的ID不一致解决办法可以这样:使用 Fastjson 的 ToStringSerializer 注解,让系统序列化时,保留相关精度。 @JsonSe
2021-11-18 13:33:57 2696
jdk_8u301.7z
2021-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人