审计系统---堡垒机项目之表结构设计 【更多参考】 https://github.com/317828332/CrazyEye 缺点: 界面丑陋, 只能追踪命令,命令的解析还不是很完善,不能明了的展示 对于文件的上传[rz],下载[sz]的内容无法跟踪[可以限制cityhunter用户不能使用这2个命令]。
本文主要针对Redis常见的几种使用方式及其优缺点展开分析。 一、常见使用方式 Redis的几种常见使用方式包括: Redis单副本; Redis多副本(主从); Redis Sentinel(哨兵); Redis Cluster; Redis自研。二、各种使用方式的优缺点 1、Redis单副本 Redis单副本,采用单个Redis节点部署架构,没有
一、SpringMVC Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 模型(Model )封装
1、Linux学习路径:2、Linux桌面介绍:3、FHS(文件系统目录标准):4、Linux需要特别注意的目录:5、Linux 内核学习路线:6、Linux Security Coaching:7、Linux命令参考:8、另一张Linux命令速查表: 作者:小a玖拾柒 ------------------------------------
Linux nmap命令详解 nmap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。nmap是在网络安全渗透测试中经常会用到的强大的扫描器。功能之强大,不言而喻。下面介绍一下它的几种扫描命令。具体的还是得靠大家自己学习,因为实在太强大了。nmap安装yum install nmapnmap场景命令参数Usage: nm
概述众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。正是得益于Java虚拟机,它号称的“一次编译,到处运行”才能有所保障。1.1 Java程序执行流程Java程序的执行依赖于编译环境和运行环境。源码代码转变成可执行的机器代码,由下面的流
一.概述初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量,需要进行服务集群化部署,本文主要介绍服务端Tomcat多实例部署,以及如何保证web服务的高可用方案。 Nginx 是一个高性能的 HTTP反向代理服务器 Ke
Java学习---HashMap和HashSet的内部工作机
2. 工作总结 3. 面试经验 4. 其他
在win7系统里直接点开始,最左下面有个搜索框,在里面直接输CMD,回车就可以;或者win键+R键,出现对话框,输入CMD,回车就可以了: winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 w脚本 Windows脚本宿主设置 write 写字板 wi
Linux守护进程一、 守护进程概述 守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。守护进程常常在系统启动时开始运行,在系统关闭时终止。 Linux系统有很多守护进程,大多数服务都是用守护进程实现的。例如常见的常见的守护进程包括
什么是Socket? Socket的中文翻译过来就是“套接字”。套接字是什么,我们先来看看它的英文含义:插座。 Socket就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通信,端口就像插座上的孔,端口不能同时被其他进程占用。而我们建立连接就像把插头插在这个插座上,创建一个Socket实例开始监听后,这个电话插座就时刻监听着消息的传入
常见排序算法总结与实现 本文使用Java实现这几种排序。 以下是对排序算法总体的介绍。 冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数
我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这
1、概述图 1 是我们在20,000 英尺的高度看到的视图。当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码。在个人计算机(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在主板上的闪存中。嵌入式系统中的中央处理单元(CPU)会调用这个重置向量来启动一个位于闪存/ROM中的已知地址处的程序。在这两种情况下,结果都是相同的。因为
悲观锁中的排它锁。 排它锁关键字:for update 特点:会锁住行或者表,防止其他事务进行修改操作或者获取锁操作。详见:步步揭秘:MySQL共享锁的特性-2解决办法该解决办法就是通过排它锁:for update进行操作 上述SQL可以通过下图进行展现: 线程1:在A时刻开始事务,并将goods_id为1的那一行锁住(行锁),然后进行查询,获取库存。
两个线程间的通信 这是我们之前的线程。 执行效果:谁抢到资源,谁运行~ 实现线程交替执行: 这里主要用到了两个内容 1)创建一个标记 flag,让程序进行判断: 当flag != 1 时,print1 进入等待,执行 print2,然后让 flag=1,唤醒正在等待·的线程, 当flag != 0 时,print2 进入等待,执行 print1 ,
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 架构图 上图基本上说明了当下流行的技术架构,其中Nginx有点入口网关的味道。 反向代理服务器? 经常听人说到一些术语,如反向代理,那么什么是反向代理,什么又是正向代理呢? 正向代理: 正向代理示意图 反向代理: 反向代理示意图 由于防火
前言OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。 本文以最近碰到的一次线上内存溢出的定位、解决问题的方式展开;希望能对碰到类似问题的同学带来思路和帮助。 主要从表现-->排查-->定位-->解决 四个步骤来分析和解决问题。表象最近我们生产上的一个
Shell学习---优秀博主推荐 https://www.toutiao.com/c/user/59187158336/#mid=1564991870666753 作者:小a玖拾柒 -------------------------------------------个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒
作为这些的前提你需要的品质:耐得寂寞,坚持追求,坚定方向,身体要好。耐得寂寞:别人在玩,你在学,很好理解。坚持追求:请不要降低自己的追求。坚定方向:路有很多条,互联网是一个大路,大路中还有pm、运营、rd等小路,想怎么走看你自己。耐得住寂寞才能守的住繁华 身体要好:科学学习,养护眼睛、脊椎、腰椎。生命是成功的源泉,想要革命得有本钱 你的墨水:看书、编程
JAVA 程序员需要用到 10 个测试框架和库Java 程序员需要用到十大单元测试和自动化集成测试工具 我认为一个优秀的程序员,必然能够很好地利用手头上的工具,因此我总在业余时间学习和探索新的工具和库,以下列表是我部分研究成果。 在这篇文章中,我将分享 10 个最为优秀且必不可少的工具,框架和库,这些可以帮助 java 程序员在各类 java 项目中编写单
什么是NoSQLNoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,它具有非关系型、分布式、不提供ACID的数据库设计模式等特征。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式
Java和数据库的锁机制 作者:小a玖拾柒 -------------------------------------------个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~本文版权归作者【小a玖拾柒】,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责
一、双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。 在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗余写库的方式来保证写库的高可用。 二、并发引发不一致 数据冗余会引发数据的一致性问题,因为数据的同步有一个时间差,并发的写入可能导致数据同步失败
摘要: 对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现,nginx+redis+ehcache Nginx 对于中间件nginx常用来做流量的分发,同时nginx本身也有自己的缓存(容量有限),我们可以用来缓存热点数据,让用户的请求直接走缓存并返回,减少流向服务器的流量 一、模板引擎 通常我们可以配合使用fre
Ubuntu 我现在已经基本不开windows了.学习娱乐开发基本都在Ubuntu 首先你要接受的是,没有QQ, 因为我本来平常生活就不需要用QQ. 如果你对QQ需求很大的话建议不要装Ubuntu. Ubuntu下基本没有好的QQ解决方案. 当时想转到Ubuntu是因为以后要做web后端开发必须要很熟悉Linux, 其次是觉得Ubuntu的整个UI要比Win
100个比较实用的促销方案 作者:小a玖拾柒 -------------------------------------------个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~本文版权归作者【小a玖拾柒】,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留
摘要Redis做为高性能的K-V数据库,由于其高性能,丰富的数据结构支持,易用等特性,而得到广泛的应用。但是由于redis单进程单线程的模型限制,单Redis Server QPS最高只能达到10万级别。本文试图通过对Redis做多线程的优化,来达到增强性能的目的。二、背景众所周知redis是单进程单线程模型(不完全是单进程单线程,还有若干后端线程主要
从TCP状态机判断DDOS攻击一、TCP协议TCP 协议是传送层的核心协议,提供了可靠面向连接的协议,分为三次握手和四次断开,在这个过程中TCP有个状态机,记录不同阶段的状态。二、 TCP握手和断开这里不着重介绍三次握手和四次断开,只是附加一个图解,这部分详细内容大家自行脑补:参考链接:https://blog.csdn.net/qzcsu/a
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号