自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (6)
  • 收藏
  • 关注

原创 测试开发工程师面试题总结

最近去面试了几家的测开,记录一些问到的面试题:Java:类的加载机制以及类的生命周期(快手)Java垃圾回收机制;(快手,美团)手写二叉树的前序遍历,多叉数的层序遍历用什么数据结构?(快手)手写冒泡排序(华为)给出两个有序的整数数组 A和B ,请将数组 B合并到数组 A中,变成一个有序的数组(百度)查找字符串中的最长回文子串(美团)输入数组:[0,1,2,3,5,6,8] ==>输出数组:[“0->3”,”5->6”,”8”](天眼查)数组和链表区别多线程的死锁和同步

2021-01-19 10:25:47 1233

原创 JVM学习(一)JVM架构模型和类的加载

Java代码执行流程:Java源码通过编译器编译成字节码文件,字节码文件去Java虚拟机执行,执行过程,首先是类加载器,然后字节码校验器,然后执行引擎(包括翻译字节码解析执行,和JIT即时编译器编译执行),然后再去操作操作系统。JVM架构模型:hotspot是基于栈的指令集架构,指令集更小,指令多,以零地址指令为主,不需要地址指令。执行性能比寄存器稍微差一些,不需要硬件支持,可移植性好,更好实现跨平台。还有一种基于寄存器的指令集架构,指令集大,指令少,完全依赖硬件,可移植性差,但性能优秀,执行高效

2020-12-19 20:49:15 1773 1

原创 Java多线程的实现和同步死锁

package threadTest;/** * @author : fanpc * @date : 2020-12-11 10:59 **/import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;public class FileCopy implements Runnable { public void run() { for (int i

2020-12-14 16:35:51 999

原创 Java复制文件夹和里面所有文件

最近在做全链路压力测试,涉及到风控OCR的校验,需要造一些数据,每次发起交易,系统会去读取文件夹里的OCR数据(数据不需要和人名匹配,这个校验被我mock掉了)需要造的数据是:10万个文件夹,内含OCR数据文件如图所示,可以从一个现有文件夹copy。找了一些Java复制文件的代码,基本上都是输入输出流操作,而且有的错误很多,试了下在window下调试需要挺长时间,于是另辟蹊径,想想调了Runtime 这个偷懒又简单的办法,代码如下:package createCard;import java.i

2020-12-08 11:35:12 384

原创 Docker容器的创建、运行和共享镜像

安装安装需要在主机或虚拟机安装docker,通常yum即可:yum install docker -y简单的Hello world容器busybox是一个单一可执行文件,包含多种命令行工具如:echo、ls等,下面试下直接echo “Hello world”运行容器docker run busybox echo "Hello world"运行时发生了什么呢?1. docker run busybox echo "Hello world"2. docker检查本地是否存在busybox

2020-11-30 15:53:35 372

原创 比较Docker与虚拟机性能

Docker与虚拟机实现原理比较比较两图的差异,左图虚拟机的Guest OS层和Hypervisor层在Docker中被Docker Engine层所替代。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整操作系统内核;虚拟机的Hypervisor层可以简单理解为一个硬件虚拟化平台,它在Host OS是以内核态的驱动存在的。虚拟机实现资源隔离的方法是利用独立的OS,并利用Hypervisor虚拟化CPU、内存、IO设备等实现的。例如,为了虚拟CPU,Hypervisor会为每个虚拟的CPU

2020-11-30 10:12:29 830

原创 Linux搭建邮件服务器收发邮件详细步骤

主要用到SMTP和POP3协议:简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口。我们要做的就是打开这两个端口,并且配置文件。一、开放25和110端口防火墙开启端口:firewall-cmd --add-port=25/tcp --permanentfirewall-c

2020-11-27 11:16:21 11283 2

原创 Zabbix监控JVM

前面已经配置了DISK和NET监控,zabbix还支持JVM监控,都写道一篇文章会比较乱没有侧重点,于是就拆开说明了:大致原理如下:代理端: java-gateway服务客户端: catalina.sh修改web端: JMX interfaces (跟Agent interfaces差不多)需要安装java-gateway,我的安装在 proxy上,直接配置 sbin/zabbix_java/settings.sh 文件就行了1.配置zabbix_javazabbix_java这个是独立的服务

2020-11-20 15:58:36 517

原创 Zabbix-agent监控

好久不更新,一口气更新几篇,终于到了我最喜欢的zabbix监控这篇!zabbix可以监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。我们知道,zabbix由2部分构成,zabbix server与可选组件zabbix agent,zabbix-server是基于mysql存储的,监控文件都存到mysql库里,上次已经安装完zabbix server,这次主要是关于agent的操作,不废话了,开整:Zabbix-agent服务及配置:在对应的客户

2020-11-20 15:38:29 502

原创 Java进行Hbase查询

Hbase存储结构和查询方式已经有所了解,如何调用连接并且进行数据查询呢,这里使用jmeter脚本进行操作:Hbase查询主要是scaner通过滤器filter进行操作,根据要查询列族还是rowkey可分为多种filter,可根据具体条件来进行查询,放个filter比较全的链接,有兴趣可以参考:https://www.jianshu.com/p/bcc54f63abe4以下为代码,包括rowkey前缀模糊查询+列前缀模糊查询+值范围查询等几个组合查询,多个filter可以放到一个list里,单个filt

2020-11-20 15:06:03 1857

原创 Jmeter发起Java请求

Jmeter可用来调java请求,也可发起压力测试,虽然没有Loadrunner生成专业的压测图表与报告那么功能强大,但是LR11不支持JDK7以上的测试,有时候用Jmeter生成个tps和响应时间的图还是没问题的。Jmeter也和LR差不多,有类似start,end和执行体。首先导入jmeter需要的包import org.apache.jmeter.config.Arguments;import org.apache.jmeter.protocol.java.sampler.AbstractJav

2020-11-20 14:47:06 263

原创 Centos6.5下Zabbix-server的安装配置

安装配置nginx1.1. 下载nginx软件[root@zabbix-server etc]# cd /usr/local/src/[root@zabbix-server src]#wget http://nginx.org/download/nginx-1.10.1.tar.gz[root@zabbix-server src]#tar -zxvf nginx-1.10.1.tar.gz1.2. 安装补丁依赖[root@zabbix-server src]#yum -y install gc.

2020-11-13 15:42:36 199

原创 Hbase存储结构及查询原理

最近了解了一下hbase,主要用于Hadoop生态,它的数据结构是一种基于列存储的高阶有序稀疏MAP,它的数据主要存储在HDFS上,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper进行分布式协同服务主要用来存储非结构化和半结构化数据。一、数据存储结构Hbase存储的数据由以下几部分构成:RowKey: 行键,可理解成MySQL中的主键列。Column: 列,可理解成MySQL列。ColumnFamily: 列族, HBase引入的概念,多个近似列集合在一起组

2020-11-09 09:55:55 1192

原创 NFS服务的配置与挂载

安装

2020-10-20 10:56:17 691

原创 Linux对磁盘进行分区扩容

新增物理机,需要将磁盘进行分区,并作为数据库服务器,进行存储数据,最终挂载到/data01文件夹下面,实现如图所示效果:1.查看磁盘情况fdisk -l,也可以fdisk -l /dev/sda查看/dev/sda这个盘的分区情况:如图,/dev/sda盘目前有三个分区,且总存储为7T左右,目前已用分区为3个,已用存储才200多G。2.为/dev/sda添加新分区fdisk /dev/sda,进入fdisk命令模式,输入m查看帮助信息:输入n,添加新的分区,此时会提示分区号,当前已有3个分

2020-10-16 17:10:23 2225

原创 Linux查看服务器网络流向的工具——iftop

需要先安装基本的编译所需的环境,如:make、gccCentOS上安装所需依赖包:yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel安装完成之后,直接iftop

2020-09-28 11:36:12 409

原创 Linux rsync工具简单了解

rsync 工具可以实现linux的cp和scp等命令,文件的复制过程可以断点续传,对copy一些大文件比较实用与安全,但这个命令只用来复制文件貌似有点大材小用了。其实它的主要用途是实现文件的数据同步,rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,实现增量备份,因此速度很快。rsync主要参数如下:-a 包含-rtplgoD-r 同步目录时要加上,类似cp时的-r选项-v 同步时显示一些信息,让我们知道同步的过程-l 保留软连接

2020-09-07 11:25:00 101

原创 Linux screen——创建新终端的命令

Linux screen命令用于多重视窗管理程序。screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。...

2020-09-07 11:08:22 2211

原创 Java面试常问的字符串反转问题

突然想起来之前面试被问到字符串的反转问题,当时啥也不会蠢死了没写出来,丢人。。。今天写俩解决办法:public static void main(String[] args) { String a="qwertyuio"; //直接StringBuffer的reverse()反转方法,清晰明了 StringBuffer stringBuffer=new StringBuffer

2020-08-31 15:32:28 230

原创 Java使用log4j输出标准化日志

最近做的项目要输出标准化日志,查了下使用log4j比较好用,记录一下,使用很简单,需要下载并导入log4j的jar包,官网有,按需下载:下载地址import org.apache.log4j.Logger;public class Testlinux { public static Logger logger1 = Logger.getLogger(Testlinux.class); public static void main(String[] args) {

2020-08-31 14:17:51 556

原创 Java字符串的查找、截取与分割操作

查找子串可以使用indexOf()方法,截取指定字符串可以使用substring()方法,分割子串可以使用split()方法,例子如下:public class Test { public static void main(String[] args) { String str="1qaz2wsxzaq12wsx"; System.out.println("查找:"); //查找指定字符第一次出现的位置,参数为字符的ascii码 a-97

2020-08-31 11:28:01 780

原创 Java map的单映射和多映射

我们知道,在Java里使用map可以添加单个的映射关系,调用get方法可输出key对应的value:Map<String, String> map = new HashMap (); map.put ( "key", "value" );那么如果想要添加一对多映射或者多对多映射呢?可以使用 MultiValueMap接口的实现类LinkedMultiValueMap来进行操作:import org.springframework.util.LinkedMultiValu

2020-08-28 11:05:52 598

原创 Java读取Linux实时文件阻塞的一个折中解决办法

其实也是无奈之举,远程连接Linux,通过bufferReader()不能获取到实时刷新的输出,获取不到换行符,造成readline()函数阻塞,网上查了下,没有很好的解决办法,使用read也获取不到,于是用了一种比较折中的办法:首先是远程执行命令的executeBack()方法,这个之前有写过,不再说啥了:public String executeBack(String ip, String cmd) { String username = "root"; String

2020-08-27 09:49:28 304

原创 记一次top命令

原来都是用nmon监控,今天试着用top了一下,woc惊了,cpu使用率180%然后在top模式摁1:哦是8核啊,那没事了

2020-08-19 15:55:49 127

原创 Java中的read()和readline()方法

read()把字节读取成字符,按字符进行读取输出流,readline()按行读取,直到读到空格或者换行符停止。这俩可以互换使用,readline速度略慢,直接写两个使用的例子吧://本地调用命令行时,按字符读取 Runtime run = Runtime.getRuntime (); Process process = run.exec ( cmd ); InputStream in = process.getInp

2020-08-18 11:48:51 11087

原创 Java远程连接linux的方法,执行命令并输出结果

需要先导入ssh bulid包,方法如下:import ch.ethz.ssh2.Connection;import ch.ethz.ssh2.Session;import ch.ethz.ssh2.StreamGobbler;public String execute(String ip, String cmd) { String username = "root"; String password = "password"; try {

2020-08-14 10:53:18 647

原创 Java本地连接linux,执行命令并输出结果

Java本地执行linux命令的方法,程序如下: public String executeLinuxCmd(String cmd) { System.out.println("开始执行命令: " + cmd); Runtime run = Runtime.getRuntime(); try { Process process = run.exec(cmd); InputStream in = proce

2020-08-12 14:14:59 287

原创 xtrabackup单表备份与恢复

备份:单表备份主要是使用include参数,格式如下:--include=name;指定表名,格式:databasename.tablename具体命令如下:innobackupex --defaults-file=/data01/3306/conf/my.cnf --socket=/data01/3306/tmp/mysql.sock --user=root --password=password --include=test.testtable --port=3306 /data01/xtr

2020-08-07 16:31:13 582

原创 Linux服务器之间实现免密登录

在scp文件时可能提示需要密码传输,如果我们不知道服务器的密码怎么办呢,可以做一个服务器之间的免密登录,操作如下:需要配置实现B机器可以免密登录到A机器(1)首先在B服务器上生成本机的公私密钥:ssh-keygen -t rsa -P ''(2)在B上会生成两个文件,一个是id_rsa,一个是id_rsa.pub,id_rsa.pub文件拷贝到A服务器的.ssh目录下:(3)看下在A服务器上的/root/.ssh目录是否有authorized_keys文件,没有就touch一下/root/.s

2020-07-30 10:48:34 613

原创 Linux使用scp命令远程复制/上传文件

远程拷贝服务器文件使用scp命令例如:A:1.1.1.1B:2.2.2.2现在我们身处B机器上,如果想把A的home/data 复制到B的 /home/newdata里,则:scp [email protected]:/home/data /home/newdata现在我们身处B机器上,如果想把B的 /home/newdata推送到A的home/data 里,则:scp /home/newdata [email protected]:/home/data ...

2020-07-30 10:47:27 115

原创 Linux批量替换字符串

Linux批量用某字符串替换文件里的另一字符串,可以使用sed命令,很简单如 将/home/test里的aaa全部替换为bbb:sed -i "s/aaa/bbb/g" `grep aaa -rl /home/test`需要注意grep前面这个不是单引号 ’ 而是esc下面的 `...

2020-07-28 15:24:34 256

原创 Java绕过证书访问https的方法

代码如下:package httpstest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.io.PrintWriter;import java.net.URL;import java.security.SecureRandom;import javax.net.ssl.Host

2020-07-27 10:50:07 1625

原创 IDEA在import时飘红的解决办法

额,写给纯小白,IDEA在import时飘红,cannot resolve symbol,应该都知道是缺jar包的问题,导入就好了,具体步骤如下:File-project structure-modules,然后点击右侧加号,添加一条jar包你需要知道缺的是哪个包,这个上网查一下就知道了,然后导入对应的包,我这个缺的是httpcore导入完成,可以看到已经不再飘红。。。...

2020-07-27 10:19:23 6425

原创 Loadrunner连接MySQL执行SQL语句脚本

代码如下:/* * LoadRunner Java script. (Build: _build_number_) * * Script Description: * */import lrapi.lr;import java.sql.*;import java.sql.DriverManager;import com.mysql.jdbc.Connection;public class Actions{ priva

2020-07-21 17:31:02 236

原创 Loadrunner报错Code-29723Error的解决办法

sql

2020-07-21 17:03:23 754

原创 linux查看cpu核数及内存相关指令

查看CPU个数:cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l查看CPU核数:cat /proc/cpuinfo | grep 'process' | sort | uniq | wc -l查看系统分区存储: df -hl查看linux系统内存大小的详细信息:cat /proc/meminfo...

2020-06-28 15:11:24 180

原创 Java连接mysql数据库并执行sql语句

弄这个主要是为了方便测试单个sql的性能,尝试用java连接数据库并查询,将结果的JDBC ResultSet结果集转成List并输出。import java.sql.*;import java.sql.DriverManager;import com.mysql.jdbc.Connection;import java.util.List;import java.util.ArrayList;import java.util.Map;import java.util.HashMap;pub

2020-06-22 16:25:46 4723

原创 DNS无法解析公网的解决办法

DNS无法解析外网,nslookup 会提醒 ** server can’t find xxxx: NXDOMAIN解决办法:首先要保证已经配备了DNS转发,在/etc/named.conf中配备 forward 和 forwarders;然后,需要把/etc/named.conf最下面这个key注释掉:重启named服务service named restart,即可成功解析外网。...

2020-06-12 16:51:16 2539

原创 Java的重载与重写不用我多说了8

重载:同一个类中包含了两个或两个以上方法名相同的方法,但是参数的列表不同,这种情况被称为方法重载(overload)。返回值类型、修饰符等,与方法重载没有关系,只与参数列表有关。如:public void Overload(int a, int b) {}public void Overload(int a, float b) {}public void Overload(int a, int b,int c) {}public int Overload(int a, int b) {

2020-06-12 15:26:22 126

原创 Java接口

Java接口可以理解为一个特殊的抽象类。定义:Java 接口的定义方式与类基本相同,不过接口定义使用的关键字是 interface,接口定义的语法格式如下:[public] interface interface_name [extends interface1_name[, interface2_name,…]] { // 接口体,其中可以包含定义常量和声明方法 [public] [static] [final] type constant_name = value; //

2020-06-12 14:19:15 196

httpcomponents-client-5.0.1-bin.zip

java http-client客户端连接用的jar包,进行GET、POST、PUT、DELETE等请求时,使用第三方jar包会比较简单

2020-09-09

opencv_python-3.4.5.20-cp36-cp36m-win_amd64.whl

python opencv库,下载之后,将文件复制到pip安装的位置,电脑运行cmd,切换到安装目录,输入安装指令,格式为pip +install+somewhat.whl 即可

2020-09-09

percona-xtrabackup-2.2.12-1.el7.x86_64.rpm

percona-xtrabackup-2.2.12rpm安装包,适合mysql5.8以下,直接rpm -ivh percona-xtrabackup-2.2.12-1.el7.x86_64.rpm即可,但安装过程可能提示存在依赖包,需要yum一下。

2020-09-09

xtrabackup自动备份数据库的shell脚本

xtrabackup自动备份数据库的shell脚本,亲测可用自动备份数据库,使用时改改参数即可(还没到50字吗)。

2020-05-29

nmon analyser v66.xlsm

nmon分析软件,可用于分析生成的.nmon文件,将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用 电子表格的格式

2020-05-27

paramiko-1.17.1-py2.py3-none-any.whl

python paramikko的whl包,将whl包导入到python的script文件夹下,并在此文件夹下cmd,然后pip install paramiko-1.17.1-py2.py3-none-any.whl 即可安装。

2020-05-27

空空如也

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

TA关注的人

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