java
文章平均质量分 80
大哥手下留情
这个作者很懒,什么都没留下…
展开
-
java的file类的常用的操作实战分享来啦
java封装的一个操作文件及文件夹(目录)的对象。可以操作磁盘上的任何一个文件和文件夹。原创 2022-11-06 21:24:51 · 266 阅读 · 0 评论 -
线上kafka消息堆积,consumer掉线实践处理来啦
线上kafka消息堆积,所有consumer全部掉线,到底怎么回事?最近处理了一次线上故障,具体故障表现就是kafka某个topic消息堆积,这个topic的相关consumer全部掉线。整体排查过程和事后的复盘都很有意思,并且结合本次故障,对kafka使用的最佳实践有了更深刻的理解。好了,一起来回顾下这次线上故障吧,最佳实践总结放在最后,千万不要错过。原创 2022-11-02 21:56:07 · 447 阅读 · 0 评论 -
使用jmx exporter采集kafka指标及配置
Jmx exporter中包含了kafka各个组件的指标,如server metrics、producer metrics、consumer metrics等,但这些指标并不是prometheus格式的,因此需要通过重命名方式转变为prometheus格式,重命名规则配置在。并在prometheus的配置文件中添加consumer target,reload prometheus 配置即可发现consumer的指标,producer的指标采集与consumer类似。启用的方式比较简单,只需要在。原创 2022-11-02 21:48:29 · 2368 阅读 · 0 评论 -
JWT中token的理解以及优缺点实战结果来啦
将签名部分使用秘钥进行解密,如果可以正常解开,说明令牌来自信任方颁发,将解密后的内容与JWT的头部和有效载荷的base64编码内容对比是否一致,如果一致,说明令牌未被篡改。对于第一个问题而言,确认token确实是由被信任的第三方颁发的,一般都是通过加密算法来建立信任,颁发时使用密钥进行加密,如果能够对加密内容进行正常解密说明token来自信任方。对称可逆加密效率高,速度快,但是由于对称可逆加密使用的是同一个秘钥,所以必须向解密的应用提供秘钥,相对而言不安全,所以一般只用于内部应用之间。原创 2022-10-30 19:05:58 · 777 阅读 · 0 评论 -
Ignite基础配置等实战测试结果来啦
在学习Ignite之前,我们先来了解一下什么是Ignite?首先,Ignite是Apache开源的顶级项目之一。Ignite 内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。Ignite和Hadoop解决的是不同业务场景的问题,即使在一定程度上可能应用了类似的底层基础技术。原创 2022-10-30 19:01:09 · 1259 阅读 · 0 评论 -
内置数据库H2和内置Redis(测试结果来啦)
内置的数据库H2,可以让我们在无依赖数据库的情况下,做集成测试。比如我们想测试添加一个学生到数据库,就需要启动一台数据库来验证结果。然而使用H2内置数据库的话,就可以在无依赖数据库的情况下,进行验证。数据库H2是内存级的,如果有大量集成测试(IT:Integration Test)的话,可以缩短测试时间。Embedded Redis同上,使我们在无依赖Redis的情况下,做测试。原创 2022-10-27 09:18:06 · 1236 阅读 · 0 评论 -
JAVASCRIPT中URL 传递参数(特殊字符)解决方法及转码解码
因 此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。这样,对参数u中的字符"&op=Default",将不会作为字符串参数传递到服务器端,而是当作test.php的参数传递过去了,因为对"&op=Default"中的字符"&"没有做编码。原创 2022-10-22 15:29:03 · 6256 阅读 · 0 评论 -
JAVA并发之ReentrantLock原理解析
AQS是一个基于队列的同步器,它是一个抽象类,主要提供了多线程获取锁时候的排队等待和激活机制,ReentrantLock内部有两个基于AQS实现的子类,分别针对公平锁和非公平锁做了支持。下面我们以公平锁为例,讲解下ReentrantLock是如何依赖AQS实现其功能的。//AQS源码,公平锁的lock()方法会直接调用该方法//这里当前如果获取失败会调用acquireQueued方法//addWaiter方法主要是将当前线程加入AQS内部队列的尾部if (!}原创 2022-10-19 12:11:27 · 849 阅读 · 0 评论 -
Java 之任务调度框架,测试教程出来了
Job 生命周期:每次执行 Job,在 execute 方法前会 创建新的 Job实例 ,调用后实例被释放,再被GC回收。E.g:遇到同名key,Trigger 会覆盖 JobDetail 的值,所以 msg 为 Trigger JDM 的值。Job:基于反射的任务调度接口,所有任务类都要实现该接口,在接口的 execute 编写自己的业务逻辑。JEC :当调度器调用 Job 时,会将 JEC 传递给 Job 的 execute 方法。有状态 Job:多次调用 Job 期间,每次新建一个新的 JDM。原创 2022-10-19 12:08:10 · 324 阅读 · 0 评论 -
java代码大全及详解(Java 常用代码汇总)
每天分享一点,每天进步一点,留个小尾巴《原创 2022-10-19 12:03:15 · 18748 阅读 · 0 评论 -
c语言变量的命名规则左右值举例来啦~~~
一个变量的定义是指,告诉编译器在哪里,创建多少存储变量。变量定义指定一个数据类型,并且包含的该类型如下的一个或多个变量的列表:在这里,类型(type )必须包括char, w_char, int, float, double, bool或任何用户定义的对象等等一个有效的C数据类型,variable_list可以由用逗号分隔的一个或多个标识符名称。一些有效的声明如下所示:double d;这一行既声明并定义了变量 i, j 和k;这指示编译器创建一个名为 i, j 和k 的 int类型变量。原创 2022-10-18 15:12:26 · 495 阅读 · 0 评论 -
利用逻辑运算符计算,Java逻辑运算符(&&、||和!)
第三行语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。注意:短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率。原创 2022-10-18 15:07:07 · 141 阅读 · 0 评论 -
C#中对集合排序的三种方式
让Student实现IComparable接口固然很好,如果Student是一个密封类,我们无法让其实现IComparable接口呢?3、集合元素不实现IComparable接口,针对集合元素类型写一个实现IComparer接口的类,把该类实例作为Sort方法的参数。如果想使用List的Sort方法,就需要让Student实现IComparable接口。1、使用OrderBy方法,返回IEnumerable类型。原创 2022-10-05 22:37:49 · 1174 阅读 · 0 评论 -
(编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
BitConverter.ToString()之后原始值:02-5F-CE-AB-94-18-BE-86-06-6B-60-A7-1B-C7-14-85。Console.WriteLine("md5 hash 16进制大写2 :" + Md5Hash(strOrg).ToUpper());Console.WriteLine("md5 hash 16进制小写:"+ Md5Hash(strOrg));2:HASH计算输出结果 byte[] 数组转String 时,编码要统一,如:转16进制小写字符串。原创 2022-10-05 22:34:51 · 167 阅读 · 0 评论 -
C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压
至此 C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,留个小尾巴《压缩单个文件的逻辑其实就是先将我们要压缩的文件复制到一个临时目录,然后对临时目录执行了压缩动作,压缩完成之后又删除了临时目录。zip 是一个非常常见的压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作,我们采用的是 微软官方的实现,所以也不需要安装第三方的组件包。原创 2022-10-05 22:32:39 · 2038 阅读 · 0 评论 -
我们理解的架构师的日常
仔细想想,上文提到的这些案例全是架构的糗事,但糗事其实是架构师成长路上的必经之路。识别出系统中技术的难易区域,并分解复杂技术,使之成为一个个技术的黑盒子,在此之上再进行新的技术规划,使整个系统从技术角度来看是分层次的,从难到易,从大到小,但各层之间又是互相的黑盒。此时,架构师不时会像是一个掉入冰洞的猎人无比无助,头顶成群的苍蝇飞着,这些问题,有的懂点,有的不专业,还有的听说过没干过,有些仅限知道原理。从不同的技术角度看,架构师又是个变色龙——一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。原创 2022-10-03 13:59:30 · 111 阅读 · 0 评论 -
计算机网络3-VMware安装RouterOS及导入license
官网【RouterOS需要下载两个文件,一个是系统文件,即下图的【RouterOS v7】。另一个是管理软件,即下图的【WinBox】说明各下载文件的含义【RouterOS v7】表示RouterOS系统文件的版本号【Stable】和【Testing】表示一个是稳定版一个是开发测试版【x86】表示CPU架构【CD image】表示光盘镜像文件。原创 2022-10-02 01:48:53 · 2306 阅读 · 0 评论 -
电子病历结构化之实体识别(附完整项目代码)
对于医学领域的自然语言文献,例如医学教材、医学百科、临床病例、医学期刊、入院记录、检验报告等,这些文本中蕴含大量医学专业知识和医学术语。将实体识别技术与医学专业领域结合,利用机器读取医学文本,可以显著提高临床科研的效率和质量,并且可服务于下游子任务。医学领域中非结构化的文本,都是由中文自然语言句子或句子集合组成。实体抽取是从非结构化医学文本中找出医学实体,如疾病、症状的过程。电子病历结构化解析如上图所示,本文实现的是对案件的诊断,疾病,、(主诉,现病史,既往史等),原创 2022-09-29 18:06:23 · 1505 阅读 · 1 评论 -
反射技巧让你的性能提升N倍
如果下次使用相同的 Class,就不需要在做安全检查,但是这个缓存有个缺陷,如果换一个调用这个方法的 Class,需要再次做安全检查,并且会覆盖之前的缓存结果。反射速度会进一步提升,如果单看一个程序,可能这点性能微不足道,但是如果放在一个大的复杂的工程下面,运行在大量的低端机下,一行代码提升的性能,可能比你写 100 行代码提升的性能更加显著。因为反射本身是非常慢的,如果能够避免安全检查,可以进一步提升性能,在之前的文章和视频中,针对不同场景,分别测试了反射前后以及关闭安全检查的耗时。原创 2022-09-28 17:54:33 · 236 阅读 · 0 评论 -
Android Studio Logcat 更新
讲下怎么搜自己要的Log吧。在以前版本的Logcat中,您可以选择使用字符串搜索(支持正则表达式),也可以通过使用Logcat UI填充各个字段来创建新过滤器。现在,我们通过直接从主查询字段引入键值搜索,简化了体验。》此外,您仍然可以选择使用RegEx,也可以根据键值排除日志。这个新的查询系统提供了您想要查询的内容的准确性,而不依赖于正则表达式,它能够从历史记录中回忆过去的查询,并与其他人共享这些查询。是的,没错,我特么的不会用了,G了。原创 2022-09-28 17:51:18 · 968 阅读 · 0 评论 -
能说一说 Kotlin 中 lateinit 和 lazy 的区别吗?
使用 Kotlin 进行开发,对于 latelinit 和 lazy 肯定不陌生。但其原理上的区别,可能鲜少了解过,借着本篇文章普及下这方面的知识。原创 2022-09-28 17:43:39 · 229 阅读 · 0 评论 -
中高级前端工程师都需要熟悉的技能--前端缓存
web缓存主要指的是两部分:浏览器缓存和http缓存。其中http缓存是web缓存的核心,是最难懂的那一部分,也是最重要的那一部分。浏览器缓存:比如,localStorage,sessionStorage,cookie等等。这些功能主要用于缓存一些必要的数据,比如用户信息。比如需要携带到后端的参数。亦或者是一些列表数据等等。不过这里需要注意。像localStorage,sessionStorage这种用户缓存数据的功能,他只能保存5M左右的数据,多了不行。cookie则更少,大概只能有4kb的数据。转载 2022-09-25 21:27:29 · 238 阅读 · 0 评论