摘要: 什么是有序性? 简单来说,假设你写了下面的程序: int a = 1; int b = 2; System.out.println(a); System.out.println(b); 但经过编译器/CPU优化(指令重排序,和编程语言无关)后可能就变成了这样: int b = 2; int a = 阅读全文
posted @ 2022-11-17 22:42 dijia478 阅读(404) 评论(3) 推荐(1) 编辑
摘要: 前两天一个邻居发出了灵魂质问:“为什么我买的180平和你的169平看上去一样大?” “因为咱俩的套内面积都是138平......” 我们去看房子,比较不同楼盘的价格,看的都是单价,可这个单价,却是用(总价 ÷ 建筑面积)计算的。而我们实际买到手里的,是套内面积。 套内面积 = 使用面积+墙体厚度+阳 阅读全文
posted @ 2022-08-08 15:01 dijia478 阅读(821) 评论(0) 推荐(4) 编辑
摘要: 事情是这样的 前段时候,我站在华山之巅(没错,我去夜爬华山看日出了,要死),一个朋友突然问我:你知道现在西安每个区域的新房均价是多少吗? 这个时候,肯定是用数据说话嘛。 不过你以为我会在网上随便找个,不知道哪里冒出来的(野榜)西安各区域价格排名,甩给对方了事吗? 当然不会! 众所周知,我是一个程序猿 阅读全文
posted @ 2022-08-03 09:24 dijia478 阅读(387) 评论(2) 推荐(0) 编辑
摘要: CPU三级缓存 要聊可见性,这事儿还得从计算机的组成开始说起,我们都知道,计算机由CPU、内存、磁盘、显卡、外设等几部分组成,对于我们程序员而言,写代码主要关注CPU和内存两部分。放几张马士兵老师的图: 再说CPU,众所周知,CPU同一时间点,只能执行一个线程,多个线程之间通过争抢CPU资源获得执行 阅读全文
posted @ 2022-06-10 10:29 dijia478 阅读(744) 评论(0) 推荐(3) 编辑
摘要: 这其实是我遇到的一个线上bug,在这里分享给大家。 如果是用反射,那就很简单了,毕竟泛型只是在编译期进行约束,对运行期是无能为力的。 想想看,如果不使用反射,有没有办法做到呢? 问题起因 在我们公司的实际业务中,有一段类似于这样逻辑的代码,文章最后会放出做测试构造的getList()方法: /** 阅读全文
posted @ 2022-01-30 10:09 dijia478 阅读(843) 评论(1) 推荐(2) 编辑
摘要: Arthas(阿尔萨斯) 能为你做什么? Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 co 阅读全文
posted @ 2021-12-01 20:01 dijia478 阅读(1316) 评论(0) 推荐(2) 编辑
摘要: 本文讨论是权限设计的其中一种思路,有它自己的优缺点,不一定适用于所有系统。 一、Linux文件权限 大家都知道,Linux上有三种文件权限: r:表示读取,对应的数字为 4; w:表示写入,对应的数字为 2; x:表示执行,对应的数字为 1; 当然还有一种是特殊的是: -:表示无权限,对应的数字为0 阅读全文
posted @ 2021-11-20 16:49 dijia478 阅读(1174) 评论(0) 推荐(5) 编辑
摘要: 关于Java8的stream流,这里不讲groupBy分组,也不讲sort排序,这些都是很基础的用法,可以自行百度。 这里说一种业务场景,对于分组后的map,根据value对key-value进行排序。举个例子,人(姓名,地址,创建时间)的集合,要求按地址将他们分组,同时要求越晚被创建的人,所在的分 阅读全文
posted @ 2021-10-06 15:08 dijia478 阅读(10825) 评论(0) 推荐(1) 编辑
摘要: 没啥好说的,想找个能判断字符串是实数的正则表达式 网上找了好久,都有各种问题,终于被我试出来一个正确的了,记录一下 ^(-?\d+)(.\d+|\d+)?$ 什么?你问我什么是实数? 阅读全文
posted @ 2021-09-10 09:46 dijia478 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 一、先上答案 这个问题有坑,有两种回答 第一种解释: object实例对象,占16个字节。 第二种解释: Object o:普通对象指针(ordinary object pointer),占4个字节。 new Object():object实例对象,占16个字节。 所以一共占:4+16=20个字节。 阅读全文
posted @ 2021-04-19 16:01 dijia478 阅读(1863) 评论(3) 推荐(0) 编辑