当前位置:首页
> 第81页
我说HashMap初始容量是16,面试官让我回去等通知
众所周知HashMap是工作和面试中最常遇到的数据类型,但很多人对HashMap的知识止步于会用的程度,对它的底层实现原理一知半解,了解过很多HashMap的知识点,却都是散乱不成体系,今天一灯带你一块深入浅出的剖析HashMap底层实现原理。 看下面这些面试题,你能完整的答对几道? 1. HashMap底层数据结构? JDK1.7采用的是数组+链表,数组可以通过下标访问,实现快速查询,链表用来解...
Lotus2022-10-13 15:00
通过linux-PAM实现禁止root用户登陆的方法
前言 在linux系统中,root账户是有全部管理权限的,一旦root账户密码外泄,对于服务器而言将是致命的威胁;出于安全考虑,通常会限制root账户的登陆,改为配置普通用户登陆服务器后su切换到root账户使用,这种方式较为安全,限制root账户登陆的方式有多种,本文主要介绍如何通过linux-PAM限制账户登陆; PAM模块简介 Linux-PAM (Pluggable Authenticat...
Lotus2022-10-13 15:00
10分钟教你写一个数据库
今天教大家借助一款框架快速实现一个数据库,这个框架就是Calcite,下面会带大家通过两个例子快速教会大家怎么实现,一个是可以通过 SQL 语句的方式可以直接查询文件内容,第二个是模拟 Mysql 查询功能,以及最后告诉大家怎么实现 SQL 查询 Kafka 数据。 Calcite Calcite 是一个用于优化异构数据源的查询处理的可插拔基础框架(他是一个框架),可以将任意数据(Any data...
Lotus2022-10-13 15:00
Python编程之子进程管理(subprocess)详解
引言 在写程序时,我们无法避免需要运行外部程序,相较于功能比较简单的os.system(),更加倾向于使用subprocess模块来执行外部程序。 模块介绍 subprocess.run() 使用subprocess.run()执行命令的时候,父进程会一直等待直到子进程结束后才会继续运行父进程 subprocess.run(args, *, stdin=None, input=No...
Lotus2022-10-13 15:00
驱动开发:内核遍历进程VAD结构体
在上一篇文章《驱动开发:内核中实现Dump进程转储》中我们实现了ARK工具的转存功能,本篇文章继续以内存为出发点介绍VAD结构,该结构的全程是Virtual Address Descriptor即虚拟地址描述符,VAD是一个AVL自平衡二叉树,树的每一个节点代表一段虚拟地址空间。程序中的代码段,数据段,堆段都会各种占用一个或多个VAD节点,由一个MMVAD结构完整描述。 VAD结构的遍历效果如下:...
Lotus2022-10-13 15:00
实践了上万次,原来这些才是敏捷测试需要遵循的原则
与传统的阶段性测试不同的是,敏捷测试能够将测试集成到整个软件开发过程中,尽早、及时地发现缺陷,帮助交付有价值的高质量产品。 传统测试与敏捷测试的比较大的区别在于: 在瀑布方法中,测试只能在开发结束后进行;在敏捷方法中,测试是贯穿在整个开发过程中的,同时可以在需求阶段介入测试,来尽早发现系统设计中的缺陷。那具体做敏捷测试的时候,我们要遵循哪些原则呢?1.质量保证 在软件交付过程中,质量不是某一个职...
Lotus2022-10-13 15:00
『现学现忘』Git后悔药 — 32、revert撤销(一)
目录 1、Git的三种后悔药 2、revert命令原理 3、revert命令的使用 (1)移除某次提交的修改 (2)revert命令说明 1、Git的三种后悔药 在Git中后悔药有三种:amend、revert、reset。 git commit --amend:新的提交覆盖上一次提交的内容。 git revert:提交一个新的commit,来撤销之前的commit。 g...
Lotus2022-10-13 15:00
【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码
前言 前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是和大家分享使用LabVIEW快速实现yolov5的物体识别,本博客中使用的智能工具包可到主页置顶博客LabVIEW AI视觉工具包(非NI Vision)下载与安装教程中下载。若配置运行过程中遇到困难,欢迎大家评论区留言,博主将尽力解决。 一、关...
Lotus2022-10-13 15:00
C++ 使用栈求解中缀、后缀表达式的值
1. 前言 表达式求值对于有知识积累的你而言,可以通过认知,按运算符的优先级进行先后运算。 但对计算机而言,表达式仅是一串普通的信息而已,需要通过编码的方式告诉计算机运算法则,这个过程中栈起到了至关重要的作用。 表达式由 2 部分组成: 操作数。 运算符。 在一个复杂的表达式中,操作数和运算符可以有多个,运算符之间存在优先级,且不同运算符所需要的操作数的数量也有差异。这时,表达式的计算过程就变...
Lotus2022-10-13 10:00
Java一次返回中国所有省市区三级树形级联+前端vue展示【200ms内】
一、前言 中国省市区还是不少的,省有34个,市有391个,区有1101个,这是以小编的库里的,可能不是最新的,但是个数也差不了多少。 当一次返回所有的数据,并且还要组装成一个三级树,一般的for,会循环34*391*1101次。这样就是千万级的,加上与数据库交互,你跑半天也跑不完。 最后的处理是组长提供的思路,果然很快。 二、思路 首先:小编的省市区是三张表 第一:我们通过三次IO从数据库中查询出...
Lotus2022-10-13 10:00