- 博客(12)
- 收藏
- 关注
原创 源码面前没有秘密,推荐 9 个带你阅读源码的开源项目
我最初是在 GitHub 找到了别人上传的旧版(0.11)注释源码,一通搜索下发现了原作者赵炯老师的网站。第一版发布于 2003 年,最新更新于 2021 年,维护了 18 年。这个阅读 Linux 源码的项目,虽然没有上传到 GitHub 但是内容、注释的源码、配套工具全部开源。C++
2024-09-19 07:31:00
1002
原创 微服务架构开发实战日志与监控:微服务日志管理将面临的挑战
另外,由于应用Ⅰ和应用3的两个实例在两台不同的机器上运行,因此很难实现服务级别的日志聚合,最终导致了日志文件的碎片化。对于传统的单个架构而言,日志管理本身并不存在难点,毕竟所有的日志文件都存储在应用所部署的主机上,获取日志文件或搜索日志内容都比较简单。但分布式系统则不同,特别是微服务架构所带来的部署应用方式的重大转变,都使得微服务的日志管理面临很多新的挑战,主要有以下几种。日志来自正在运行的进程的事件流。微服务架构所带来的直观结果,就是微服务实例数量的增长,伴随而来的就是日志文件的递增。
2024-09-19 04:11:51
886
原创 如何利用一个支持元素删除的布隆过滤器,来解决缓存穿透问题?
最简单的做法就是加一个计数器,就是说位数组的每个位如果不存在就是0,存在几个元素就存具体的数字,而不仅仅只是存1,那么这就有一个问题,本来存1就是一位就可以满足了,但是如果要存具体的数字比如说2,那就需要2位了,所以带有计数器的布隆过滤器会占用更大的空间。第二部分的输出的误判率即fpp总是在3%左右,而且随着for循环的次数越大,越接近3%。System.out.println(“-----------------------分割线---------------------------------”);
2024-09-19 02:36:32
948
原创 图解 Kafka 架构与工作原理
1、数据在写入的时候可以指定需要写入的分区,如果有指定,则写入对应的分区2、如果没有指定分区,但是设置了数据的key,则会根据key的值hash出一个分区3、如果既没指定分区,又没有设置key,则会轮询选出一个分区。
2024-09-19 00:13:59
874
原创 什么是Java内存模型?为什么会引发线程安全问题?
如果想开发一款能运行Java程序的虚拟机,就必须遵循这两个规范(当然需要遵循的规范远不止这两种),只有这样,java程序才能在你的虚拟机上开开心心的run,我们最最最最常见的hotspot vm就遵循了这些规范;cpu会事先将需要用到的数据从主内存中复制一份到高速缓存,cpu在执行计算操作时,依次从L1、L2、L3级缓存中查找,如果有需要的数据,直接操作,计算结束后再flush到主内存中;cpu执行 +1 操作耗时很短,假设只需要1ms,而从内存中读取 i ,再写回内存,耗时很长,假设是10ms。
2024-09-18 19:18:24
712
原创 springcloud入门实战:Feign+Ribbon实现客户端负载均衡
这个超时也许是目标Provider宕机所导致的,也许是网络延迟所导致的。如果第一次RPC请求时LoadBalancerStats成员为null,就会使用线性轮询策略来获取符合要求的实例,后续的RPC在选择的时候,才能选择连接数最少的服务。简单来说,AvailabilityFilteringRule将对候选的Provider进行可用性过滤,会先过滤掉因多次访问故障而处于熔断器跳闸状态的Provider服务,还会过滤掉并发的连接数超过阈值的Provider服务,然后对剩余的服务列表进行线性轮询。
2024-09-18 15:42:33
998
原创 Java 提效神器 Stream 的冷门技巧
supplier 这个参数就是提供一个容器,可以看到最后 collect 操作的结果是一个 R 类型变量,而 supplier 接口最后需要返回的也是一个 R 类型的变量,所以说这里返回的是收集元素的容器。这个功能也是遍历,但是他是有返回值的,而上面的 Foreach 是没有返回值的,仅仅是单纯的消费。accumulator 参数,看到这个函数的定义是传入一个 R 容器,后面则是 T 类型的元素,需要将这个 T 放到 R 容器中,即这一步是用来将元素添加到容器中的操作。
2024-09-18 03:30:50
410
原创 excel文件上传保存到数据库前后端
System.out.println(savePath + “目录不存在,需要创建”);//给你确定一下确实进来了。System.out.println(“已存入数据库中”);// final:最终形态,不能被子类重写。msg = “文件上传成功!msg = “文件上传失败!//类不能被其它类继承。
2024-09-18 01:29:45
470
原创 Android 曝光采集,判断RecyclerView中某子view是否可见 view曝光量的统计 view是否显示在屏幕中 view展示次数统计
比如下图的0就是最上面的可见条目,3就是最下面的可见条目。我们次数的曝光view就是0,1,2,3 这个时候这四个条目显示在屏幕中。首先再次明确下,我们要统计的是用户停止滑动时,显示在屏幕的上控件。上面第三步拿到屏幕内可见条目的起始位置以后,我们就用一个for循环,获取当前屏幕内可见的所有子view。1,这这里起始位置的view显示区域如果不超过50%,就不算这个view可见,进而也就不统计曝光。四,获取到起始位置以后,我们就根据位置获取到view及view中的数据。三,获取屏幕内可见条目的起始位置。
2024-09-17 23:19:58
711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人