自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李亚飞的博客

个人主页:https://www.liyafei.top

  • 博客(132)
  • 收藏
  • 关注

原创 JAVA设计模式的六大原则

开闭原则(总则)规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。我的理解:只增不改。无论是类、方法,都尽可能的增加新的,不改变旧的。单一职责原则它规定一个类应该只有一个发生变化的原因。谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责...

2020-01-15 20:41:00 2998

原创 JAVA设计模式目录

虽然说学习编程三年了,但是系统化的学习设计模式的过程还是没有的。在刚接触java的第一年的时候,有了解过设计模式,但是理解的不是很透彻。在这个假期,打算系统的学习一下23种设计模式。同时会基于自己的理解,来进行一个记录与阐述。首先,我们要知道分别是哪23种设计模式。创造型模式:工厂方法模式(Factory Method)抽象工厂模式(Factory Method)单例模式(Singl...

2020-01-15 20:07:41 3049

原创 数据结构——链表List、ArrayList、LinkedList

title: '数据结构——链表List、ArrayList、LinkedList ’date: 2019-11-16 10:42:41categories:数据结构tags:数据结构链表抽象数据类型ADT是带有一组操作的一些对象的集合一种特别的抽象类型——表ADT什么是一个表呢?最简单的一个整数表 -> 由一群整数构成的一个数组,可以看做是一张表//...

2019-11-16 11:53:44 4772 5

原创 第五章-Linux实操篇

title: 第五章 Linux实操篇categories:Linuxtags:linuxtypora-root-url: …abbrlink: 93414991date: 2019-08-15 15:27:58第五章 Linux实操篇 远程登录Linux系统5.1 为什么要远程登录服务器5.2 xhell5(windows)远程登录软件需要Linux开启sshd服...

2019-10-24 18:45:23 9864 6

原创 docker: no matching manifest for windows/amd64 10.0.17134 in the manifest list entries.

第一步检查是否开启第二步如果还是不成功,cmd界面docker image pull mcr.microsoft.com/windows/servercore:1803

2020-02-22 17:24:40 4363

原创 面试记录(二)

电话面,又一家公司的面试1.自我介绍2.项目介绍,项目特色3.redis的数据模型4.mysql的模型(层次模型、网状模型、ER模型,课本的原知识,当场忘记了)5.hashmap的底层实现,hashmap的构造函数有几个入参6.讲一讲jvm的了解,我讲了一个GC回收机制7.计算机网络的7层模型。8.tcp、udp的区别9.你有什么想问的补充:有问一个lock,但是我不会。总之...

2020-02-21 21:11:19 338 1

原创 面试记录(一)

电话面1.自我介绍(最好提前准备)2.项目介绍(介绍了下项目中新颖之处,提到redis)3.redis数据结构(string字符串、hashmap哈希、list列表、set集合、zset有序集合)我没有答上来。事后查资料学习地址4.mybatis分页如何实现(我答了一个用插件。。。服了自己)又接着问mysql里是如何实现的5.mysql里面的隔离级别(完全不会。。。资料地址)6.算法...

2020-02-20 20:35:22 543

原创 剑指offer系列:二叉搜索树的后序遍历序列

描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。代码public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { if(sequence.length==0){ ...

2020-02-15 13:17:42 164

原创 剑指offer系列:从上往下打印二叉树

描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。代码import java.util.ArrayList;import java.util.*;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode...

2020-02-14 21:17:19 195

原创 剑指offer系列:栈的压入、弹出序列

描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)代码import java.util.Stack;public class Solu...

2020-02-14 20:52:23 206

原创 剑指offer系列:包含min函数的栈

描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。代码import java.util.Stack;public class Solution { Stack<Integer> stack1=new Stack<>(); //主栈 Stack<Integer> stack2=ne...

2020-02-13 22:14:53 200

原创 剑指offer系列:顺时针打印矩阵

描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.代码import java.util.ArrayList;public class Solution { ...

2020-02-13 20:36:45 254

原创 剑指offer系列:二叉树的镜像

描述操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树8/ \6 10/ \ / \5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 5代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeN...

2020-02-13 18:23:18 284

原创 数据结构:数组模拟的非环形队列

队列队列与栈类似,但是主要区别是栈是先进后出,而队列则是先进先出的。代码//非环形队列class ArrayQueue { private int maxSize; //数组最大容量 private int front; //队列头 private int rear; //队列尾 private int[] arr;//该数组存放数据,模拟队列 /...

2020-02-13 17:27:31 460

原创 剑指offer系列:树的子结构

描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val =...

2020-02-13 16:11:09 242

原创 剑指offer系列:链表中倒数第k个结点

描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution ...

2020-02-12 22:09:40 333

原创 剑指offer系列:反转链表

描述输入一个链表,反转链表后,输出新链表的表头。代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Re...

2020-02-12 21:18:07 540

原创 JVM:GC机制

如果你对jvm没有基本的了解,那么你可以先了解jvm之后再参阅本人会更便于理解建议参考文章:《一张图看懂JVM》垃圾回收机制(GC)首先要知道一些概念年轻代、老年代、Eden区、Survivor区年轻代:由Eden区、Survivor区组成Eden区:new 出的新对象最初都存放在这里Survivor区:当Eden区满之后,MinorGc机制会清理无引用状态的对象,并将GCRo...

2020-02-12 18:23:29 666

原创 剑指offer系列:链表中倒数第k个结点

描述输入一个链表,输出该链表中倒数第k个结点。代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Fin...

2020-02-12 15:28:27 662

原创 剑指offer系列:调整数组顺序使奇数位于偶数前面

描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。代码public class Solution { public void reOrderArray(int [] array) { int doublenum=0; for(int...

2020-02-12 15:03:33 884

原创 剑指offer系列:数值的整数次方

描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0代码class Solution {public: double Power(double base, int exponent) { if(base==0){ return 0; ...

2020-02-12 14:28:24 674

原创 剑指offer系列:二进制中1的个数

描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。代码class Solution {public: int NumberOf1(int n) { int count = 0; while(n!=0){ count++; n = n & (n-1); ...

2020-02-12 14:17:09 673

原创 剑指offer系列:矩形覆盖

描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?代码class Solution {public: int rectCover(int number) { if(number==0){ return 0; } if(number==...

2020-02-12 13:37:01 701

原创 剑指offer系列:变态跳台阶

描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。代码class Solution {public: int jumpFloorII(int number) { if(number==0){ return 0; } int ans =1; ...

2020-02-12 12:50:55 820

原创 剑指offer系列:跳台阶

描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。代码public class Solution { public int JumpFloor(int target) { if(target==1){ return 1; } ...

2020-02-11 23:43:31 781

原创 剑指offer系列:斐波那契数列

描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39代码public class Solution { public int Fibonacci(int n) { if(n==0){ return 0; } if(n&lt...

2020-02-11 23:25:06 754

原创 剑指offer系列:旋转数组的最小数字

描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。代码import java.util.ArrayList;public class Solution { ...

2020-02-11 23:13:44 789

原创 剑指offer系列:用两个栈实现队列

描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。代码import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new St...

2020-02-10 20:16:25 1338

原创 剑指offer系列:从尾到头打印链表

描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。代码/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }*...

2020-02-10 20:00:00 1333

原创 剑指offer系列:替换空格

描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码public class Solution { public String replaceSpace(StringBuffer str) { StringBuilder stringBuilder = ...

2020-02-10 19:57:29 1290

原创 剑指offer系列:二维数组中的查找

描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。代码public class Solution { public boolean Find(int target, int [][] array) { f...

2020-02-10 19:53:21 1278

原创 一张图看懂JVM

JVM是什么jvm是Java虚拟机,是一种虚构的计算机。目的是为了能够在各类计算机上通过构建jvm来运行java代码。JVM模型栈:线程栈,内部放局部变量堆:栈首先,栈其实就是线程。内部主要存放局部变量。栈帧结构栈帧:栈内的存放单元,线程内的每个方法对应一个栈帧,栈帧内存放着方法的局部变量这里的方法调用就是栈的方式,调用某方法则某方法的栈帧入栈,调用结束后出栈操作数栈:...

2020-02-09 23:34:05 1426

原创 设计模式——工厂模式

简单工厂模式

2020-01-18 21:07:13 2766

原创 我积累的一些idea好用插件

最近,在学习设计模式。过程中需要使用UML图,虽然本地有startUML但是想到idea这么强大难道不会有划用例图的工具吗?于是找到了这款工具<PlantUML>,同时想着把自己用过或者正在用的一些好用的插件分享给大家。插件安装方法idea目录:File --> Settings然后搜索名字,点击INSTALLLimbok官网这是一个通过注解来简化开发的java...

2020-01-17 15:44:03 4319 4

原创 CSS盒子模型(重点)

盒子模型(Box Model)把HTML页面中的布局元素当做一个矩形盒子,也就是一个盛放内容的容器组成部分内容边框(border)内边距(padding)内容与边框的距离外边距(margin) 盒子边框与相邻盒子边框的距离标准模型盒子边框(border)语法:border: border-width || border-style || border-color属性:...

2020-01-17 15:00:48 4773

原创 设计模式——单例模式

单例模式定义:采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只能提供一个取得其对象实例的方法()。单例模式的八种方式饿汉式(静态常量)步骤:构造器私有化类的内部对象创建向外暴露一个静态的公共方法代码实现代码实现//饿汉式实现(静态遍历)class Singleton{ //1.构造器私有化,外部不能new private Si...

2020-01-16 15:21:29 2830

原创 学习CSS看这个就够了(二)

在前面两天,已经学习了html和css基础部分了。其实,文章只把一些关键语法语义记录,如果想要更好的掌握它最好还是能够多加练习。今天就继续学习CSS样式。三种显示模式标签显示模式是什么比如div与span,前者一行只能显示一个,后者则一行可以显示多个。html标签一般的分为块标签和行内标签两种简单的理解为块状独占一行,行内则一行可以并存。块级元素(block-level)常见元...

2020-01-15 19:39:19 4477

原创 算法小练——不同的二叉搜索树

title: 算法小练——不同的二叉搜索树abbrlink: 4096678489date: 2020-01-12 21:39:51categories:tags:不同的二叉搜索树描述给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 ...

2020-01-13 20:59:35 3005

原创 学习CSS看这个就够了(一)

为什么会学习CSS如果你已经看过我的《学习HTML看这个就》这篇文章。那么也许你会发现,html只会关注内容的语义,并不会对样式有大的修改能力。那么为了需要让我们的页面更加的美观,所以才有了CSS的出现,所以CSS的作用就是为了修改页面的样式。CSS最大的贡献:结构与样式相互分离三种引用方式行内式(内联样式)语法: <标签名 style="属性1:属性值1;属性2:属性值2...

2020-01-13 19:22:51 4901 2

原创 学习html看这一篇就够用了

基础标签<h1></h1>:标题<p></p> 段落<hr>水平线<br>换行<span></span>分区,可多标签一行<div></div>分区,每个标签一行文本格式化标签<b></b> <strong></stro...

2020-01-12 14:25:26 8533 2

空空如也

空空如也

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

TA关注的人

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