- 博客(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
1584
原创 JVM学习(一)JVM架构模型和类的加载
Java代码执行流程:Java源码通过编译器编译成字节码文件,字节码文件去Java虚拟机执行,执行过程,首先是类加载器,然后字节码校验器,然后执行引擎(包括翻译字节码解析执行,和JIT即时编译器编译执行),然后再去操作操作系统。JVM架构模型:hotspot是基于栈的指令集架构,指令集更小,指令多,以零地址指令为主,不需要地址指令。执行性能比寄存器稍微差一些,不需要硬件支持,可移植性好,更好实现跨平台。还有一种基于寄存器的指令集架构,指令集大,指令少,完全依赖硬件,可移植性差,但性能优秀,执行高效
2020-12-19 20:49:15
2368
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
1263
原创 Java复制文件夹和里面所有文件
最近在做全链路压力测试,涉及到风控OCR的校验,需要造一些数据,每次发起交易,系统会去读取文件夹里的OCR数据(数据不需要和人名匹配,这个校验被我mock掉了)需要造的数据是:10万个文件夹,内含OCR数据文件如图所示,可以从一个现有文件夹copy。找了一些Java复制文件的代码,基本上都是输入输出流操作,而且有的错误很多,试了下在window下调试需要挺长时间,于是另辟蹊径,想想调了Runtime 这个偷懒又简单的办法,代码如下:package createCard;import java.i
2020-12-08 11:35:12
434
原创 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
407
原创 比较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
1107
原创 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
23423
5
原创 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
593
原创 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
621
原创 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
2029
原创 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
307
原创 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
246
原创 Hbase存储结构及查询原理
最近了解了一下hbase,主要用于Hadoop生态,它的数据结构是一种基于列存储的高阶有序稀疏MAP,它的数据主要存储在HDFS上,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper进行分布式协同服务主要用来存储非结构化和半结构化数据。一、数据存储结构Hbase存储的数据由以下几部分构成:RowKey: 行键,可理解成MySQL中的主键列。Column: 列,可理解成MySQL列。ColumnFamily: 列族, HBase引入的概念,多个近似列集合在一起组
2020-11-09 09:55:55
1328
原创 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
2493
原创 Linux查看服务器网络流向的工具——iftop
需要先安装基本的编译所需的环境,如:make、gccCentOS上安装所需依赖包:yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel安装完成之后,直接iftop
2020-09-28 11:36:12
508
原创 Linux rsync工具简单了解
rsync 工具可以实现linux的cp和scp等命令,文件的复制过程可以断点续传,对copy一些大文件比较实用与安全,但这个命令只用来复制文件貌似有点大材小用了。其实它的主要用途是实现文件的数据同步,rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,实现增量备份,因此速度很快。rsync主要参数如下:-a 包含-rtplgoD-r 同步目录时要加上,类似cp时的-r选项-v 同步时显示一些信息,让我们知道同步的过程-l 保留软连接
2020-09-07 11:25:00
134
原创 Linux screen——创建新终端的命令
Linux screen命令用于多重视窗管理程序。screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。...
2020-09-07 11:08:22
2422
原创 Java面试常问的字符串反转问题
突然想起来之前面试被问到字符串的反转问题,当时啥也不会蠢死了没写出来,丢人。。。今天写俩解决办法:public static void main(String[] args) { String a="qwertyuio"; //直接StringBuffer的reverse()反转方法,清晰明了 StringBuffer stringBuffer=new StringBuffer
2020-08-31 15:32:28
263
原创 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
617
原创 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
916
原创 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
708
原创 Java读取Linux实时文件阻塞的一个折中解决办法
其实也是无奈之举,远程连接Linux,通过bufferReader()不能获取到实时刷新的输出,获取不到换行符,造成readline()函数阻塞,网上查了下,没有很好的解决办法,使用read也获取不到,于是用了一种比较折中的办法:首先是远程执行命令的executeBack()方法,这个之前有写过,不再说啥了:public String executeBack(String ip, String cmd) { String username = "root"; String
2020-08-27 09:49:28
353
原创 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
11397
原创 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
720
原创 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
343
原创 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
721
原创 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
668
原创 Linux使用scp命令远程复制/上传文件
远程拷贝服务器文件使用scp命令例如:A:1.1.1.1B:2.2.2.2现在我们身处B机器上,如果想把A的home/data 复制到B的 /home/newdata里,则:scp root@1.1.1.1:/home/data /home/newdata现在我们身处B机器上,如果想把B的 /home/newdata推送到A的home/data 里,则:scp /home/newdata root@1.1.1.1:/home/data ...
2020-07-30 10:47:27
151
原创 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
338
原创 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
1825
原创 IDEA在import时飘红的解决办法
额,写给纯小白,IDEA在import时飘红,cannot resolve symbol,应该都知道是缺jar包的问题,导入就好了,具体步骤如下:File-project structure-modules,然后点击右侧加号,添加一条jar包你需要知道缺的是哪个包,这个上网查一下就知道了,然后导入对应的包,我这个缺的是httpcore导入完成,可以看到已经不再飘红。。。...
2020-07-27 10:19:23
6764
原创 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
291
原创 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
219
原创 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
4910
原创 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
2833
原创 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
154
原创 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
239
httpcomponents-client-5.0.1-bin.zip
2020-09-09
opencv_python-3.4.5.20-cp36-cp36m-win_amd64.whl
2020-09-09
percona-xtrabackup-2.2.12-1.el7.x86_64.rpm
2020-09-09
nmon analyser v66.xlsm
2020-05-27
paramiko-1.17.1-py2.py3-none-any.whl
2020-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人