LeetCode 周赛 311 第一题 2413. Smallest Even Multiple 给你一个正整数 n ,返回 2 和 n 的最小公倍数(正整数)。 显而易见的: 1234567func smallestEvenMultiple(n int) int { if n%2==1{ return n*2 }else{ return n }} 第二 2022-09-18 LeetCode #LeetCode
Java Agent踩坑之appendToSystemClassLoaderSearch问题 本文是《容器中的Java》系列文章之 2/n ,欢迎关注后续连载 :) 。 从Java Agent报错开始,到JVM原理,到glibc线程安全,再到pthread tls,逐步探究Java Agent诡异报错。 背景由于阿里云多个产品都提供了Java Agent给用户使用,在多个Java Agent一起使用的场景下,造成了总体Java Agent耗时增加,各个Agent各自存储,导致内存占用、资源 2022-06-20 Language > Java #Java #Java Agent #JVM #容器中的Java
kill-port 清理占用端口的进程 背景在日常开发中,经常出现端口莫名被占用的情况。比如要启动一个java服务,报错8080端口被占用,这时候就想着快速清理掉占用该端口的进程。 在Linux下,我们可以用熟悉的ss命令来找出进程并删除,但是macOS下,netstat我用的比较少,而且速度也很慢。 最近正好在学习Rust,所以就用Rust来写一个kill-port小工具,也算是入门系统编程了吧。 安装123$ git clone h 2022-05-06 #rust
用 Pygments 在 Word 中实现代码高亮 虽然日常都是在写代码,但有的时候,还是需要写一些Word文档。这时候在Word文档中贴代码的时候,就希望能够做到代码高亮。 可以看一下rtf formatter的说明pygmentize -H formatter rtf: 1234567Format tokens as RTF markup. This formatter automatically outputs full RTFdocumen 2021-12-13 Tips
Spring Native 0.11发布,带来新的AOT引擎和性能优化 Spring Native 0.11已于2021年12月9日发布。 这个宏大的版本是Spring团队五个月辛勤工作的结果,他们一直在研究一个全新的架构,将让Spring使用GraalVM创建原生可执行文件的方式提升到一个新的水平。你目前已经可以已经在start.spring.io上试用了! 想了解有关Spring Native 0.11的更多信息,可以查看来自Spring布道师的新一期的Sprin 2021-12-12 Language > Java #Java
MySQL解决ONLY_FULL_GROUP_BY的几个方法 问题以 employee 示例数据库为例,测试环境用了一条语句: SELECT * FROM employees GROUP BY gender; 在测试环境运行正常,但是在线上就会有问题,报错如下: 123456com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is no 2021-12-11 Tips
在Java的类型系统中,数组有什么缺陷吗? 2020年2月,王垠吐槽了下Java的类型系统,说: 关于程序员对 Java 类型系统的理解,比较高级的一个面试问题是这样: 王垠原版的代码123456public static void f() { String[] a = new String[2]; Object[] b = a; a[0] = "hi"; b[1] = Intege 2021-12-06 Language > Java #Java
尝鲜Go 1.18中范型版本的map和slice 大家最近都关注到了Go 1.18会支持范型的消息了吧。 作为Golang的内置类型,大家都期待map和slice支持范型后,可以简化很多的判断逻辑,比如Equal逻辑等等。 几天前,Go范型的标准库已经提交了,且可以试用了: 大家也可以读一下对应的代码:https://cs.opensource.google/go/x/exp/+/master:maps/maps.go 废话不多说,我们看下如何 2021-12-06 Language > Go #Go
如何通过Kubernetes事件来报告错误 组内有维护一个Kubernetes Webhook,可以拦截pod的创建请求,并做一些修改(比如添加环境变量、添加init-container等)。 业务逻辑本身很简单,但是如果过程中产生错误,就很难处理。要不直接阻止pod创建,那么就有可能导致应用无法启动。要么忽略业务逻辑,那么就会导致静默失败,谁也不知道这儿出现了一个错误。 于是,朴素的想法就是接入告警系统,但这会导致当前组件和具体的告警系统 2021-12-05 Language > Go #Go #云原生 #Kubernetes
Go并不需要Java风格的GC 像Go、Julia和Rust这样的现代语言不需要像Java c#所使用的那样复杂的垃圾收集器。但这是为什么呢? 2021-11-30 Language > Go #Go #垃圾回收