58同城的 mysql 设计与使用军规
herman 4个月前 (08-08) 395浏览
一、基础规范 第一条:必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 第二条:必须使用utf8(utf8mb4)字符集 解读:万国码,无需转码,无乱码风险,节省空...
herman 4个月前 (08-08) 395浏览
一、基础规范 第一条:必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 第二条:必须使用utf8(utf8mb4)字符集 解读:万国码,无需转码,无乱码风险,节省空...
herman 4个月前 (08-08) 404浏览
一说到面试,我们都会联想到大环境。这不,就在昨天,得物也宣布将要优化 5% 的人员。在这么难的情况下,如果在不刷一点面试题,就算你收到了面试机会,也很难以把握住。为此,我整理了一些常见的中高级,针对 Java 程序员的面试题,分享给有需要的网友。 ...
herman 5个月前 (06-23) 553浏览
自动签章的公告、合同文件等形式的文档在公司中有非常多的使用场景。随着电子签章的流行,越来越多的公司,才有这些功能。基于此,本文使用 Java 来实现 pdf 合同文件自动签章。 本文只是一个 demo,若需完成的细节功能,可以加我微信:xmt...
herman 7个月前 (04-20) 812浏览
这个标题原本有些长,“Thread.State: BLOCKED (on object monitor) at java.security.Provider.getService(Provider.java:680)”。我嫌它不利于搜索,所以给它改...
herman 9个月前 (02-24) 968浏览
在Java编程中,反射是一种强大的工具,它允许程序在运行时检查类、接口、字段和方法的信息,并动态地创建和调用对象。然而,反射机制也带来了性能上的开销,因为它涉及到额外的运行时解析和类型检查。为了平衡反射的灵活性和性能,Java在不同版本中进行了多方...
herman 12个月前 (12-10) 6543浏览
最近想在自己的一个项目里接入 chatGPT 实现 AI 对话助手,但是调研了一下 Open AI 提供的服务在国内不好用,需要搭代理,而且还有 feng 号的风险。于是在寻找别的方案时发现了微软也提供了相应的服务,并且国内可用,而且响应速度还是挺...
herman 1年前 (2023-06-17) 6075浏览
最近有粉丝问我,如何将 mflac 格式的音频转换为 mp3 格式的。这个从代码上来说,其实并不难。 我们先看下 mflac、qmc 是什么格式? QQ 音乐的 mflac 和 qmc 格式两者在解码的速度方面不同。 由于两者编码...
herman 2年前 (2023-02-19) 2511浏览
从头到尾解析Hash 表算法 本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 第一部分:Top K 算法详解 问题描述 百度...
herman 2年前 (2022-08-31) 3853浏览
背景 为什么从Java15开始要禁用偏向锁了? 在 JDK1.5 之前,面对 Java 并发问题, synchronized 是一招鲜的解决方案: 普通同步方法,锁上当前实例对象静态同步方法,锁上当前类 Class 对象同步块,锁...
herman 2年前 (2022-08-21) 2564浏览
我们经常需要在容器启动的时候做一些钩子动作,比如注册消息消费者,监听配置等,今天就总结下SpringBoot留给开发者的 7 个启动扩展点。 容器刷新完成扩展点 通过监听容器刷新完成扩展点ApplicationListener<C...
herman 2年前 (2022-07-30) 2694浏览
前言 最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的「稳定性」越来越重要。在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时,我们常常需要通过缓存、限流、熔断降级、...
herman 2年前 (2022-06-26) 2391浏览
并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在...
herman 2年前 (2022-06-05) 1993浏览
全网阅读超百万的单点登录原理与简单实现 单系统登录机制 http无状态协议 web 应用采用 browser/server 架构,http 作为通信协议。http 是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后...
herman 3年前 (2022-05-01) 2108浏览
2 年前,我在 b 站上录制了一个视频,如何优雅的干掉 if else。我当时提出了“断言”+“短路”的形式,最直接的干掉 if else。很多人非常受益,今天我再整理成文字分享给大家! if else 是我们写代码时,使用频率最高的关键词之...
herman 3年前 (2022-04-05) 2424浏览
MyBatis-Plus 通用 IService 使用介绍与简单使用教程。 一、引言 MP 除了通用的 Mapper 还是通用的 Servcie 层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照 MP 的这种思想,可以...