Redis避坑指南:为什么要有分布式锁?

JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑; 多服务多节点的情况下,就意味着有多个JVM进程,要做到这样,就需要有一个中间人; 分布式锁就是用来保证在同一时刻,仅有一个JVM进程中的一个线程在执行操作逻辑; 换句话说,JUC的锁和分布式锁都是一种保护系统资源的措施。尽可能将并发带来的不确定性转换为同步的确定性;

手写模拟Spring底层原理-Bean的创建与获取

相信大家对Spring都有一定的了解,本篇文章我们会针对Spring底层原理,在海量的Spring源代码中进行抽丝剥茧手动实现一个Spring简易版本,对Spring的常用功能进行手写模拟实现。

Node.js 未来发展趋势

Node.js 是一种非常有前途的后端技术,它具有高性能、高可扩展性和轻量级等优点。Node.js 还可以用来开发命令行工具和跨平台桌面应用程序等,具有非常广泛的应用场景。

一文带你搞懂如何优化慢SQL

最近通过SGM监控发现有两个SQL的执行时间占该任务总执行时间的90%,通过对该SQL进行分析和优化的过程中,又重新对SQL语句的执行顺序和SQL语句的执行计划进行了系统性的学习,整理的相关学习和总结如下;

【源码解读(一)】EFCORE源码解读之创建DBContext查询拦截

引言 在网上很少看到有关于系统讲解EFCore源码的,可能大概也许是因为EFCore的源码总体是没有asp.net web的源码流程清晰,正如群友所说,EFCore的源码大致看起来有点凌乱,与其说凌乱,不如说是没有一个好的方向;然后昨天在群里有一个朋友再说,EfCore的拦截器如何注入Web的服务,

加密的手机号,如何模糊查询?

前言 前几天,知识星球中有位小伙伴,问了我一个问题:加密的手机号如何模糊查询? 我们都知道,在做系统设计时,考虑到系统的安全性,需要对用户的一些个人隐私信息,比如:登录密码、身份证号、银行卡号、手机号等,做加密处理,防止用户的个人信息被泄露。 很早之前,CSDN遭遇了SQL注入,导致了600多万条明

10个方法提高产品的使用价值

提高产品使用价值的方法有: 1. 深入用户研究,理解用户核心需求和痛点。设计出确切解决用户问题的产品。 2. 关注用户感知价值,确保产品提供平稳流畅的用户体验。 3. 适时获取用户反馈,持续优化产品,解决用户在使用中的问题。 4. 注重产品的可用性,简化操作流程,降低用户学习成本。 5. 加强产品功

es针对nested类型数据无法进行过滤查询的问题记录

问题描述 es中存在有一个名为task_data_1的索引,其字段映射关系如下所示: { "task_data_1" : { "mappings" : { "dynamic_templates" : [ { "dates" : { "match_mapping_type" : "date", "ma

矩阵的乘法运算与css的3d变换(transform)

theme: qklhk-chocolate 引言:你有没好奇过,在一个使用了transform变换的元素上使用window.getComputedStyle(htmlElement)['transform'] 查询出来的值代表什么? 为什么硬件加速要使用transform,以及为什么硬件加速会快?

9.1 运用API创建多线程

在Windows平台下创建多线程有两种方式,读者可以使用`CreateThread`函数,或者使用`beginthreadex`函数均可,两者虽然都可以用于创建多线程环境,但还是存在一些差异的,首先`CreateThread`函数它是`Win32 API`的一部分,而`_beginthreadex`...

秋招上岸“我”都做对了哪些事?

这两年的就业情况大家是有目共睹的,特别是作为双非院校的学生,更能感觉到其中的寒意。 然而,作为学生的小张(花名),竟然在国庆之前,拿到了两份 Java 研发的工作: 深信服 Java 研发岗工作,薪资 17K*15。 金证科技 Java 研发岗工作,薪资预计 15K。 口说无凭,直接上图: 那他都作

记一次 .NET 某企业OA后端服务 卡死分析

一:背景 1.讲故事 前段时间有位朋友微信找到我,说他生产机器上的 Console 服务看起来像是卡死了,也不生成日志,对方也收不到我的httpclient请求,不知道程序出现什么情况了,特来寻求帮助。 哈哈,一般来说卡死的情况在窗体程序(WinForm,WPF) 上特别多,在 Console,We

记一次 .NET 某娱乐聊天流平台 CPU 爆高分析

一:背景 1.讲故事 前段时间有位朋友加微信,说他的程序直接 CPU=100%,每次只能手工介入重启,让我帮忙看下到底怎么回事,哈哈,这种CPU打满的事故,程序员压力会非常大, 我让朋友在 CPU 高的时候抓 2 个 dump 下来,然后发给我分析。 二:WinDbg 分析 1. CPU 真的被打满

记一次 .NET 某医疗器械 程序崩溃分析

一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他的程序偶发性崩溃,让我帮忙看下怎么回事,上面给的压力比较大,对于这种偶发性崩溃,比较好的办法就是利用 AEDebug 在程序崩溃的时候自动抽一管血出来,看看崩溃点是什么,其实我的系列文章中,关于崩溃类的dump比较少,刚好补一篇上来,话不多说

聊一聊对一个 C# 商业程序的反反调试

一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他对一个商业的 C# 程序用 WinDbg 附加不上去,每次附加之后那个 C# 程序就自动退出了,问一下到底是怎么回事?是不是哪里搞错了,有经验的朋友应该知道,其实这是 商业程序 的反调试机制捣鬼的,为了保护程序隐私,一般都不希望他人对自己做逆

记一次 .NET 某自动化采集软件 崩溃分析

一:背景 1.讲故事 前段时间有位朋友找到我,说他的程序在客户的机器上跑着跑着会出现偶发卡死,然后就崩掉了,但在本地怎么也没复现,dump也抓到了,让我帮忙看下到底怎么回事,其实崩溃类的dump也有简单的,也有非常复杂的,因为大多情况下都是非托管层面出现的各种故障,非常考验对 C, C++, Win

记一次 .NET 某电子厂OA系统 非托管内存泄露分析

一:背景 1.讲故事 这周有个朋友找到我,说他的程序出现了内存缓慢增长,没有回头的趋势,让我帮忙看下到底怎么回事,据朋友说这个问题已经困扰他快一周了,还是没能找到最终的问题,看样子这个问题比较刁钻,不管怎么说,先祭出 WinDbg。 二:WinDbg 分析 1. 托管还是非托管泄露 一直关注这个系列

记一次 .NET 某工控MES程序 崩溃分析

一:背景 1.讲故事 前几天有位朋友找到我,说他的程序出现了偶发性崩溃,已经抓到了dump文件,Windows事件日志显示的崩溃点在 clr.dll 中,让我帮忙看下是怎么回事,那到底怎么回事呢? 上 WinDbg 说话。 二:WinDbg 分析 1. 崩溃点在哪里 如果是托管代码引发的崩溃,在线程

SQLSERVER 的主键索引真的是物理有序吗?

一:背景 1. 讲故事 最近在看 SQL SERVER 2008 查询性能优化,书中说当一个表创建了聚集索引,那么表中的行会按照主键索引的顺序物理排列,这里有一个关键词叫:物理排列,如果不了解底层原理,真的会被忽悠过去,其实仔细想一想不可能实现严格的 物理排列 ,那对性能是非常大的损害,本篇我们就从

SQLSERVER 的 truncate 和 delete 有区别吗?

一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。 二:区别详解 1. 思考 从宏观角度来说, delete 是 DML 语句, tru