自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天空之蓝的博客

爱技术,爱生活!

  • 博客(88)
  • 资源 (2)
  • 收藏
  • 关注

翻译 printf()、fprintf() 、sprintf()、snprintf()、vprintf()、vfprintf() 、vsprintf()、vsnprintf()的区别

printf()、fprintf() 、sprintf()、snprintf()、vprintf()、vfprintf() 、vsprintf()、vsnprintf()的区别

2024-04-10 17:51:25 8

原创 整数压缩算法之VarInt编码

varint是一种对正整数进行可变长字节编码的方法,大多数情况下可起到数据压缩的作用。通常,一个int型整数占4个字节,若该整数的数值小于256,显然一个字节的空间就能存储,浪费了3个字节的空间,而varint就起到了压缩数据的作用。Varint编码通常使用7位表示一个字节,其中最高位(第8位)用作标记位,表示是否还有更多的字节用于表示该整数。如果最高位为0,则表示该字节是该整数的最后一个字节;在实际场景中小数字的使用率远远多于大数字,因此通过Varint编码对于大部分场景都可以起到很好的压缩效果。

2024-04-03 10:05:18 152

原创 UTF-8编码原理

UTF-8是目前使用最广泛的Unicode字符编码,本文顺着历史顺序讲解,来引出UTF8编码的来由和工作原理。

2024-04-03 09:47:34 309

原创 Linux空洞文件

💁‍♂️在Linux中,lseek的系统调用是可以改变在文件上面的偏移量的,而且还允许其超出文件的长度。偏移量一旦超出了文件的长度,下一次进行文件IO写入操作文件的时候便会延续偏移量的位置继续写入,进而在文件中间产生了空洞的部分,这部分会以”\0”填充,而从原来的文件结尾到新写入数据间的这段空间就被称为“文件空洞在Linux中,EOF(文件结束符)并不是一个字符,而是在读取到文件末尾的时候返回的一个信号值,也就是-1。

2024-04-03 09:39:12 722

原创 Java中整数转浮点数的原理

在JDK中Float,Double类中有一个方法。

2024-04-03 09:29:04 765

转载 npm 查看源地址以及更换源地址的方法

在使用npm命令时,如果直接从国外的仓库下载依赖,有时候下载速度很慢,甚至会下载不下来。这时我们可以更换npm的仓库源,提高下载速度。设置好之后,记得通过 npm config get registry 查看源是否设置成功。

2024-01-15 00:38:52 513

转载 VirtualBox命令行VBoxManage创建与管理虚拟机

VirtualBox命令行VBoxManage创建与管理虚拟机

2023-11-16 10:18:13 247

原创 Java如何获取某个包下所有的类

【代码】Java如何获取某个包下所有的类。

2023-03-08 10:35:25 1018

原创 DVWA之SQL注入(盲注)

SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要比一般注入高。目前网络上现存的SQL注入漏洞大多是SQL盲注。手工盲注的过程,就像你与一个机器人聊天,这个机器人知道的很多,但只会回答“是”或者“不是”,因此你需要询问它这样的问题,例如“数据库名字的第一个字母是不是a啊?”,通过这种机械的询问,最终获得你想要的数据。

2022-11-17 16:48:22 2125 1

原创 DVWA 之 SQL注入(非盲注)

说明users表中有8个字段,分别是user_id,first_name,last_name,user,password,avatar,last_login,failed_login。上面第一个SQL之所以失败,网上又说是编码格式的原因,修改表的编码格式一直就可以解决。说明执行的SQL查询语句中只有两个字段,即这里的First name、Surname。这里也可以通过输入union select 1,2,3…输入:1’ union select 1,2#输入:1’ union select 1#

2022-11-17 16:39:07 1149

原创 在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区

如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发Major GC(因为Major GC一般伴随着Minor GC,也可以看做触发了Full GC)。老年代的内存空间远大于新生代,进行一次Full GC消耗的时间比Minor GC长得多。你也许会问,执行时间长有什么坏处?频发的Full GC消耗的时间是非常可观的,这一点会影响大型程序的执行和响应速度,更不要说某些连接会因为超时发生连接错误了。好,那我们来想想在没有Survivor的情况下,有没

2022-11-06 11:27:31 128

原创 SQL解析之参考资料笔记

将SQL语句中的值替换成问号,方便SQL归类。虽然可以使用正则表达式实现相同的功能,但是其Bug较多,可以参考pt-query-digest。”,导致无法区别不同数字后缀的表。比如,一个Schema中包含了属于不同业务线的数据表,那么从业务线的角度来说,其希望提供表粒度的慢查询报表。https://github.com/mariadb-corporation/MaxScale C语言编写的SQL解析。https://github.com/flike/kingshard go语言编写的SQL解析。

2022-11-06 11:12:45 286

转载 Java优化正则表达式的匹配效率

回溯是造成正则表达式效率问题的根本原因,每次匹配失败,都需要将之前比对过的数据复位且指针调回到数据的上一位置,想要优化正则表达式的匹配效率,减少回溯是关键。独占模式应该算是贪婪模式的一种变种,它同样会尽量匹配更多的内容,区别在于在匹配失败的情况下不会触发回溯机制,而是继续向后判断,所以该模式效率最佳。贪婪模式是正则表达式的默认匹配方式,在该模式下,对于涉及数量的表达式,正则表达式会尽量匹配更多的内容,我用模型图来演示一下匹配逻辑。注意,到这步因为不满足匹配条件,所以触发回溯机制,将判断条件回调到上一个。

2022-10-13 22:35:10 909

原创 FTP的两种链接模式

完成一个FTP的传输过程不仅仅只需要21一个端口,而是2个端口,21端口只是一个命令端口,其实另外还有一个数据端口,我想这就是有些 朋友在内网架设FTP并且在网关上做了21端口的映射之后外网还是不能访问的原因吧,另外一个数据端口是多少呢?这又牵涉到另外一个问题。客户端给服务器端的21端口发命令说,我要下载文件,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某个端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被 动模式,可以理解为客户端从服务端的端口下载文件。

2022-10-02 09:15:31 1435

原创 robots文件的作用

robots是站点与spider沟通的重要渠道,站点通过robots文件声明该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。

2022-10-01 17:30:40 448

原创 html的nofollow、noindex标签

nofollow 是一个HTML标签的属性值。这个标签的意义是告诉搜索引擎"不要追踪此网页上的链接或不要追踪此特定链接"。1、将"nofollow"写在网页上的meta标签上,用来告诉搜索引擎不要抓取网页上的所有外部和包括内部链接。是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。2、将"nofollow"放在超链接中,告诉搜索引擎不要抓取特定的链接。的一个属性值,我们只需要在源代码里面加上。3、nofollow标签是超链接。

2022-10-01 17:12:11 567

原创 Java ==和equals的区别

对于包装类,java在编译Integer i = 100;时,会翻译成为Integer i = Integer.valueOf(100);,而java API中对Integer类型的valueOf的定义如下。所以,包装类直接通过非new的方式生成对象时,如果值>=-128 and

2022-09-13 12:58:03 146

原创 git upstream 怎么同步远程仓库代码

fork或者派生之后,如果upstream的代码发生改变,例如别人修复了一些问题,我们该如何同步过来呢?克隆代码库git clone https://github.com/nshfany/calcite.git查看已关联的远程库,此时只有默认关联仓库originnsh@StarMacBook calcite$ git remote -vorigin https://github.com/nshfany/calcite.git (fetch)origin https://github.c

2022-09-13 12:55:17 601

原创 Clickhouse 索引原理

说到Clickhouse 的索引原理需要提到表引擎,Clickhouse 有很多特性和表引擎密切相关。这里只介绍索引相关的部分,关于表引擎的分类后续介绍。建表语句,例如这里介绍几个和索引密切相关的几个参数,其他参数后续介绍。1、PARTITION BY [选填]:分区键;用于指定表数据以何种标准进行分区。分区键既可以是单个列字段,也可以通过元组的形式使用多个列字段,同时它也支持使用列表达式。如果不声明分区键,则ClickHouse会生成一个名为all的分区。

2022-09-13 12:49:10 2040

原创 debian 11 apt 安装软件报错:Media change: please insert the disc labeled

新安装了Debian环境,在安装软件的时候报错Mediachangepleaseinsertthedisclabeled,这是由于Debian的软件源中存在如下配置,即通过DVD光盘来安装软件。

2022-07-17 19:56:40 2972

原创 在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区?

如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发Major GC(因为Major GC一般伴随着Minor GC,也可以看做触发了Full GC)。老年代的内存空间远大于新生代,进行一次Full GC消耗的时间比Minor GC长得多。你也许会问,执行时间长有什么坏处?频发的Full GC消耗的时间是非常可观的,这一点会影响大型程序的执行和响应速度,更不要说某些连接会因为超时发生连接错误了。好,那我们来想想在没有Survivor的情况下,有没

2022-07-05 11:36:06 165

原创 CMS之promotion failed&concurrent mode failure

CMS并行GC收集器是大多数JAVA服务应用的最佳选择,然而, CMS并不是完美的,在使用CMS的过程中会产生2个最让人头痛的问题:该问题是在进行Minor GC时,Survivor Space放不下,对象只能放入老年代,而此时老年代也放不下造成的。(promotion failed时老年代CMS还没有机会进行回收,又放不下转移到老年代的对象,因此会出现下一个问题concurrent mode failure,需要stop-the-wold 降级为GC-Serail Old)。concurrent mod

2022-07-05 11:28:50 129

转载 互联网大头兵如何做好职场履新?

入职新公司,该如何顺利开展工作呢?本文作者从自身工作经历出发,向我们介绍了入职新公司应该如何开展工作,并对其中需要了解的工作流程与注意事项进行了梳理总结,与大家分享,希望对大家有所帮助。在互联网领域,像我这样的人有一个特定的称号——大头兵。这个称号特指那些干活的一线主力,不是管理岗位,手底下没有人。所以遇到所有事情,需要亲力亲为去解决。这就要求我们不仅要向上考虑方向性问题,向下也要着手把每一件事情落地。相较于管理线的人来说,大头兵们的流动性更强,跳槽更频繁。一方面是因为,大头兵更多的拿的是工资,只有特别优秀

2022-07-04 12:52:12 90

原创 数据思考:数据驱动业务的四个层次

在实际工作中,不能驱动业务的数据和数据分析是无效的。我们需要从数据出发,发现业务中不能直接发现的问题,辅助业务决策或者给出建议,这些建议和洞察能够切实推动业务的工作。这被称为数据驱动业务能力,是企业数据分析人员的关键能力。数据驱动业务可分为4个层级,辅助→协同→主导→洞察,从浅入深:数据辅助业务,支撑业务解决问题;熟悉业务流程,掌握数据分析技能,能将数据和业务结合,从数据中提出对业务有意义的意见和建议。【关键词】辅助业务做执行【能力注意】掌握数据分析技能、熟悉业务流程、掌握业务需求处理评估基本方法

2022-07-04 12:05:52 507

原创 Elasticsearch6.4专题之1:基础概念

是一个近乎实时的搜索平台。这意味着从您为文档编制索引到它变得可搜索之间存在轻微的延迟(通常为一秒)。一个集群中可以有一个或者多个节点。集群通过唯一集群名标识,默认是elasticsearch.只有相同集群名的节点才能组成一个集群,不同名称表示不同的集群。es集群是可以只有一个节点。节点是集群的一部分...

2022-06-14 00:19:56 125

原创 Belady现象演示

Belady现象(Bélády’s anomaly)是指:当给一个进程增加页帧数分配时,在FIFO替换算法策略下可能会出现缺页率增加的异常现象。Belady现象演示假定给某进程分为5页(page),但是它在内存中只分配到3个页帧(page frame),现在有一访问串:1,2,3,4,1,2,5,1,2,3,4,5,表示依次访问第1页、第2页……刚开始时,进程页还在虚存(磁盘)中,尚未缓存到内存中,所以第一次要访问第1页时发生一次缺页故障,此时调入第1页到内存中,占一个页帧此时还剩下两个页帧未分

2021-10-02 11:24:56 2995 1

转载 gradle复合构建多项目构建

文章目录什么是复合构建复合构建适用的场景:如何声明复合构建方式1:通过gradle命令行的--include-build选项实现复合构建方式2:在setting.gradle文件中使用includeBuild语句声明复合构建方式2-补充:不修改my-app/setting.gradle文件实现复合构建注意:一个构建需要满足什么条件才能被复合构建引入?什么是复合构建简单地说,Gradle的复合构建就是一个构建包含了其它构建。Gradle的复合构建跟多项目构建很相似,唯一的区别是多项目构建引入的是单个p

2021-04-30 12:32:18 1333 1

转载 数据库三范式

参考https://blog.csdn.net/dh2442897094/article/details/105656952https://blog.csdn.net/qq_42351920/article/details/81303550数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。第一范式(确保每列保持原子性);第二范式(确保表

2021-02-26 00:26:01 405

转载 互联网行业的那些缩写PM,RD,FE,UE,QA,OP,BRD,MRD,PRD,FSD

转自https://blog.csdn.net/springlovejava/article/details/78757838PM 产品经理RD 研究和开发人员FE 前端研发人员UE 用户体验QA 是测试OP 是运维IDC 机房DB 数据库DBA 数据库管理员UI (用户界面)的简称PSD 图像处理软件Photoshop处理后保存的源文件,一般容量比JPG格式的图片大。SOP 标准作业程序MRD 市场需求文档PRD 产品需求文档 重点放在为一个被提议的新产品或者现有产品的改进定

2020-12-26 17:02:19 4667

转载 Linux+性能监控之CPU&内存&IO监控Shell脚本

转自 https://www.cnblogs.com/shouke/p/10157834.htmlLinux+性能监控之CPU&内存&IO监控Shell脚本#!/bin/bash# 获取要监控的本地服务器IP地址IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`echo "IP地址:"$IP# 获取cpu总核数cpu_num=`grep -c "model name" /proc/

2020-09-24 22:23:43 681

转载 jstat命令查看jvm的GC情况

jstat命令查看jvm的GC情况 (以Linux为例)jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意!!!:使用的jdk版本是jdk8. 类加载统计: Loaded:加载class的数量 Bytes:所占用空间大小 Unloaded:未加载数量 Bytes:未加载占用空间 Time:时间 编译统计 Compiled:编译数量。...

2020-09-04 12:58:09 240

原创 Java编程杂记四

文章目录自动装箱和拆箱枚举Java多线程的开发中有三种特性原子性可见性有序性volatile保证原子性?自动装箱和拆箱如:Integer integer = 9;int n = integer;就相当于Integer integer = Integer.valueOf(9); //自动装箱int n = integer.intValue(); //自动拆箱枚举枚举本质就是一个类,在一个文件中已经定义了一个public class,就不能定义public enum公用的枚举类。如在同一文件中

2020-08-08 07:50:31 96

原创 Java编程杂记三

文章目录参考Unsafe类double-check 写法空对象调用静态方法空对象instanceofScheduledThreadPoolExecutorJava远程调试String.intern不同jar完全相同的包名和类名的加载问题java 获取泛型的实际类java为什么有些异常throw出去需要在函数头用throws声明,一些就不用。clone浅clone深cloneserialVersionUID参考jdk8源码java 版本 java version “1.8.0_191”Unsafe类

2020-08-08 07:48:03 234

原创 Java编程杂记二

文章目录@[toc]Java 空接口Java断言关键字assertJava多态线程停止情景模拟解决方案方案一:stop()方法方案二:interrupt()方法Thread.sleep()为什么需要抛InterruptedException多个finally和return的执行顺序finally不一定执行多个finally执行顺序没有return的情况有return的情况20200624补充Java 空接口空接口是没有包含任何方法的接口。叫标记接口。标记接口是没有任何方法和属性的接口.它仅仅表明它的类

2020-08-08 07:47:03 142

原创 Elasticsearch6.4专题之杂记:遇到的异常与解决方案2

11、lucene.util.BytesRefHash$MaxBytesLengthExceededException: bytes can be at most 32766 in length; got 56965解决方案设置keyword字段的ignore_above为3276512、[ERROR][o.e.a.b.TransportBulkAction] [node-1] failed to execute pipeline for a bulk requestorg.elasticsearch

2020-07-27 10:36:19 6507 2

原创 MAC环境获取openjdk源码

文章目录使用Mercurial获取OpenJDK源码安转Homebrew安装Mercurialclone 源代码MAC环境获取openjdk步骤使用Mercurial获取OpenJDK源码安转Homebrew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install...

2020-04-28 19:24:31 386

原创 elasticsearch6.4源码debug

我最近在看ES的源码,我在网上看到各种各样的教程。说这样的错误,那样的错误,然后怎么怎么做,但是这些都没有解决我的问题,我写这边博客,不一定也能解决每个博友遇到的问题。首先,贴一下我的参考资料。https://github.com/elastic/elasticsearch/blob/master/TESTING.asciidoc我觉遇到问题,还是要首先看官网的说明书。这篇说明可以通过命令...

2020-03-04 15:56:37 251

原创 java编程杂记一

文章目录Java 空接口Java断言关键字assertJava多态线程停止情景模拟解决方案方案一:stop()方法方案二:interrupt()方法Thread.sleep()为什么需要抛InterruptedExceptionJava 空接口空接口是没有包含任何方法的接口。叫标记接口。标记接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其它代码来测试允许做一些事情。...

2020-02-29 01:02:18 210

转载 java遇到Process 输出流阻塞的问题

今天发现之前写的一个程序,在程序中调用外部程序,需要把进程的InputStream的内容返回,在这个过程中,之前采用的直接获取,发现存在InputStream的结果太大,导致外部进程阻塞。 经过查资料,发现网上有InputStream流按照byte[]数组来读取,把内容拼接组成返回结果,这样可以解决进程阻塞的问题,但是存在内容读取重复的问题,而且不易解决。如果返回结果是字符串,最后在看到一个...

2020-01-16 23:28:39 1315

原创 kerberos认证服务搭建、认证、常用命令

文章目录安装KDC 服务器修改配置修改KDC的配置文件配置KDC服务的权限管理文件修改Kerberos的配置文件信息初始化KDC数据库启动KDC服务器启动Kerberos服务器KDC 服务器上添加超级管理员账户搭建Kerberos客户端环境将服务端的配置文件拷贝到客户端客户端配置文件和服务段同步后,进行登陆,验证是否可以成功登陆Kerberos 一些基本操作命令使用kadmin.local命令进入...

2020-01-16 18:49:29 5512

php网页注册登录页面实例

这是我自己做的一个php网页登录注册页面实例代码,供大家参考!

2016-01-22

kafka-2.10-0.8.2.2.jar

this is a jar of kafka-2.10-0.8.2.2

2016-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除