×
提示:
×
提示:
请:
谢谢!
Toggle navigation
技术头条
最新
读点非技术
我也分享
赞过
我的
IT技术博客大学习
微博登录
热门文章
0
一道 HashSet 面试题引发的蝴蝶效应
(blog.yuanpei.me)
今天要说的是 HashSet ,而这确实是一个实际面试中遇到的问题。当时的场景大概是这样的,面试官在了解了你的知识广度以后,决心来考察一番你的基本功底,抛出了一个看起来平平无奇的问题:说一说你平时工作中都用到了哪些数据结构。你心想,这还不简单,Array、ArrayList、List、Dictionary、HashSet、Stack、Queue…等等各种集合类简直如数家珍,甚至你还能说出这些数据结构间的优劣以及各自使用的场景。可没想到,面试官话锋一转,直接来一句,“你能说说 HashSet 去重的原理吗”,好家伙,你这简直不按套路出牌啊…
by
@技术头条
2023-05-02 18:04 分享
查看详情
0
WebApiClient 中动态路由的实现与使用
(blog.yuanpei.me)
博主曾介绍过.NET 平台下的“Retrofit”——WebApiClient,它是一种声明式的 RESTful 客户端,通过动态代理来生成 Http 调用过程代码,而调用方只需要定义一个接口,并使用相关“注解”对接口进行修饰即可,类似的实现还有Refit,是一种比 HttpWebRequest、HttpClient 和 RestSharp 更为优雅的接口调用方式。在今天这篇博客中,我想聊聊 WebApiClient 中动态路由的实现与使用。
by
@技术头条
2023-05-02 18:04 分享
查看详情
0
Zookeeper的基本原理
(codeyee.com)
在学习Zookeeper之前,我们需要先了解什么是分布式协调技术,以及该技术产生的背景是什么。
分布是协调技术主要用来解决分布式环境中多个进程(节点)之前的同步控制,让他们 有序 的区访问某种 “临界资源” ,防止出现 “脏数据” 的情况。
by
@技术头条
2023-05-02 18:02 分享
查看详情
0
利用GitHub Actions自动将项目贡献者列表添加到README中
(wiki.eryajf.net)
当我们负责的项目有越来越多的人加入进行协作之后,将贡献者添加到 README 中是一个很好的激励作用,很多大的项目也都是这么做的,本文就来讲一下,如何借助 Github Actions 自动将项目贡献者列表添加到 README 中。
by
@技术头条
2023-05-02 18:00 分享
查看详情
0
一个诡异的 Pulsar InterruptedException 异常
(crossoverjie.top)
背景今天收到业务团队反馈线上有个应用往 Pulsar 中发送消息失败了,经过日志查看得知是发送消息时候抛出了 java.lang.InterruptedException 异常。和业务沟通后得知是在一个 gRPC 接口中触发的消息发送,大约持续了半个小时的异常后便恢复正常了,这是整个问题的背景。
最后归根结底发现是代码不合理导致的,首先是自己中断了线程但也没使用,从而导致有被其他基础库使用的可能,所以会造成了一些不可预知的后果。
再一个是不建议在业务代码中使用 Thread.currentThread().interrupt(); 这类代码,第一眼根本不知道是要干啥,也不易维护。
其实本质上线程中断也是线程间通信的一种手段,有这类需求完全可以换为内置的 BlockQueue 这类函数来实现。
by
@技术头条
2023-05-02 17:59 分享
查看详情
0
Jenkins-Groovy中三元表达式的用法
(wiki.eryajf.net)
我们在使用pipeline的时候,如果某一个变量没有正常声明,则会遇到变量定义失败的错误,这个时候,我们可以借助三元表达式来解决这个问题。
by
@技术头条
2023-05-02 17:58 分享
查看详情
0
Jenkins结合MySql Database插件的平台化实践思路
(wiki.eryajf.net)
以往Jenkins实践当中,配置了共享库的流水线方案,通过将核心公共逻辑抽离成膜版,项目个性化配置信息放到引导文件中的方式进行推进。这种方案没有什么毛病,对于运维的维护工作也是比较友好的,只是后来我们打算再在Jenkins上层做一下平台化封装的时候,发现还是存在一些问题,并且有一些难度的。最近我了解学习到了一个与 MySQL Database 插件结合的思路,能够比较好解决这种问题,那么接下来话不多说,直接进入正题,让我们来认识一下这个插件。
by
@技术头条
2023-05-02 17:57 分享
查看详情
0
Linux 网络工具中的瑞士军刀 - socat & netcat
(thiscute.world)
netcat(network cat) 是一个历史悠久的网络工具包,被称作 TCP/IP 的瑞士军刀,各大 Linux 发行版都有默认安装 openbsd 版本的 netcat,它的命令行名称为 nc.
而 socat(socket cat),官方文档描述它是 "netcat++" (extended design, new implementation),项目比较活跃,kubernetes-client(kubectl) 底层就是使用的它做各种流量转发。
在不方便安装 socat 的环境中,我们可以使用系统自带的 netcat. 而在其他环境,可以考虑优先使用 socat.
by
@技术头条
2023-04-29 21:00 分享
查看详情
0
我在创业公司做技术一年多的一点体会
(thiscute.world)
公司的技术骨干们都是创业思维,他们或者乐在其中,或者愿意为了老板描述的未来忍一时痛苦。他们都愿意为了产品付出更多。 但是我发现对公司,我不愿意付出太多。在这里,我一直就是个普通上班族的想法,高点工资,多点个人时间,做着自己喜欢的事情。
by
@技术头条
2023-04-29 20:59 分享
查看详情
0
解决Blazor Server读取localstorage内容过大无响应的问题
(blog.wixy.cn)
最近在用blazor server对接OpenAI的api,开发自己的ChatGPT网页,这边设计的是聊天内容存储在浏览器的localstorage里面,每次打开网页的时候获取聊天记里并渲染界面。
在开发和使用期间,偶发的会进不进去网站,也没发现有报错,最后清理浏览器缓存解决了问题。
最近这两天使用的比较频繁,发现这个问题出现的概率有点高,最后定位下问题,发现是聊天记录获取的时候出现的问题,在Blazor中调用js的获取数据方法时程序就挂起了,没有继续往下执行,刚开始怀疑是不是存储方法或者json序列化的问题,换了写法,也不能解决问题。
by
@技术头条
2023-04-29 20:57 分享
查看详情
0
Chromium 渲染流水线——字节码到像素的一生
(me.ursb.me)
在开始介绍渲染流水线之前,我们需要先介绍一下 Chromium 的浏览器架构与 Chromium 的进程模型作为前置知识。
by
@技术头条
2023-04-29 20:56 分享
查看详情
0
使用 Dynamic Linq 构建动态 Lambda 表达式
(blog.yuanpei.me)
相信大家都有这样一种感觉,Linq和Lambda是.NET 中一以贯之的存在,从最早的 Linq to Object 到 Linq to SQL,再到 EF/EF Core 甚至如今的.NET Core,我们可以看到Lambda表达式的身影出现地越来越频繁。虽然 Linq to Object 和 Linq to SQL,分别是以IEnumerable<T>和IQueryable <T>为基础来实现的。我个人以为,Lambda呢,其实就是匿名委托的“变种”,而Linq则是对Lambda的进一步封装。在System.Linq.Expressions命名空间下,提供大量关于表达式树的 API,而我们都知道,这些表达式树最终都会被编译为委托。所以,动态创建 Lambda 表达式,实际上就是指从一个字符串生成对应委托的过程,而一旦这个委托被生成,可以直接传递给 Where()方法作为参数,显然,它可以对源数据进行过滤,这正是我们想要的结果。
by
@技术头条
2023-04-29 20:56 分享
查看详情
0
Linux好用命令之watch命令
(wiki.eryajf.net)
watch命令能够将其他命令的输出定时输出到终端,从而实现监听的能力,在我们要对一些命令状态进行实时监听的场景中,有非常好的应用场景。
by
@技术头条
2023-04-29 20:55 分享
查看详情
0
基于Zookeeper的分布式锁原理
(codeyee.com)
临时顺序节点 结合了 “临时节点” 和 “顺序节点” 的特性:在创建节点时 Zookeeper 根据创建的时间顺序给该节点进行编号,并根据该编号的顺序去分配临界资源的访问顺序,当创建节点的客户端与 Zookeeper 断开连接后,临时节点也会被删除。
by
@技术头条
2023-04-29 20:54 分享
查看详情
0
浅淡JAVA虚拟机(JVM)
(codeyee.com)
为什么要学习 JVM ?
1、能够明白为什么Java最早期被称为解释型语言,而后来为什么又被大家叫做解释与编译并存的语言(了解JVM中解释器以及即时编译器就可以回答这个问题);
2、你能够理解动态编译与静态编译的区别,以及动态编译相对于静态编译到底有什么好处(JVM JIT);
能够利用一些工具,jmap, jvisualvm, jstat, jconsole等工具可以辅助你观察Java应用在运行时堆的布局情况,由此你可以通过调整JVM相关参数提高Java应用的性能;
3、可以清楚知道Java程序是如何执行的;
4、可以明白为什么Java等高级语言具有可移植性强的特性。 其实这个问题相当于“为什么C/C++程序员需要学体系结构与编译原理?“
5、能够知道你的头发是怎么没有的。
那么来开始吧。
by
@技术头条
2023-04-29 20:54 分享
查看详情
0
浅谈JAVA并发机制
(codeyee.com)
有四种使用线程的方法:
1、实现 Runnable 接口;
2、实现 Callable 接口;
3、继承 Thread 类;
4、通过线程池的方式去创建线程。
实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以理解为任务是通过线程驱动从而执行的。
by
@技术头条
2023-04-29 20:53 分享
查看详情
0
解决java的http请求库dongliu.requests请求结果中文乱码的问题
(codeyee.com)
在这之前了解到并且使用的 java 的 http 库都是 okhttp 、httpclient、RestTemplate 等,虽然这些库也简化了很多原生求的复杂配置过程,但对于一些需求还是需要自行去封装。操作体验和开发效率上都差了很多。
by
@技术头条
2023-04-29 20:51 分享
查看详情
0
【Python并发编程】线程池与进程池
(codeyee.com)
在刚开始学多进程或多线程时,我们迫不及待地基于多进程或多线程实现并发的套接字通信,然而这种实现方式的致命缺陷是:服务的开启的进程数或线程数都会随着并发的客户端数目地增多而增多,这会对服务端主机带来巨大的压力,甚至于不堪重负而瘫痪。
by
@技术头条
2023-04-29 20:51 分享
查看详情
0
Windows部署minio注册成服务在后台保持运行
(jinyu.host)
最近在使用minio做资源存储,要求把minio部署到wondows上使用,发现官方提供的运行命令:.\minio.exe server .\data运行后,关闭cmd窗口,服务就会关闭。
所以需要通过winsw注册服务的方式,把minio注册成服务运行。
by
@技术头条
2023-04-29 20:50 分享
查看详情
0
PDF转图片各种技术方案对接,寻找最优解
(www.ffeeii.com)
在和文档的对接中,少不了文档转换,比如Word转图片、Word转PDF、PDF转图片,方便人员在线浏览等,而安卓手机更不能方便的在线预览PDF的远程链接。为此整理几个常见的PDF转图片方案供大家参考。
by
@技术头条
2023-04-29 20:48 分享
查看详情
1
2
3
4
5
6
7
近一周被赞排行
分享文章被赞得多,您就会出现在上面。还能给您微博带来新粉丝哦!