自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gaogzhen的博客

全栈工程师 网络安全

  • 博客(17)
  • 资源 (20)
  • 收藏
  • 关注

原创 归并排序-排序-算法第四版

文章目录1、原地归并的抽象方法2、自顶向下的归并排序3、关于自顶向下归并排序的改进3.1、对小规模子数组使用插入排序3.2、测试数组是否已经有序3.3、不将元素复制到辅助数组3、自底向上的归并排序4、比较1、原地归并的抽象方法实现归并的一种直截了当的方法是将两个不同的有序数组归并到第三个数组中,即创建一个大小适当的数组然后将两个输入数组中的元素一个个从小到大放入这个数组中。但是,当用归并将一个大数组排序时,我们需要进行多次归并,因此在每次归并是都创建一个新数组来存储排序结果会带来问题。我们更希望有一种

2021-09-30 19:26:53 309

原创 原子累加器及其原理-JUC-并发编程(Java)

1、原子整数累加和原子累加器性能比较import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.LongAdder;import java.util.function.Consumer;import java.util.function.Supplier;public class Test01

2021-09-30 08:53:08 753

原创 原子整数、引用、数组、更新器-JUC-并发编程(Java)

文章目录一、原子整数二、原子引用1、AtomicReference-原子引用类型2、AtomicStampedReference-原子引用类型(版本标记)3、AtomicMarkableReference-原子引用类型(布尔型标记)三、原子数组四、原子更新器一、原子整数JUC并发包提供了:AtomicBooleanAtomicIntegerAtomicLong下面以AtomicInteger为例,来了解下常用API,所有的操作都是原子的。自增:incrementAndGet():自增

2021-09-27 12:04:52 389

原创 希尔排序-排序-算法第4版

1、插入排序的弊端对于大规模的乱序数组插入排序很慢,因为它只会交换相邻的元素,因此元素只能一点一点的从数组的一端移动到另一端。希尔排序为了加快速度,简单地改进了插入排序,交换不相邻的元素以对数组的局部进行排序,并最终用插入排序将局部有序的数组排序。2、算法描述希尔排序的思想是使任意间隔h的元素都是有序的。这样的数组被称为h有序数组。选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1;按增量序列个数k,对序列进行k 趟排序;每趟排序,根据对应的增量ti,将待排序列分割成若干长度

2021-09-26 19:09:07 99

原创 CAS入门-乐观锁-并发编程(Java)

1、保护共享资源模拟银行账户取款操作,设置一个账户接口以及一个非线程的账户类实现。代码如下:/** * 账户接口 */public interface Account { // 获取余额 Integer getBalance(); // 取款 void withdraw(Integer amount); // 模拟多个线程取款操作 static void multiWithdraw(Account account) { List&lt

2021-09-25 17:59:11 156

原创 单例模式及线程安全问题分析-设计模式-并发编程(Java)

文章目录0、序言1、饿汉式2、枚举类3、懒汉式4、懒汉式改进5、静态内部类0、序言单例模式有很多实现方法,饿汉式、懒汉式、静态内部类、枚举类。饿汉式:类加载时,创建该单例对象懒汉式:首次使用时,创建该该单例对象静态内部类:首次使用时,有静态内部类创建该实例对象枚举类:类加载时创建下面我们来分析下每种在获取单例对象时的线程安全问题及相关其他问题。1、饿汉式典型代码实现:// 问题1:为什么加final// 问题2:如果实现了序列化接口,怎么防止反序列化时单例被破坏public fi

2021-09-24 11:02:13 144

原创 选择排序和插入排序及比较-排序-算法第4版

文章目录一、选择排序1、算法描述2、分析3、特点3、代码实现二、插入排序1、算法描述2、分析3、代码实现4、总结三、两种排序算法的比较1、比较步骤2、代码实现一、选择排序1、算法描述首先,找到数组中的最小的元素其次,将它与数组的第一个元素交互位置再次,在剩余的数组元素中找到最小的元素,将它与数组的第二个元素交互位置如此重复,直到将整个数组排序2、分析比较元素:比较当前元素与目前已知的最小元素(以及将当前索引加1和检测是否代码越界)交互元素:每轮只交互一个元素,因此交换的总次数是N(数

2021-09-23 19:33:35 413

原创 valitile原理简介及读写可见性-并发编程(Java)

volatile的底层原理就是内存屏障,Memory Barrier(Fense)对volatile变量的写指令后加入写屏障对volatile变量的读指令之前加入写屏障1、volatile保证可见性写屏障保证在该屏障之前的,对共享变量的改动,同步到主存中而读屏障保证在该屏障之后,对共享变量的读取,加载的是主存中最新的数据2、volatile保证有序性写屏障会确保指令重排时,不会将 写屏障之前的代码排在写屏障之后读屏障会确保指令重排时,不会将写屏障之后的代码排在读屏障之前vo.

2021-09-23 11:14:30 242

原创 mongodb4.x版本安装(图文详解)-windows本地安装

0、序言因为本人目前用的台式机配的win7系统,一直懒得换系统,对应的mongdb版本,选择了4.2.16 ,经测试(都是选择的稳定版):版本是否可用5.0.3×4.4.9×4.2.16√其他平台和系统自行测试。1、下载官网地址:专业版:https://www.mongodb.com/try/download/enterprise社区版:https://www.mongodb.com/try/download/community百度网盘:

2021-09-22 21:40:33 469

原创 入门简介-排序-算法第4版

文章目录0、序言1、通用模板2、验证3、运行时间4、额外的内存使用5、数据类型0、序言排序就是将一组对象按照某种逻辑顺序重新排列的过程,学习排序算法实际意义:对排序算法的分析有助于你全面理解比较算法性能的方法类似的技术也能有效解决其他类型的问题排序算法常常是我们解决其他问题的第一步初级排序算法,作为对排序算法领域的第一次探索,深入学习的原因在于:我们将通过它们熟悉一些术语和简单的技巧这些简单的算法在某些情况下比我们之后将会讨论的复杂算法更有效集合你会发现,它们有助于我们改进复杂算法的

2021-09-21 18:52:14 139

原创 JMM之可见性入门-并发编程(Java)

文章目录1、Java内存模型简介2、可见性3、解决3.1、volatile3.2、synchronized4、可见性与原子性5、两阶段终止6、犹豫模式1、Java内存模型简介JMM即Java Memory Model ,它定义了主存、工作内存等抽象概念,底层对应着CUP寄存器、缓存、硬件内存、CUP指令优化等。JMM体现在以下几个方面:原子性:保证指令不会受到线程上下文切换的影响可见性:保证指令不会受到缓存的影响有序性:保证指令不会受到CUP指令优化的影响2、可见性可见性问题-退不出

2021-09-19 11:32:47 167

原创 0103函数的极限--函数与极限

文章目录一、函数极限的定义1、自变量趋于有限值时函数的极限2、自变量趋于无穷大时函数的极限二、函数极限的性质一、函数极限的定义1、自变量趋于有限值时函数的极限极限定义:设函数f(x)f(x)f(x)在点x0x_0x0​的某一去心邻域内有定义。如果存在常数AAA,对于任意给定的正数ϵ\epsilonϵ(不论它有多么小),总存在正数δ\deltaδ,使得当x满足不等式0<∣x−x0∣<δ0\lt\lvert x-x_0\rvert\lt\delta0<∣x−x0​∣<δ时,

2021-09-09 19:25:05 336

原创 API及性质-ReentrantLock入门-并发编程(Java)

文章目录1、可重入2、可打断3、锁超时4、锁超时解决哲学家进餐问题5、公平锁与不公平锁6、条件变量1、可重入可重入是指同一线程如果首次获得了这把锁,那么因为是这把锁的拥有者,因此有权利再次获取这边锁。/** * 测试ReentrantLock可重入性 */@Slf4j(topic = "c.TestReentrant")public class TestReentrant { static ReentrantLock lock = new ReentrantLock(); p

2021-09-08 11:34:51 212

原创 park-unpark_线程状态转换_多锁问题-并发编程(Java)

文章目录一、park-unpark1、基本使用2、park-unpark执行顺序3、与wait-notify比较3、原理二、线程状态转换1、NEW --> RUNNABLE2、RUNNABLE <--> WAITING3、RUNNABLE <--> WAITING4、RUNNABLE <--> WAITING5、RUNNABLE < -- > TIMED_WAITNG6、RUNNABLE < -- > TIMED_WAITNG7、RUNNAB

2021-09-06 20:05:14 494

原创 生产者消费者模式-设计模式-并发编程(Java)

1、保护性暂停解耦图中Futures就好比居民楼的信箱(每个信箱都有房间编号),左侧t0,t2,t4就好比等待邮件的居民,右侧的t1,t3,t5就好比邮递员。如果需要在多个类之间使用GuardedObject对象,作为参数传递不是很方便,因此设计一个用来解耦的中间类,这样不仅能够解耦结果等待者和结果生产者,还能够同时支持多个任务的管理。场景:邮递员送信,居民收信,信箱里面有很多格子,每个格子对应居民房间,编号。邮递员根据信件的房间编号,把信件投入相应的信箱小格子;居民根据自己的房间编号去对应的小格子中

2021-09-04 11:40:08 138

原创 保护性暂停-设计模式-并发编程(Java)

文章目录一、保护性暂停二、join原理一、保护性暂停同步模式之保护性暂停,即Guarded Suspension,用在一个线程等待另外一个线程的执行结果。有一个结果需要从一个线程传递到另外一个线程,让两个线程关联同一个GuardedObject。如果有结果不断从一个线程传递到另外一个线程,可以使用消息队列。JDK中,join的实现、Future的实现,采用的就是此模式。因为要等待另一方的结果,归类到同步模式。场景:线程2下载某个url网页内容,线程1需要等待线程2下载的内容/** *

2021-09-03 20:43:57 273

原创 wait_notify-并发编程(Java)

文章目录1、wait/notify 原理2、API3、wait(long n) 和 sleep(long n)区别4、唤醒不同条件下等待的多线程1、wait/notify 原理owner线程发现条件不满足,调用wait方法,即可进入WaitSet变为WATING状态。BLOCKED和WATING状态的线程都处于阻塞状态,不占用CPU时间片。BLOCKED状态线程,会在Owner线程释放锁时唤醒。WATING状态的线程会在Owner线程调用notify或者notifyAll时唤醒,但唤醒后并不会

2021-09-03 17:36:12 124 2

2017国民经济行业分类sql.rar

2017国名经济行业分类sql,navicai生成标准的sql语句。可直接导入。总共有2版。第一版主键为varchar类型;第二版主键为int 自增

2020-11-27

oracle11gR2官方文档.zip

官网下载的oracle11gR2文档,压缩包530M,详细全面的介绍,解压之后点击index.html查看网页版文档

2020-07-07

H3CNE课程 V7.0 构建中小企业网络全套培训PPT汇总【V7版本】.zip

H3CNE考试认证最新V7.0教程,关于模拟器及配套软件可以自行百度或者去H3C官网下载,也可联系本人,祝考试顺利通过。

2020-04-07

nmap-master.zip.zip

namp端口扫描工具,可扫描端口开放服务,漏洞等等,安装、配置与使用详情参考------------------------github地址

2020-04-07

masscan-master.zip

masscan全端口扫描工具,根据IP地址扫描全部开放端口,安装、配置和使用详情参考github地址

2020-04-07

markdown-182.2371.zip

webstorm 编辑markdown 的插件 所需westorm版本2018.2 ,直接webstorm本地插件安装 ,markdown语法自行查找。

2019-06-01

subversion.rar

Subversion(SVN)是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.SVN分为客户端和服务器端,一般服务器端安装在服务器上,我们开发者用的都是客户端。TortoiseSVN是客户端,VisualSVN是服务器。其实对于类似的可以延伸,一般牵扯到服务器的,往往都会有对应的客户端,在使用的时候应注意这些。 svn服务器软件:VisualSVN-Server-4.0.0-x64.msi svn客户端软件及汉化包: TortoiseSVN-1.12.0.28568-x64-svn-1.12.0.msi LanguagePack_1.12.0.28568-x64-zh_CN.msi 安装及使用详细教程地址: https://www.cnblogs.com/zuiyirenjian/p/3559389.html

2019-05-21

MybatisCodeHelperPro2.6.1.rar

intellij idea MyBatisCodeHelperPro2.6.1最新插件破解版,1、mapper文件(即表对应的dao)与xml文件自由切换,方便代码评审;2、自动代码生成功能提高开发效率,mysql数据库创建好表结构,写完 pojo(注意字段类型要统一用对象类型!),即可生成 xml、mapper、service ; 3、mapper的命名规则比较统一,可提高代码风格一致性; 4、使用方法结合:Alt + insert 快捷键 安装方法下载后说明文件中有说明

2019-05-10

ScreenToGif2.17

Screen GIF,国外小巧实用的Gif动画录制工具!使用ScreenGIF, 可以将屏幕任何区域及操作过程捕获为 GIF格式的动画图像,保存过程对GIF动画可以进行编辑优化。这款优秀的工具界面非常简单,功能还不错! ScreenToGif2.17为当前最新版本,github下载地址:https://github.com/NickeManarin/ScreenToGif

2019-04-10

burpsuite汉化破解版

burpsuite1.7.26永久免破解版,此软件由java语言编写,故运行需要安装jdk。建议安装jdk1.8.X版本(目前最稳定版本)下载和安装及环境变量设置自行百度 此软件为破解版,可直接运行,为英文版,汉化版需要运行汉化包详细说明在--说明.txt文件内

2019-03-28

Firefox 48.0.2渗透专版

Firefox 48.0.2 渗透专版 含多个常用插件 firbug 、hackbar等等 解压密码---压缩包内解压密码.txt 。解压缩直接使用,设置内将自动更新禁止。

2019-03-24

turnkey-wordpress-15.0-stretch-amd64

TurnKey Linux是基于Ubuntu的虚拟应用程序库,它将一些最好的开放源码软件集成到完备可用的解决方案中。每一个虚拟应用程序都为易用性进行了优化,并能在数分钟内就部署在裸机、虚拟机及云中。TurnKey Linux是一个非常好的资源,大家可以在官方网站 https://www.turnkeylinux.org 中下载

2018-08-05

H3CSE课程v2.0(v7版本)

PPT只读 H3CSE课程 V2.0 三科全套培训PPT汇总【路由 园区 广域网】H3CSE课程《H3C大规模网络路由技术v2.0》(V7版本)胶片、H3CSE课程《构建H3C高性能园区网络v2.0》(V7版本)胶片、H3CSE课程《构建安全优化的广域网v2.0》(V7版本)胶片

2018-02-23

AG安全团队2017年工具包

工具包内容说明 VStart.exe 为启动程序 工具介绍文档.htm 为工具包介绍文档(JS跳转 部分浏览器可能不支持) AG安全团队2017年工具包帮助文档.CHM CHM格式版的帮助文档 帮助文档(文件夹) 为html帮助文档 这个必须看看~.~ 简写帮助文档(文件夹) 为txt版的 AG-tools(文件夹) 为所有工具在的目录 工具包采用压缩分卷格式 必须把两个压缩文件下载到同一个目录(推荐解压软件:好压)

2018-02-07

Pentest Box

Pentest Box是一款Windows平台下预配置的便携式开源渗透测试环境,而它也是著名黑客Kapustkiy常用的工具之一。在安全测试的过程中,大部分脚本工具都是基于Linux平台运行,比如bash、cat、chmod、curl、git、gzip、ls、mv、ps、ssh、sh、uname等。

2018-02-02

wampserver3.1.0_x64.exe

wampserver3.1.0_x64.exe最新64位windows+aphache+mysql+php

2017-12-09

H3CNE课程V7.0构建中小企业网络全套培训PPT汇总【V7版本】.rar

H3CNE课程V7.0构建中小企业网络全套培训PPT汇总【V7版本】.rar

2017-11-04

eclipse-java-oxygen-1a-win32-x86_64.zip

最新java开发工具Ecplise 新特性见官网:https://www.eclipse.org/

2017-10-27

H3C最新学习工具大集合

本工具集包含最新的HCL_V2.1.0(H3C云实验室也就是模拟器)及相关手册,VirtualBox-5.1.30.18389-Win.exe,Named Pipe TCP Proxy,securecrtdsd,Wireshark-win64-2.4.1.0和Wireshark-win32-2.4.1.0搭建全方位H3C模拟开发环境 绝对不要错过

2017-10-27

IO流概念及分类.rar

IO流概念及分类 通过数据流、序列化和文件系统提供系统输入和输出。

2014-02-17

空空如也

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

TA关注的人

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