自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-03-05

**字节后端面试**万事万物皆是对象面向对象的概念面向对象把复杂的逻辑简单化,增强代码的复用性;面向对象编程的特点是 抽象 封装 继承 多态等;继承 关键字 extend Object 所有类的父类多态的充要条件. 继承.重写父类方法.父类引用指向子类对象https 的工作原理和安全机制https的工作原理https是一种以安全为目标的http协议 在http层下面加入了SSL层,SSL层负责加解密,https的安全基础是SSLSSL:(安全套接字)位于可靠的面向连接的网络层协

2021-03-05 22:12:09 73 1

原创 JAVA基础笔记

一、ArrayList 和 LinkedList区别1 ArrayList 是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构2 对于随机访问get 和 set,ArrayList优于LinkedList,因为LinkedList要移动指针。3 对于新增和删除操作add和remove,LinkedList比较占优势,因为LinkedList要移动数据。二、JAVA中方法重载和重写的区别(体现多态)重载:同一类中的同名函数,具有不同参数个数和类型(返回值不参与)是一个类中多态性的

2020-12-06 13:00:01 122

原创 JAVA虚拟机

自动内存管理一 内存区域与内存溢出异常1 运行时数据区域程序计数器程序计数器是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各个线程的计数器互不影响,独立存储(线程私有的内存)java虚拟机栈java虚拟机栈是线程私有的,生命周期与线程相同虚拟机栈描述的是java方法执行的线程内存模型:每一方法被执行的时候,java虚拟机都会同步创建一个线帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息

2020-12-05 11:05:26 67

原创 刷剑指的第十二天

今天也有努力哦两个题目#59I 滑动窗口的最大值#29 顺时针打印矩阵#59I 滑动窗口的最大值题目描述解题思路1 遍历数组nums时,每轮保证单调队列deque2 分为没有形成窗口和形成窗口两个类型3 deque内 仅包含窗口内的元素4 保证deque是一个非严格递减的两端队列5 队列的首元素就是窗口的最大值代码实现如下:#29 顺时针打印矩阵题目描述解题思路定义四个边界变量 上下 左右但是要保证 上边界的值大于下边界的值 右边界的值大于左边界的值代码实现如下

2020-12-04 15:09:56 64

原创 并发编程之美

并发编程线程基础线程线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程至少有一个线程,进程中的多个线程共享进程的资源。真正要占用CPU运行的是线程,所以也说线程是CPU分配的基本单位main()函数时其实就启动了一个JVM进程,而main()函数所在的线程就是这个进程中的一个线程,也称主线程。一个进程中有多个线程,多个线程共享进程的堆和方法区资源,但是每个线程有自己的程序计数器和栈区域。

2020-12-03 11:49:59 135

原创 刷剑指第11天

还是刷题小可爱本人呀两个题目#52-II 0~n-1中缺失的数字#50 第一次只出现一次的字符#52-II 0~n-1中缺失的数字题目描述自己的解题第一反应思路1 确定数组最后一个数字是否等于对应的索引值 如果等于就返回数组末尾元素值2 判断数组长度是否为1 如果长度为1 而且该值等于1 就返回03 遍历找出那个缺失的数 按照后一个数比前一个数大1的原则代码实现如下别人的巧妙思路对应的代码如下:#50 第一次只出现一次的字符、题目描述解题思路有序的哈希表代码实现如

2020-12-02 21:37:12 65

原创 刷剑指的第10天呀

是刷剑指小可爱呢两个题目#42 连续子数组的最大和#58I 翻转单词顺序#42 连续子数组的最大和题目描述解题思路利用动态规划来解动态规划解析状态的定义:动态规划列表dp dp[i]代表以元素nums[i]为结尾的连续子数组的最大和为何定义最大和dp[i]中必须包含元素nums[i];保证dp[i]递推到dp[i+1]的正确性 如果不包含nums[i] 递推时则不满足题目的连续子数组要求转移方程:若dp[i-1]<=0 说明dp[i-1]对dp[i]产生负贡献,即初始状态 d

2020-12-01 22:56:46 55

原创 计算机网络

运输层1 运输层协议概述1.1 进程之间的通信运输层提供引用进程简的逻辑通信网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,但是这种逻辑通信信道就相当于一条全双工的可靠通信当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠通信。1.2 运输层的两个主要协议TCP/IP(1) 用户数据报协议 UDP(2)传输控制协议 TCPUDP和TCP的区别UDP在传送数据之前不需要建立连接。原地

2020-12-01 21:44:21 129

原创 网际协议IP

打卡第一天呀~1.1 虚拟互联网络网际协议IP是TCP/IP体系中两个最主要的协议之一地址解析协议(ARP)网际控制报文协议(ICMP)网际组管理协议(IGMP)应用层各种应用层协议(HTTP,FTP,SMTP等)运输层TCP、UDP网络层(ICMP、IGMP)IP(ARP)网络接口层与各种网络接口物理硬件网际协议IP及其配套协议四种中间设备(1)物理层使用的中间设备叫做转发器(repeater)(2)数据链路层使用的中间设备叫做网桥或者

2020-12-01 16:47:55 133

原创 继续刷剑指day09

要当一个天天坚持刷题的小可爱呀刷题day08两个题目#15:二进制中1的个数#10II:青蛙跳台阶问题#15:二进制中1的个数题目描述解题思路1 定义一个变量统计1的个数2 利用逻辑& 找出13 利用无符号左移运算符移动位置来遍历所有的二进制数(循环逐位判断)代码实现如下:#17:打印从1到最大的n位数题目描述思路一:笨方法 消耗很多内存1 实现最大的n位数加1 按位数循环乘以102 设置数组 打印输出结果代码实现如下聪明方法思路基于分治算法的思想,先

2020-11-30 22:45:32 70

原创 刷剑指Day08

要当一个天天坚持刷题的小可爱呀刷题day08两个题目#10I:斐波那契数列#10II:青蛙跳台阶问题#10I:斐波那契数列题目描述解题思路:一 笨方法采用递归方法模拟计算出这个数列的第n个值,每一次都要重新计算之前的每个数的值进行累加,时间复杂度和空间复杂度都比较大代码实现如下:思路二简便方法采用动态规划的思想,1 将原问题分解为子问题2 确定状态3 确定一些初始状态的值4确定状态转移方程可以定义一个数组来存储这些值,这样就可以不需要每次再重新计算之前的值具体代码

2020-11-26 21:26:57 71

原创 刷剑指Day07

今天也是刷题小可爱##两个题目#26 树的子结构#27 二叉树的镜像#26 树的子结构题目描述解题思路1 前序遍历树A的每个节点2 判断树A中的根节点下的子树是否包含树B3 判断左子树的所有子树中是否包含树B,判断右子树的所有子树中是否包含树B代码实现如下:#27 二叉树的镜像题目描述解题思路1 前序遍历原有的树2 把根节点的左子树赋值给镜像树的右子树,把根节点的右子树赋值给左子树实现代码如下...

2020-11-19 19:27:13 59

原创 刷剑指

今天也是刷题小可爱##两个题目#57 和为s的数字#61 扑克牌中的顺子#57 和为s的数字题目描述原始思路结果是超时了升级思路利用双指针遍历数组找到这两个值代码如下#61 扑克牌中的顺子题目描述思路分有无大小王的情况,再考虑不是顺子的情况不管大小王 差距大于4 或者出现重复代码实现如下...

2020-11-17 21:21:10 105

原创 刷剑指

谁还不是一个刷题小可爱呢@TOC刷题day05剑指offer两个题目#40 最小的k个数#53 在排序数组中查找数字#40 最小的k个数题目描述懒方法;解决思路1 用快排算法对原数组进行排序2 取出前K个数值代码实现如下:#53 在排序数组中查找数字题目描述暴力代码如右所示...

2020-11-16 17:31:56 57

原创 刷剑指

谁还不是一个刷题小可爱呢@TOC刷题day04剑指offer两个题目#11 旋转数组的最小数字#39 数组中出现次数超过一半的数字#旋转数组的最小数字题目要求思路1 由于数组的特性,倒序遍历数组2 找出最小值,满足它前一个数字比它大具体实现代码如下#39 数组中出现次数超过一半的数字题目描述思路如下:初始化: 票数统计 votes = 0 , 众数 x;循环: 遍历数组 nums 中的每个数字 num ;当 票数 votes 等于 0 ,则假设当前数字 num 是众数

2020-11-15 16:46:15 62

原创 刷剑指

谁还不是一个刷题小可爱呢@TOC刷题day03剑指0ffer两个题目#21:调整数组顺序,使奇数位于偶数前面#3:数组中重复的数字#21:调整数组顺序,使奇数位于偶数前面题目要求笨方法:思路1 创建一个同样大小的数组2 两次遍历数组,分别取出奇数和偶数具体代码如下:双指针便捷方法1 定义两个指针2两个指针分别从前后遍历数组3如果判断为奇数前面指针移动一位,如果判断为偶数则后面指针往前移动一位(前指针找偶数,后指针找奇数)4 交换前后指的值具体代码实现如下#3:数组中

2020-11-14 16:16:11 115

原创 刷剑指

谁还不是一个刷题小可爱呢@TOC刷题day02剑指0ffer两个题目#22:链表中倒数第k个节点#23:链表中环的入口节点#22:链表中倒数第k个节点题目描述解题思路1 考虑代码的鲁棒性(1) 链表为空的情况(2)链表长度少于K的情况2 为了降低算法的复杂度这里定义两个变量 间隔为K 遍历一次链表即可求出结果具体实现代码如下/**Definition for singly-linked list.public class ListNode {int val;ListNo

2020-11-13 18:08:04 66

刷剑指

谁还不是一个刷题小可爱呢@TOC刷题day01剑指0ffer五个题目#06 : 从尾到头打印链表#18 : 删除链表的节点#22:链表中倒数第A个节点#23:链表中环的入口节点#24:反转链表#06 : 从尾到头打印链表写题思路遍历链表 ,将结果存放在栈空间中;再从栈定输出节点的值;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功

2020-11-12 22:08:48 97 1

空空如也

空空如也

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

TA关注的人

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