自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 我一定要让所有人都知道awk这个实用操作

对不起!!!忍不住标题党了。但是这个命令在我日常工作中使用频率真的太高了,我一定要分享出来。对awk用得比较多的大佬嘛可以绕路了,这篇主要是给不了解awk的孩子们一个关于统计文件大小的实用小tips。1.查看普通文件大小首先,在Linux系统下,需要查看普通文件大小的时候我们一般会怎么做?是不是,用ll命令显示所在目录下的文件信息,第五列就是对应文件的大小(用字节表示)。见下图:或者用ll -h命令以和文件大小相近的单位显示:如果希望统一单位也可以使用--block-...

2021-12-30 11:22:39 1238

原创 Kafka常用运维操作命令

1. 集群管理(1)启动 broker一般需要在后台启动,因此加上"-daemon"参数。bin/kafka-server-start.sh -daemon config/server.properties(2)关闭 brokerbin/kafka-server-stop.sh2. topic管理kafka-topic.sh脚本对kafka-topic.sh相关的操作通常是指定 --zookeeper 参数。然而从 Kafka 2.2 版本开始,社区推荐用 --boo

2021-12-21 15:55:53 2503

原创 使用JVM钩子函数关闭资源

一、问题引入背景在编写一个需要持续在后台运行的程序的时候遇到了这样的场景:我的程序在主函数中创建了一个线程池周期性地执行任务,我希望主线程和线程池都持续运行,但如果收到外部的关闭信号时,主线程和线程池也都能同时退出。想到的就是程序结束的时候需要有一个stop()方法去关闭线程池,但是怎么控制这个stop()方法在我想要的时候调用,以什么形式去接收外部的关闭信号也成了需要考虑的问题。原始思路最开始的尝试是我将程序的运行和停止分别用"start"和"stop"两种状态表示,然后用一个状态文件state去

2021-10-18 16:51:06 711

原创 MySQL和InnoDB体系结构,内存数据对象,基本建表操作

本节内容主要关于mysql体系结构和InnoDB存储引擎的体系架构(包括后台线程和内存结构)。InnoDB关键特性。checkpoint机制,以及刷脏磁盘的不同时机和方式。最后是在mysql客户端通过命令行建表,进行简单的增删查改操作。 Mysql体系结构Mysql体系结构由:连接池组件,管理服务和工具组件,sql接口组件,查询分析器组件,优化器组件,缓冲组件,插件式存储引擎,物理文...

2020-12-07 17:53:36 144

原创 RedHat配置yum源

起因是安装好RedHat后就准备装一些服务,于是使用yum命令的时候提示说:This system is not registered to Red Hat Subscription Management.You can use subscription-manager to register.好嘛,原来是因为RedHat使用yum源需要付费......在网上找了使用CentOS源替换的方法。中途出现几次错误,最后解决了,但具体是哪一步出错又是在哪一步解决,这个暂时还不清楚。先把完整步骤记录下...

2020-05-10 17:45:29 1495

原创 解决虚拟机中kylin连不上网络的问题

直接拷过来的虚拟机镜像,打开连不上网,捣鼓一通......赶紧把过程记录下来。先说说配置,因为之前设置过静态IP,所以保留着NAT模式,但DHCP开着。大概是这么个情况:1.打开虚拟机,输入命令:ifconfig -a (查看到全部挂载的网卡)当前只有eth1和lo,并且没有IP地址。2.输入命令 :cat /etc/udev/rules.d/70-...

2020-02-15 21:45:42 5061

原创 SpringBoot中.properties文件中配置项显示到页面中文乱码解决

问题描述:使用 .properties 文件来进行简单的配置,然后使用 @Value 来获取配置属性:application.properties文件内容如下:server.port=8080name=二丢二丢丢age=22然后启动 Spring Boot ,输入地址:localhost:8080/hello 发现中文乱码。解决办法:第一步:pom.xml 中添加...

2019-08-26 10:51:25 2136

原创 连接查询(交叉连接,内连接,外连接,自然连接)

创建一个学生表和一个课程表。先放出实验的表结构:create table student(id int,name varchar(15),gender varchar(15),cid int);create table class(cid int,cname varchar(15));插入数据:insert into student values(1,"lilei...

2019-08-25 16:31:44 1530

原创 BitMap算法

先看一个场景:如何判断一个数是否在40亿个整数中?题目:给一台普通PC,2G内存。我有40亿个整数,再给一个新的整数,我需要判断新的整数是否在40亿个整数中,你会怎么做?分析:40亿个int占(40亿*4字节)/1024/1024/1024 大概为16G左右,很明显内存只有2G,放不下,因此不可能将这40亿数据放到内存中计算。要快速的解决这个问题最好的方案就是将数据搁内存了,所以现在的...

2019-08-25 13:17:01 215

原创 try-catch-finally的返回值问题

1、只有 try-catch的情况下,如果不发生异常,则会返回try中的 return ;如果发生异常,则会返回catch中的return,try中的 return被盖掉;2、finally中的 return值会覆盖 try和 catch中的 return值。在正常情况(即程序正常执行try catch finally语句块,不会在语句中出现退出程序、线程终...

2019-08-24 21:46:15 1123

原创 字符串在JVM中如何存放 及常量池技术

字符串对象在JVM中可能有两个存放的位置:字符串常量池或堆内存。 使用常量字符串初始化的字符串对象,它的值存放在字符串常量池中; 使用字符串构造方法创建的字符串对象,它的值存放在堆内存中; String提供了一个API,java.lang.String.intern(),这个API可以手动将一个字符串对象的值转移到字符串常量池中。在1.7之前,字符串常量池是在PermGe...

2019-08-18 20:25:44 897

原创 我对ThreadLocal的一些理解 内存泄露啥的

1. 什么是ThreadLocalThreadLocal提供了线程的局部变量,每个线程都可以通过set()和get()来对这个局部变量进行操作,但不会和其他线程的局部变量进行冲突,实现了线程的数据隔离~。简要言之:往ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal用在什么地方?讨论ThreadLocal用在什么地方前,我们先明确下...

2019-08-14 18:59:28 120

原创 Oracle11g数据库审计功能的关闭和开启

在oracle11g中,数据库的审计功能是默认开启的(这和oracle10g的不一样,10g默认是关闭的)。1.查看审计功能是否开启:audit_trail 的value值为NONE表示不开启;audit_trail 的value值为FALSE表示不开启;audit_trail 的value值为DB表示开启;audit_trail 的value值为TURE表示开启;audit_...

2019-07-08 18:04:51 10069

原创 解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist

今天在使用ORACLE数据库时出现这样一个错误,登录时连接失败。服务器提示:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist一顿操作,终于搞清楚解决办法。将过程记录下来:1.检查Oracle相关服务是否已启动咦。这么一看,是我的OracleOraDb11g_h...

2019-07-08 16:50:57 50820 3

原创 Servlet转发forward和重定向response.sendRedirect()区别

转发(forward):浏览器地址不会改变,始终是同一个请求。执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址。forward是内部重定向。重定向(sendRedirect): 浏览器地址会改变,用两个请求。执行redirect时,服务器端告诉浏览器重新去请求地址。redirect是外部重定向。1.转发(1)地址栏不会改变。(2)转发只能转...

2019-07-07 21:31:13 1676 1

原创 request.getRequestURL()和request.getRequestURI()区别

request.getRequestURL() 返回全路径request.getRequestURI() 返回除去host(域名或者ip)及端口号部分的路径request.getContextPath() 返回工程名部分,如果工程映射为/,此处返回则为空request.getServletPath() 返回除去host及端口号和工程名部分的路径例如:request.getRequ...

2019-07-07 20:49:44 745

原创 HandlerInterceptor 处理器拦截器的用法

SpringMVC中的HandlerInterceptor拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。(如无特殊说明,下文所说的拦截器即处理器拦截器)SpringMVC中的Interceptor拦截请求是通过HandlerInterceptor来实现的。在SpringMVC中定义一个Interceptor非常简单,主要有两种方式,第一...

2019-07-07 20:42:45 1398

原创 进程间通信方式

1.进程间通信每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。不同进程间的通信本质:进程之间可以看到一份公共资源;而提供这份资源的形式或者提供者不同,造成了通信方式不同。2.进程间通...

2019-07-05 15:19:40 585 1

原创 VMware在NAT模式下配置静态IP

1. 虚拟机网络连接方式安装好虚拟机以后,在网络连接里面可以看到多了两块网卡:其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口。虚拟机常见有三种网络连接方式:1.1 Bridged(桥接模式)直接连接物理网络。  在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器。不过你需要空闲...

2019-07-04 11:22:17 553 3

原创 Linux下iconv命令对文件编码进行转换

使用 file 命令,并添加 -i 或 --mime 参数来查看一个文件的字符编码例如:file -i a.txticonv命令来转换文件的编码,格式:iconv -f 原本的编码格式 -t 要转换成的编码 文件名 -o 新文件名例如:iconv -f gb2312 -t utf8 a.txt -o utf8.txt将上面编码格式为iso-8859-1的文件c...

2019-06-30 11:18:30 1429

原创 利用ettercap进行简单的基于数据库的ARP毒化攻击

情景:两台主机A(IP:192.168.44.132)和B(IP:192.168.44.134)分别作为数据库服务器和客户端。另一主机C作为中间人进行ARP攻击。主机C上已安装ettercap并启用ip转发。攻击内容:在客户端和服务器建立连接后,截获客户端发给服务器的SQL语句,并修改其中字段,重新转发给服务端。然后看服务端是否能返回被修改过后的语句执行结果。过滤文件:...

2019-06-28 20:23:47 384

原创 Ubuntu下Except的安装

希望通过脚本实现登录功能。expect是一个用来处理交互的命令。借助expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。expect是交互性很强的脚本语言,但是expect依赖于tcl,但linux系统里一般不自带安装tcl,需要手动安装。下载的expect-5.43.0.tar.gz 需要编译、安装,需要依赖t...

2019-06-28 10:57:47 9287 5

原创 win10下添加ssh服务

Openssh是Linux系统下功能强大的远程服务和管理工具,现在在Windows10系统下也可以使用Openssh了。安装步骤如下:设置——更新和安全——开发者选项——点选“开发人员模式”,首先安装开发人员功能。设置——应用——应用和功能——管理可选功能,添加功能。安装后,重启。查看是否有ssh:windows下手动开启ssh服务:管理员 模式打开cmd:...

2019-06-26 21:26:16 56113 2

原创 apt-get 操作过程中提示无法解析域名“cn.archive.ubuntu.com” 的解决

原因是dns没有配置,解决办法 加入dns服务器地址,在终端键入代码:sudo vi /etc/resolv.conf添加如下这句:nameserver 8.8.8.8用:wq保存退出。但是使用该方法会发现重启电脑之后resolv.conf文件内容会还原。应该选择修改/etc/resolvconf/resolv.conf.d/base文件,添加同样的内容可解决。...

2019-06-21 14:17:53 11593 4

原创 ubuntu下安装ettercap

有关ettercap的介绍:https://www.cnblogs.com/lingerhk/p/4094040.htmlhttps://www.cnblogs.com/lvchenfeng/p/5596572.html1.系统版本# cat /etc/issueUbuntu 18.04.2 LTS \n \l2.安装ettercap# apt-cache searc...

2019-06-20 22:00:56 3672

原创 IDEA下SSM项目搭建的基本操作

1.一般idea创建工程的过程打开idea ---> File ---> new ---> project ---> maven --->create from archetype ---> maven-archetype-webapp ---> 接下来一般默认即可2.一个新手常见错误整合ssm时候,发现 dataSource加...

2019-06-12 22:04:14 163

原创 硬链接和软链接

1.硬链接一般情况下,文件名和inode编号是一一对应的关系,每个inode号码对应一个文件名。但UNIX/Linux系统多个文件名也可以指向同一个inode号码。这意味着可以用不同的文件名访问同样的内容,对文件内容进行修改,会影响到所有文件名。但删除一个文件名,不影响另一个文件名的访问。这种情况被称为硬链接。创建硬链接的命令为ln 源文件 目标文件inode信息中有一项叫做“链接数...

2019-06-03 14:31:06 150

原创 常用的磁盘概念

文件存储在磁盘上,硬盘的最小存储单位叫做sector(扇区),每个sector储存512字节。操作系统读取硬盘的时候,不会逐个sector去读取,这样效率非常低,为了提升读取效率,操作系统会一次性连续读取多个sector,即一次性读取多个sector称为一个block(块)。由多个sector组成的block是文件存取的最小单位。block的大小常见的有1KB,2KB,4KB,block在Li...

2019-06-03 13:52:29 1297

原创 Linux软件包管理

1.RPM软件包管理CentOS操作系统中有一款默认软件管理的工具,即红帽包管理器(red hat package manager,RPM)。使用RPM工具可以对软件包实现快速安装,管理及维护。RPM工具常用于管理以.rpm后缀结尾的软件包。RPM包一般命名格式:2.YUM软件包管理前端软件包管理器(YUM)主要用于管理RPM包。YUM工具能够从指定的服务器自动下载RPM包并且...

2019-06-03 12:01:05 409

原创 IDEA的热部署配置

在项目中修改js文件的时候碰到这样的问题:查找解决办法说是需要在Tomcat的设置中为:on ‘update‘ action:当用户主动执行更新的时候更新    快捷键:Ctrl + F9on frame deactication:在编辑窗口失去焦点的时候更新(可以根据自己的需求进行设置,我这里两个都有设置。)然鹅,我发现我的工程里面找不到Update cla...

2019-05-28 11:29:30 825

原创 Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend)问题的解决

环境:Ubuntu18.04-amd64问题描述:在ubuntu下安装mysql时,进行apt-get操作,出现了如下报错:参考了一篇博客,已经解决问题。现将步骤记录下来。解决办法:第一种情况: 进程中存在与apt相关的正在运行的进程: 首先检查是否在运行apt,apt-get相关的进程ps aux | grep -i apt如果存在与apt相关的正在运行的进程...

2019-05-27 10:17:34 119847 63

原创 CentOS7下安装达梦数据库的步骤

一,创建安装用户 为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行DM。用户可以在安装之前为 DM 创建一个专用的系统用户。 1. 创建安装用户组 dinstall。 groupadd dinstall 2. 创建安装用户 dmdba。 useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba ...

2019-05-21 21:57:02 11452 5

原创 和root权限挣扎过的一些记录

需要远程连接Linux系统用root权限执行一些命令,本来是想把要执行的命令都写在shell脚本里面,直接运行脚本就好了。但是无奈需要root权限,尝试了一下午要怎么在shell脚本里面切换到root权限,找了很多方法都行不通。后来看到下面这个解释:考虑一下如果能通过这样提权,那系统的root权限将能被任何人获取。一般如果脚本需要root权限的话,我们都是一开始直接以root的身份执行脚本...

2019-05-19 20:28:20 221

原创 Java实现通过ssh远程连接主机并执行命令

需要用到的jar包:主体代码:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import org....

2019-05-19 17:53:53 11425 2

原创 debugfs查看文件块号,dd命令读指定块号的内容

1.通过debugfs查看指定文件的块号①df ./ 查看文件系统②debugfs 文件系统通过 blocks 文件路径 看文件的块号。一个文件占据的块号并不一定连续。2.dd命令读指定块号的内容ddif=文件系统路径of=输出路径bs=4096count=1skip=块号例如:ddif=/dev/sda5of=/root/out.txt...

2019-05-18 21:20:19 1633

原创 CentOS7下安装JDK及IDEA

1.卸载CentOS自带的openjdk通过rpm -qa | grep java命令来查询出系统自带的jdk然后通过 rpm -e --nodeps 后面跟系统自带的jdk名 这个命令来删除系统自带的jdk,(使用root权限操作)2.安装jdk下载JDKJava SE Development Kit 8 下载地址:https://www....

2019-05-16 16:12:25 1396

原创 IDEA下项目打包成jar,并通过cmd命令调用

一,打包JAR1.项目右键。选择Open Module Settings2.Artifacts -> + -> JAR -> From modules with dependencies...3.Main Class是项目主方法,main函数执行的类。设置META-INF/MANIFEST.MF,切记:不能用默认的。(默认值在IDEA12版下会有bug)...

2019-05-15 09:36:19 1038

原创 【Java】String,StringBuffer和StringBuilder区别

String的特性(1) 不可变。是指String对象一旦生成,则不能再对它进行改变。不可变的主要作用在于当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和锁等待的时间,从而大幅度提高系统性能。不可变模式是一个可以提高多线程程序的性能,降低多线程程序复杂度的设计模式。(2)针对常量池的优化。当2个String对象拥有相同的值时,他们只引用常量池中的同一个拷贝。当同一个字符串反复出现...

2019-04-15 14:51:28 111

原创 访问ntfs文件系统获取目标文件簇流

NTFS文件系统总体布局MBR(Master Boot Record,主引导记录)又叫主引导扇区,是计算机开机后访问硬盘时必须要读取的首个扇区,它在硬盘上的三维地址为0柱面,0磁头,1扇区(整个硬盘第一个扇区)。在深入探讨主引导扇区内部结构的时候,有时也将其开头的446个字节内容特指为主引导记录(MBR),其后是4个16字节的“磁盘分区表”DPT(主分区表入口),以及2字节的结束...

2019-04-13 20:20:02 3129

原创 VS2017环境下动态链接库编写及调用

最近项目中有用到DLL,于是就去了解了一下动态链接库(DLL)以及基本的的编写方法。先来区分一下静态库和动态库:静态库 window下是 .lib格式 linux下是 .a格式编译期引入到程序代码 -l动态库 window下是 .dll格式 linux下是 .so格式运行时候进行链接DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是...

2019-04-11 10:12:49 5608

空空如也

空空如也

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

TA关注的人

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