自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 VMware安装Ubuntu20.04

转自:https://blog.csdn.net/Zhwers/article/details/106031382亲测好用哦~一、安装前的准备1、下载好Ubuntu20.04的镜像文件,直接从官网下载就好,2、准备好VMware软件,这里就忽略安装过程了。二、建立虚拟机1、如下所示,打开VMware,找到“文件->新建虚拟机”2、如下所示,选择“自定义”,这样可以手动配置一些安装选项3、选择虚拟机硬件兼容性,可以直接“下一步”4、如图,选择“稍后安装操作系统”5、Ubunt

2020-05-23 11:04:17 2542 8

原创 七大经典排序算法 -- 比较排序(附加排序动图演示)

1. 常见排序算法分类所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。内部排序:数据元素全部放在内存中的排序。 (本篇博客讲的都属于内部排序~)外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,若两个相同的数排完序之后还能保持原有...

2019-06-23 23:49:42 1083 1

原创 LeetCode 142. 单链表如何寻找环的入口点(绝对是史上最简单的解法!)

关于带环单链表找入环点的问题,这个问题确实挺难的,网上的大多数解法都看不懂。研究了一下发现了一个更好的解法,其实算法并不是太难,就是得稍微推导一下。以下是推导过程:package com.bittech.Linked;public class MySingleListImpl { class Node { private int data; pr...

2019-05-16 16:42:35 4013

原创 Java中继承的实现

继承描述的是一种能力:可以使用现有类的所有功能,并在无需重新编写原有类的情况下进行功能上的扩展。要使用继承,必须满足 is-a 原则(代码复用),定义的语法为:子类 extends 父类。子类:又称为派生类,子类一定具有父类的全部属性与行为,并且拥有的属性更多,具有的行为更加丰富,表示的范围更小。父类:又称为超类。继承的基本实现:class Person { ...

2019-01-30 20:28:51 4204 1

原创 python北京时间、时间戳、UTC时间

def get_utc_timestamp(): """ 获取本地时间的TZ格式数据 :return: """ return datetime.datetime.now().strftime('%Y%m%dT%H%M%SZ')def string_time_to_timestamp(local_time, _format='%Y-%m-%d %H:%M:%S'): """将date_time字符串格式时间转换成时间戳;如 2021-07-10 14:20

2021-08-02 20:31:27 2196

原创 JMeter性能测试

JMeter技术总结一、JMeter运行原理二、JMeter测试计划要素三、Jmeter环境介绍四、BeanShell取样器1.BeanShell常用内置变量2. 自定义函数3. 引入外部java文件4. 引入外部class文件5. 引入外部jar包6. 其他用法五、参数化六、JMeter元件运行顺序一、JMeter运行原理JMeter是运行在JVM虚拟机上的,再者Java也是支持多线程的,所以JMeter是以线程的方式来运行的。JMeter运行场景不仅可以在GUI方式中完成,还可以使用命令行,而且命令

2021-02-25 11:49:29 1077

原创 进程间的通信方式

目录一、进程间的通信方式二、进程通信的目的一、进程间的通信方式管道(pipe)管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。(进程的亲缘关系通常是指父子进程关系)命名管道(FIFO)命名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号用于通知接收进程某个事件已经发生,主要作为进程间以及同一进程不同线程之间的同步手段。...

2019-09-07 14:55:45 328

原创 [牛客网] 求和(动态规划问题)

链接:https://www.nowcoder.com/questionTerminal/11cc498832db489786f8a03c3b67d02c来源:牛客网输入两个整数 n 和 m,从数列1,2,3…n 中随意取几个数,使其和等于 m,要求将其中所有的可能组合列出来。输入描述:每个测试输入包含2个整数,n 和 m输出描述:按每个组合的字典序排列输出,每行输出一种组合示例1...

2019-08-29 13:09:25 708

原创 [牛客网] 电话号码

链接:https://www.nowcoder.com/questionTerminal/ceb89f19187b4de3997d9cdef2d551e8来源:牛客网上图是一个电话的九宫格,如你所见一个数字对应一些字母,因此在国外企业喜欢把电话号码设计成与自己公司名字相对应。例如公司的Help Desk号码是4357,因为4对应H、3对应E、5对应L、7对应P,因此4357就是HELP。同理...

2019-08-28 13:48:27 485

原创 [牛客网] 简单错误记录

链接:https://www.nowcoder.com/questionTerminal/2baa6aba39214d6ea91a2e03dff3fbeb来源:牛客网开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加;2、 超过16个字符的文件名称,只记录...

2019-08-21 15:52:45 393

原创 [牛客网] 数组中出现次数超过一半的数字(三种解法)

链接:https://www.nowcoder.com/questionTerminal/e8a1b01a2df14cb2b228b30ee6a92163来源:牛客网数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为 9 的数组 {1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字 2 在数组中出现了 5 次,超过数组长度的一半,因此输出 2。如果不存...

2019-08-21 15:04:48 545

原创 生产者消费者模型

生产者消费者模型是什么生产者和消费者彼此之间不直接通讯,而是通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取。阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。纵观大多数设计模式,都会找一个第三者出来进行解耦,如工厂模式的第三者是工厂类,模板模式的第三者是模...

2019-08-21 11:59:13 108

原创 一起聊

项目描述该项目实现了基于多线程场景下集用户注册、私聊、群聊功能于一体的一个简单的多人聊天系统,但是暂时还没有实现图形界面。当多个客户端向服务器发起连接请求时,服务端采用线程池的方式提高用户访问效率。项目设计图项目源码https://github.com/jihaojiemo/chat-room项目中遇到的问题项目中实现了单线程和多线程两部分。客户端:单线程客户端存在的问题:客...

2019-08-19 18:04:09 215

原创 背包问题 -- 动态规划

链接:https://www.lintcode.com/problem/backpack-ii/description【题目描述】有 n 个物品和一个大小为 m 的背包,给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值。问最多能装入背包的总价值是多大?Example样例 1:输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4]输出:...

2019-08-18 16:40:21 171

原创 My-Redis

Redis是什么Redis是一个开源的底层使用C语言编写的key-value内存数据库。可用于缓存数据、事件发布订阅、高速队列等场景,而且支持丰富的数据类型:string(字符串)、hash(哈希)、list(列表)、set(无序集合)、zset(有序集合)。使用场景随着数据量的增长,MySQL已经满足不了大型互联网类应用的需求。因此,Redis基于内存存储数据,在某些场景下,就会大大提高效...

2019-08-14 23:47:32 365

原创 Selemium - 元素的识别

注意: 本文使用的是火狐的webdriver,要求必须是 54 以下版本,getckodriver也最好不要下载最新的版本!一个简单脚本:# coding=utf-8from selenium import webdriverimport time# 选择浏览器,IE、谷歌、火狐browser = webdriver.Firefox()# 打开百度首页browser.get("...

2019-08-08 13:51:29 368

原创 JVM简介

Java内存区域划分线程私有区域线程共享区域Java内存溢出异常java堆溢出虚拟机栈和本地方法栈溢出垃圾回收算法java堆回收方法区回收垃圾回收器内存分配策略1. Java内存区域划分JVM会在执行Java程序的过程中把它管理的内存划分为若干个不同的数据区域。这些数据区域各有各的用处,各有各的创建与销毁时间,有的区域随着JVM进程的启动而存在...

2019-07-31 17:01:42 106

原创 异常体系(try-catch-finally执行顺序)

1. finally代码块中有return语句(基本数据类型下):package base;/** * Description: * Author: admin * Create: 2019-07-19 20:47 */public class ExceptionTest { public static void main(String[] args) { ...

2019-07-22 02:52:21 655 1

原创 String类遇到的坑

先来看一段代码,顺便想想答案都是什么?package com.github.jihaojiemo;public class StringDemo { public static void main(String[] args) { String str1 = "abc"; String str2 = "ab"; Strin...

2019-07-19 20:38:39 288

原创 [牛客网] 整数与IP地址间的转换

链接:https://www.nowcoder.com/questionTerminal/66ca0e28f90c42a196afd78cc9c496ea来源:牛客网原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。 举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10...

2019-07-09 21:08:10 695

原创 [牛客网] 最高分是多少

链接:https://www.nowcoder.com/questionTerminal/3897c2bcc87943ed98d8e0b9e18c4666来源:牛客网老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,...

2019-07-05 20:14:03 303

原创 [牛客网] 链式A+B

链接:https://www.nowcoder.com/questionTerminal/ed85a09f0df047119e94fb3e5569855a来源:牛客网题目说明:有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B...

2019-07-05 12:50:48 194

原创 JDBC编程

JDBC(Java DataBase Connectivity,Java数据库连接)是Java程序访问数据库的基本方式,是一种用于执行SQL语句的Java API,这个API由java.sql.*,javax.sql.*包中的一些类和接口组成。它为数据库开发人员提供了一个标准的API,使它们能够用纯Java API来编写数据库应用程序。JDBC为多种关系型数据库提供了统一访问的方式,它主要包含...

2019-07-04 11:24:49 114

原创 [牛客网] int与Integer

在JDK1.5之后,下列java程序输出结果为:int i = 0;Integer j = new Integer(0);System.out.println(i == j);System.out.println(j.equals(i));本题的考点在于对包装型数据类型自动拆装箱的考察。基本数据类型和包装型进行==运算符的比较时,包装型会自动拆箱变为基本数据类型后再进行比较。...

2019-06-27 16:37:27 444 1

原创 关于子类和父类的那些事儿

子类和父类的概念是在继承中才会有的,继承的前提是 is-a 原则,比如:Student is a Person,那么我们就可以表示为Student extends Person。子类又叫派生类,子类一定具有父类的全部属性与行为,并且拥有的属性更多,具体的行为更加丰富,表示的范围更小;父类又名超类。子类对象在进行实例化之前一定会首先实例化父类对象,先有父类对象才有子类对象,即先调用父类的构造方...

2019-06-26 10:03:50 1380

原创 二叉树经典面试题总结(完全二叉树、判断两棵树是否相同、另一棵树的子树、平衡二叉树、对称二叉树、根据二叉树创建字符串)

二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。链式结构又分为二叉链和三叉链,这篇博客重在研究二叉链。二叉树的链式存储结构如下图所示:以下述二叉树为例,它的链式存储结构如下:可以看得出来二叉树的链式存储和链表基本是一样的。 下...

2019-06-21 13:12:28 505

原创 堆的创建、插入、删除以及堆排序算法总结

在说堆的概念之前先说一下关于树和二叉树的一点儿知识~~1. 树树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,叶子朝下的。1.1 树的特点:每个节点有零或多个子节点没有父节点的节点称为根节点每个非根节点有且仅有一个父节点除了根节点外,每个子节点可以分成多个不相交的子树1.2 树...

2019-06-17 12:04:00 1292 2

原创 二叉树的前序、中序、后序、层序遍历 -- 递归及非递归解法

其实二叉树的遍历方式不仅仅只有我们常说的前序遍历、中序遍历和后序遍历,还有一种遍历方式叫做层序遍历,即按照二叉树的每一层顺序打印各个节点。 下面将通过代码来实现这四种遍历:public class TestBinaryTree { class TreeNode { char value; TreeNode left; TreeNod...

2019-06-12 17:04:58 162

原创 [牛客网] n个数里最小的k个

找出n个数里最小的k个 输入描述:每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n不超过100。 输出描述:输出n个整数里最小的k个数,并按升序输出。 示例:输入:3 9 6 8 -10 7 -11 19 30 12 23 5输出:-11 -10 3 6 7 解题思路:快排思想,排序+分区;找到下标为k的位置,则可知,前k小的都在...

2019-06-09 19:12:10 305

原创 测试 -- 文件压缩小项目实战

1. 项目启动,需求介入项目背景:磁盘空间不够,需要一个压缩、解压缩文件目标:完成所有文件类型的压缩、解压缩时间:2019-6-4 到 2019-6-10项目成员:项目经理:XXX产品经理:XXX开发:XXX测试:XXX2. 需求分析需求分析本来是要从需求规格说明书里边分析获得的。但是介于该项目太小了,没有需求规格说明书,所以就按照分析功能需求得出需求。功能需求:文件类型:...

2019-06-04 09:38:24 221

原创 栈和队列的相互实现

1. 用两个栈实现一个队列package com.github.jihaojiemo.queue;import java.util.Stack;/** * Description: 两个栈实现一个队列 * Author: Administrator * Date: 2019/6/1 * Time: 15:32 */public class TestMyQueue { ...

2019-06-01 15:47:57 137

原创 不带头双向链表的实现 --(外加对如何判断内存是否泄漏的一点儿说明)

package com.bittech.DoubleLinked;public class DoubleLinkedList { class Node { private Node prev; private int data; private Node next; public Node(int data) {...

2019-05-23 11:24:07 206

原创 带头循环单链表的实现

带头循环单链表相较于不带头非循环单链表而言,下图给出了它的示意图,可以看出:它多了一个头结点,还有既然它是循环的,那么它的尾节点就不再指向null了,而是指向头结点。 以下是带头循环单链表的Java语言实现:package com.circlelinked;public interface ICLinked { //头插法 void addFirst(int dat...

2019-05-23 09:31:56 332

原创 单链表 -- 删除重复结点,重复的结点不保留

题目中说得很清楚:排序的链表,那么如果存在重复元素的话,一定是紧挨着的,要么重复的是两个要么是多个。package com.Linked;public class MySingleList { class Node { private int data; private Node next; private Node(int da...

2019-05-20 20:59:38 341

原创 单链表反转

package com.bittech.Linked;public class MySingleListImpl { class Node { private int data; private Node next; public Node(int data) { this.data = data; ...

2019-05-16 14:52:07 162

原创 测试的分类

按研发阶段划分:单元测试集成测试系统测试回归测试冒烟测试验收测试按测试实施组织划分:α测试β测试第三方测试按是否运行划分:静态测试动态测试按是否手工划分:手工测试自动化测试按是否查看代码划分:黑盒测试白盒测试灰盒测试按测试地域划分:国际化测试本地化测试按测试对象划分:业务测试界面测试...

2019-05-14 17:34:17 359

原创 不带头非循环单链表的实现

1. 什么是链表用一组地址任意的存储单元存放线性表中的数据元素,即逻辑上连续,物理上不一定连续。在顺序表的链式存储结构中,每个存储的节点不仅包含数据元素本身(称之为数据域),而且还包括此节点的后继节点的地址信息(称之为指针域)。一般地,每个节点可以有一个或多个这样的指针域,如果某个节点中的某个指针域不再需要指向任何节点,则它的值为null。2. 什么是单链表在每个节点中除了包含数据域 (d...

2019-05-14 16:52:54 280

原创 顺序表的基本操作

先用一张图来简单的说明一下顺序表和其他数据结构之间的关系:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构。一般情况下是通过数组实现的。即逻辑上和物理上都是连续的。 顺序表一般分为:静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟的数组存储,增容一般是呈2倍的增长,而且需要申请新空间,拷贝数据,释放旧空间,因此会有不小的消耗。package com.bittec...

2019-05-07 18:23:28 2158

原创 看图了解Thread方法

2019-05-04 16:43:45 148

原创 生产者消费者模型

商品类:package com.bittech.pc;/** 1. Goods:生产者生产的产品类 */public class Goods { private final String id; private final String name; public Goods(String id, String name) { this.i...

2019-05-04 14:02:56 95

空空如也

空空如也

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

TA关注的人

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