- 博客(95)
- 资源 (16)
- 收藏
- 关注
原创 JAVA 并发八股
AQS是多线程的队列同步器,在基础框架中使用的锁机制AQS内部维护了一个先进先出的双向队列,队列中存储的是排队的进程在AQS内部还有一个属性state,这个state就相当于是一个资源,默认为0(无锁状态),如果队列中的有一个线程成功将state修改为1,则视为改线程获取了资源。对state修改的时候使用了cas操作,保证多个线程修改的情况下的原子性。
2024-10-11 18:06:19
930
原创 MybatisPlus学习笔记
可以利用Wrapper构建复杂的where条件,然后自定义剩下的select语句基于Wrapper构建where条件在mapper方法参数中使用Param注解声明wrapper的变量名称,必须是ew自定义SQL语句,并使用wrapper方法。
2024-05-01 16:12:19
815
1
原创 中间件-消息队列
延迟队列指的是存储对应的延迟消息,消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。利用RabbitMQ的死信交换机和消息存活时间TTL来实现安装死信插件(具体没用过)
2024-03-19 20:22:54
1446
1
原创 JVM面试题
程序计数器是线程私有的,每个线程中存在一份,内部保存字节码的行号,用于记录正在执行中的字节码指令地址。每个线程运行时所需要的内存,称为虚拟机栈,先进后出每个栈由多个栈帧(frame)组成,对应着每次方法调用所占用的内存(包括参数、局部变量、返回地址等)每个线程只能有一个活动栈帧,对应着当前正在执行的方法常量池:可以看作一张表,虚拟机指令根据表中信息找到要执行的类名、方法名、参数类型、字面量等信息当类被加载,它的常量池信息就会放入运行时常量池,并将其中符号地址变为真实地址。
2024-03-18 20:38:15
996
原创 2024年3月9日美团笔试解答
本题解法为二维前缀和,数据量较小,前缀和+暴力就行了,第一遍扫描的时候统计左上角顶点为(0,0),右下角顶点为(i,j)的矩形中0-1的差值,map[i][j]=map[i-1][j]+map[i][j-1]-map[i-1][j-1]的0和1。很显然,检查两个节点是否连接的话,使用最小连通图的算法时间复杂度必然是不够的,而且我们也不需要知道二者之间有多少跳,只要使用并查集就行了。这题打卡题,先扫描一遍原本有n个M和T,然后总数减一下,剩下m个,再看可以添加k个,返回n+min(m,k)
2024-03-13 16:13:49
1222
3
原创 Mybatis八股
MyBatis 动态 sql 可以让我们在 xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。其执行原理为,使用 OGNL 从 sql 参数对象中计算表达式的值,根据表达式的值动态拼接 sql,以此来完成动态 sql 的功能。若Dao层函数有多个参数,那么其对应的xml中,#{0}代表接收的是Dao层中的第一个参数,#{1}代表Dao中的第二个参数,以此类推。Mybatis 的 Dao 接口可以有多个重载方法,但是多个接口对应的映射必须只有一个,否则启动会报错。
2024-03-12 15:56:56
885
原创 MySQL常见面试题
索引是帮助MySQL高效获取数据的数据结构(有序)。提高数据检索的效率,降低数据库的IO成本(不需要全盘扫描)通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。聚簇索引(聚集索引):数据与索引放在一起,B+树的叶子节点保存了整行数据,有且只有一个。一般情况下主键作为聚簇索引非聚簇索引(二级索引):数据与索引分开存储,B+树的叶子节点保存对应的主键,可以有多个通过二级索引找到对应的主键值,到聚集索引中查找整行数据,这个过程就是回表。
2024-03-07 20:47:35
784
原创 Spring八股 常见面试题
简单来说,Bean 代指的就是那些被 IoC 容器所管理的对象。我们需要告诉 IoC 容器帮助我们管理哪些对象,这个是通过配置元数据来定义的。配置元数据可以是 XML 文件、注解或者 Java 配置类。AOP称为面向切面编程,用于将与业务无关,但是对多个对象产生影响的公共行为和逻辑进行抽取和封装,形成一个可重用的模块,这个模块被命名为"切面"(Aspect)。可以减少系统中的重复代码,降低模块间的耦合度,同时提高了系统的可维护性。术语含义目标 Target被通知的对象代理 Proxy。
2024-02-29 21:06:14
2089
原创 Java基础八股
字节码是JAVA可以理解的代码,即扩展名为.class的文件,不面向任何特定的处理器,只面向虚拟机。采用字节码的好处在于:一定程度上解决了传统解释型语言执行效率的问题,同时又保留了解释性语言可移植的特点。字节码不针对特定机器,所以Java程序无需重新编译便可在多种不同的操作系统上运行。JIT编译器在完成第一次编译后,会将字节码对应的机器码保存下来,下次可以直接使用。从 Java5 开始,Java 支持定义可变长参数,所谓可变长参数就是允许在调用方法时传入不定长度的参数。
2024-02-28 19:40:14
969
原创 Top-k overlapping densest subgraphs: approximation algorithms and computational complexity
给定图GVE,令GV1和GV2是G的两个子图。当V1∩V2∅V1∖V2∅且V2∖V1∅时,称GV1和GV2是G的交叉子图。
2023-04-23 21:40:22
301
原创 对比式和生成式图数据编码器发展综述
在过去十年中,自监督编码器技术在图像[1]以及自然语言处理[2][3]等方面得到了广泛应用。然而对于不规则的图结构数据,如社交网络、电子商务网络、生物学网络和交通网络等,自监督编码器的应用还较少。这些图结构数据有着复杂的结构和大量待挖掘的信息。当前,对图数据的分析存在着以下难点:1)图结构的不规则性。与语音、图片以及文本这些有着清晰网格结构的数据不同,图数据的结构是不规则的。这导致了一些基本的数学操作难以被推广到图中。2)图的异质性和多样性。图本身包括了不同的类型和属性。
2023-03-13 16:02:22
666
原创 Snort Rules规则
Writing Snort Rules来源https://paginas.fe.up.pt/~mgi98020/pgr/writing_snort_rules.htm基础Snort使用一种简单,轻量级的规则描述语言,该语言灵活且强力。在开发Snort规则时,需要遵守以下准则:1)首先,Snort规则必须完全包含在一行上,因为Snort规则解析器不知道如何处理多行上的规则。Snort规则被分为两个逻辑部分,规则头和规则选项。规则头包含规则的操作、协议、源和目标IP地址和网络掩码,以及源和目标端口信息
2022-04-27 11:25:01
1176
原创 python 绘制CCDF图
CCDFCCDF,互补累计分布函数。简单点说就是,对于x,y=P(值>x).import matplotlibimport matplotlib.pyplot as pltimport numpy as npdef CCDF(data): Data = np.array(data) cdf = Data.cumsum(0) l = cdf[-1] cdf = 1.0*cdf / l ccdf = 1-cdf return ccdf
2022-03-24 20:03:26
4044
2
原创 Iodine DNS隧道实验记录
Iodine介绍Iodine,直译过来就是碘。碘元素在元素周期表中序号为53,正好是DNS使用的端口号。该工具用于建立DNS隧道,其分为服务端和客户端两部分(也常称为主控端和被控端),客户端对服务器端发送DNS请求建立连接。这两部分都是用C语言编写,支持EDNS、base32、base64、base128等多种编码规范。DNS隧道常分为中继和直连两种类型,中继是指DNS通过外网DNS服务器转发到服务端,直连是指直接通过服务端IP进行连接。Iodine对这两种类型都有支持。同时,Iodine支持多种DN
2022-03-09 17:37:34
836
原创 单调栈 学习记录 数据结构
今天在刷leetcode的时候遇到这样一道题目给你一个整数数组 nums 。nums 中,子数组的 范围 是子数组中最大元素和最小元素的差值。返回 nums 中 所有 子数组范围的 和 。子数组是数组中一个连续 非空 的元素序列。 示例 1:输入:nums = [1,2,3]输出:4解释:nums 的 6 个子数组如下所示:[1],范围 = 最大 - 最小 = 1 - 1 = 0 [2],范围 = 2 - 2 = 0[3],范围 = 3 - 3 = 0[1,2],范围 = 2 - 1
2022-03-04 14:46:07
247
原创 DNS隧道攻击实验记录
到博主做毕设的时间了,因为博主毕设方向的需要的数据集,很少有公开提供(毕竟DNS的记录多多少少带点隐私问题),所以不得不自己模拟DNS攻击来进行操作。首先要了解啥是DNS隧道攻击的话,可以看一下咱家之前的博文DNS流量分析领域调研。这边就懒得再写一遍了。在之前的搭建子域DNS服务器和Ubuntu搭建DNS服务器中,已经把大致的环境搭建完成了,这里直接开始隧道攻击程序的记录。攻击方案这里希望的是能够通过DNS报文来传输文件。在客户端方面,存在以下几个模块,分别是文件读入模块,编码模块,嵌入模块和发送模
2022-02-21 20:20:13
1072
原创 搭建子域DNS服务器
为了做DNS隧道攻击的实验,我准备搭建一个带子域的DNS服务器,其具体的结构如下。这里主机使用的是win10 家庭版,两个域名解析器使用的都是Ubuntu 18.0.4和VMware 15.0进行搭建。使用的搭建DNS服务器的软件是bind9,具体的下载和使用方法可见我上一篇博客Ubuntu搭建DNS服务器。其中com域名解析服务器的ip地址是192.168.43.211,mydomain.com域名解析器的IP地址为192.168.75.129好了,下面首先是对com域名服务器进行配置。首先,打开
2022-02-19 22:02:41
5365
原创 Ubuntu搭建DNS服务器
这里只是初步介绍搭建方法,经过本地测试和客户端测试可以顺利查询其他网站(准确说,写这篇文章时,我就是通过目前搭建的DNS服务器中转DNS查询)。首先是实验环境使用VMware虚拟机和Ubuntu18.04系统建立虚拟机,作为server,网络连接方式使用桥接模式。然后是下载bind9使用指令sudo apt install bind9bind9安装在/etc/bind位置,进入该文件夹,可以查看文件权限这里首先看到named.conf,named.conf.local,named.conf.
2021-12-01 22:48:26
14002
原创 K临近算法检测异常操作(一)
概述K近邻(K-Nearest Neighbor,KNN)算法是机器学习领域使用最广 泛的算法之一,所谓KNN,就是K个最近的邻居的意思,说的是每个样 本都可以用它最接近的K个邻居来代表。KNN算法的核心思想是:如果 一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类 别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策时,只依据最邻近的一个或者 几个样本的类别来决定待分样本所属的类别。KNN方法在类别决策时, 只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近
2021-11-23 21:16:01
2174
原创 DNS流量分析领域调研
DNS介绍DNS是互联网的基础协议,用于在域名和IP地址之间建立映射。其本质上是一种分层的分布式数据库,在数据库中存储了关联的域名和IP地址对。在DNS域名中,包括按层次划分的树型结构。根域名为“.”。其子域为顶级域名(TLD),包括.com,.edu,.net等。顶级域名的子域为下属的次级域名(2LD)。最后,全限定域名(FQDN)找出DNS层次结构中的主机名或子域。以www.baidu.com为例接着,来简单的看一下DNS的查询过程。以www.baidu.com为例,当用户输入baidu.co
2021-11-16 12:11:13
2230
1
翻译 基于DNS特征的僵尸网络攻击检测 论文翻译
Botnets Detecting Attack based on DNS Features 2018 ACIT摘要僵尸网络被认为是一个威胁网络安全的严重问题。这是网络犯罪分子用来进行非法活动的一种手段。这些活动可能包括点击欺诈和DDoS攻击。本文旨在提出一种新的滤波方法“枪手系统”。上述方法涉及用于检测僵尸网络的基于规则的域名系统(DNS)特性。通过这种方法,研究人员期望提高基于DNS的僵尸网络检测的准确性。关键词:Botnet, Domain Name System (DNS), Botnet
2021-11-04 19:41:33
1389
原创 Web服务器⽇志特征提取
在典型的 Web 服务器上,你会在 /var/log/apache2/ 中找到 Apache ⽇志,通常是access.log 、 ssl_access.log (对于 HTTPS)或 gzip 压缩后的轮转⽇志⽂件,如 access-20200101.gz 或者 ssl_access-20200101.gz 。HTTP服务器记录什么⽇志信息可以配置的。参考简书:web访问⽇志分析1)Apache采⽤如何配置⽣成⽇志LogFormat "%h %l %u %t \"%r\" %>s %b \"%
2021-10-21 22:08:17
1028
原创 数据库 习题答案 系统概念 第七章
有需要全套的同学可以提前下载https://download.youkuaiyun.com/download/qq_44465615/19866940
2021-10-21 20:26:41
6631
1
原创 web访问日志分析
用途记录访问服务器的远程主机IP地址,可以得知浏览者来自何处记录浏览者访问web资源,可以了解网站哪些部分最受欢迎记录浏览者使用浏览器,可以根据大多数浏览者使用浏览器对站点进行优化记录浏览者访问时间访问日志位置1、Apache在httpd.conf和引用的*.conf文件中查找CustomLog “logs/access.log” combined说明:a.CustomLog 访问日志配置指令 b.logs/access.log 访问日志记录文件 c.combined 日志格式
2021-10-19 16:08:05
788
原创 nDPI学习尝试(下载,安装,样例) Ubuntu
首先给一下nDPI github链接https://github.com/ntop/nDPI希望通过二进制文件安装的可以到以下地址:http://packages.ntop.org/想通过git clone进行安装又觉得github下载速度太慢的兄弟可以去网上找一下从github把代码搬运到gitee的方法,这里就先不加说明。觉得麻烦的也可以从博主的gitee库下载(链接时效性不做保证)https://gitee.com/zhu-jingyu-cc/nDPI简介好了,首先把简介亮一下,以下是来
2021-10-16 13:54:21
1180
翻译 NIST Cybersecurity White Paper 2021
原文标题《Getting Ready for Post-Quantum Cryptography: Exploring Challenges Associated with Adopting and Using Post-Quantum Cryptographic Algorithms》原文链接 https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.04282021.pdf摘要:加密技术在整个政府和行业中都被用于验证来源,并保护我们通信和存储的信息的机密性和
2021-10-12 11:35:14
305
原创 Why Crypto-agility is the Key for Quantum-safe Cryptography
原文链接The National Institute of Science and Technology (NIST) says that public-key encryption, digital signatures, and secure key exchange “are the heart and blood” of digital identity and trust. These support numerous online applications and services criti
2021-10-11 20:21:12
488
1
原创 数据挖掘--数据挖掘基本概念
1.1 数据挖掘的定义本质概念:用最强大的硬件、最强大的编程系统和最高效的算法’来解决科学、商业、医疗健康、政府、人文以及众多人类努力探索的其他领域中的问题。1.1.1 建模对很多人而言’数据挖掘是从数据构建模型的过程’而该过程通常利用机器学习来实现。但是更一般地来说数据挖掘的目标是算法。当然,在很多重要的应用中,建模是难点所在。—旦模型建好,那么使用该模型的算法就直截了当了。1.1.2 统计建模目前,统计学家认为数据挖掘就是统计模型(statisticalmodel)的构建过程’而此处统计模型指
2021-10-10 15:57:54
1920
原创 一、网络协议和网络设备的基础 —— TCP/IP 和 OSI 模型
TCP/IP 模型TCP/IP模型是大多数现代通信网络的基础。其名称中包含了两个重要协议,即TCP协议(Transmission Control Protocol)和IP协议(Internet Protocol)。最初的TCP/IP协议仅有四层(应用层、传输层、网络层、链接层),后来将链接层划分为数据链路层和物理层。在TCP/IP协议中,定义了一下两个概念在同一个主机,每一层都为其TCP/IP堆栈中上一层提供服务。在不同的主机上,使用相同的层协议建立相同的层通信。在TCP/IP协议中,每
2021-10-03 20:31:40
460
原创 pyshark 对http请求头进行简单特征提取
这里我们简单的对http头部进行一个分析。网络3层或4层的流量特征是指从网络流量中提取的一些网络流量的基本特征数据,比如流量的大小、包长的信息、协议的信息、端口流量的信息、TCP 标志位的信息等。我们常常需要对明文的应用层流量做分析,来获得更丰富的流量信息。最常用的应用层协议是HTTP。HTTP请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息。下面这个网址提供了80端口和443端口的pcap网络流量包。SUEE1.pcap和SUEE8.pca
2021-09-30 19:09:56
1795
1
原创 图片文字识别
目录第一章 系统描述 3§1.1系统概述 3§1.2系统的物理组成 4第二章 需求分析模型 4§2.1 E-R图 4§2.2 数据流图 5§2.3 状态转换图 6第三章 软件模块结构图 6第四章 面向对象的视图 7§4.1 用例图 7§4.2 活动图 8五、关键技术及实现 9§5.1 图像预处理 9§5.1.1 开发工具 9§5.1.2 流程设计 9§5.1.3 主要模块详细设计 10§5.1.4 效果展示 11§5.2 文字识别 13§5.2.1 开发工具 13§5
2021-07-21 20:15:40
3072
6
原创 安全加固实践
安全加固随着IP技术的飞速发展,一个组织的信息系统经常会面临内部和外部威胁的风险,网络安全已经成为影响信息系统的关键问题。虽然传统的防火墙等各类安全产品能提供外围的安全防护,但并不能真正彻底的消除隐藏在信息系统上的安全漏洞隐患。信息系统上的各种网络设备、操作系统、数据库和应用系统,存在大量的安全漏洞,比如安装、配置不符合安全需求,参数配置错误,使用、维护不符合安全需求,被注入木马程序,安全漏洞没有及时修补,应用服务和应用程序滥用,开放不必要的端口和服务等等。这些漏洞会成为各种信息安全问题的隐患。一旦漏洞被
2021-07-21 19:54:54
1251
2
Deep Spiking Neural Network for Video-Based Disguise Face Recognition
2021-02-23
软件安全练习用执行程序
2020-11-13
OCCLUSION-AWARE GAN FOR FACE DE-OCCLUSION IN THE WILD.pdf
2020-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人