自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱敲代码的小黄

乾坤未定,你我皆是黑马!

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

原创 【Spring】JDBC、AOP、事务

对于Spring来说,最重要的大概就是JDBC这一块知识了吧牵扯到事务、AOP、IOC正好这两天在学这个知识,整理了一下目录1. Spring中JDBC简介2. Spring的配置2.1 pom.xml2.2 数据库连接池2.2.1 JDBC连接池2.2.2 C3P0连接池2.2.3 DBCP连接池2.2.4 jdbc.properties文件2.2.4 总配置文件3. Java端3.1 TestModel3.2 SpringDao3.2.1 注入的操作3.2.2 增删改的操作3.3.3 查找的操.

2020-08-31 22:31:32 328

原创 【二分查找】左侧边界、右侧边界、查找值

一直以来,搞不清楚关于二分查找的边界问题,不是这里越界,就是那里越界,调试很久也可能A不了,今天,来总结一下关于二分查找1. 查找值对于查找特定值来说,算是二分法的模板题目吧。public int select(int[] nums, int target){2. 左侧边界3. 右侧边界...

2020-08-31 20:42:07 3221 1

原创 【面试知识】Java内存分配之常量池、堆、栈

1. Java内存分配寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM(随机存取存储器)存储:硬盘等永久存储空间2. Java内存-栈    在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。   当在一段代码块定义一个变量时,Java就在栈中

2020-08-26 21:56:38 344

原创 【计算机网络-应用层】DNS协议

1. 客户/服务器(C/S)模型1.1 服务器(提供计算服务的设备)永久提供服务永久性访问地址/域名1.2 客户机(请求计算服务的主机)与服务器通信,使用服务器提供的服务间歇性接入网络可能使用动态IP地址不与其他客户机直接通信2. P2P模型不存在永远在线的服务器每个主机即可以提供服务,也可以请求服务任意端系统/节点之间可以直接通讯节点间歇性接入网络节点可能改变IP地址可扩展性好网络健壮性强3. DNS系统...

2020-08-24 22:10:47 264

原创 【计算机网络-传输层】TCP可靠传输、TCP流量控制、拥塞控制

1. TCP的可靠传输可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。比如,我客户端一个字节流发送的是,12345,那服务端收到的也是123451.1 校验增加一个伪首部,通过使用二进制反码求和的方法来确定1.2 序号(seq)每次在传输的时候,我们的序号都是报文段的第一个字节1.3 确认(ack)每次在传输的时候,我们想要的报文段的第一个字节1.4 重传确认重传不分家,TCP的发送方在规定的时间内没有收到确认就要重传已发送的报文段。1.4.1 超时重传重

2020-08-21 21:55:21 431

原创 【计算机网络-传输层】TCP/UDP、SYN泛洪攻击、三次握手四次挥手

1. UDPUDP无连接的,减少开销和发送数据之间的延迟UDP使用最大努力交付,即不保证可靠交付。UDP是面向报文的(直接将整个应用层传过来的报文封装),适合一次性传输少量数据的网络应用。UDP没有拥塞控制(IP电话、腾讯会议),如果拥塞太过严重,直接重传报文~UDP首部开销小,8个字节(8B)–16位源端口号(可有可无)–16位目的端口号(必须要有)–16位UDP长度(整个数据的长度)–16位UDP检验和(检验是否出错)2. TCP2.1 特点TCP是面向连接的传输层协议每一条TC

2020-08-21 19:12:24 1939 2

原创 【计算机网络】OSI、TCP/IP、五层模型

目录1 OSI参考模型1.1 背景1.1.1 为什么要分层?1.1.2 分层是按什么区分的?1.1.3 分层的结构是怎么样的?1.1.4 OSI怎么来的?1.2 OSI结构1.3 OSI的数据传输2 .TCP/IP参考模型2.1 背景2.2 TCP/IP结构3. OSI和TCP/IP协议的区别4. 五层协议4.1 五层参考模型数据封装与解封装(数据传输)1 OSI参考模型1.1 背景1.1.1 为什么要分层?在发送一个文件之前,我们需要做很多的工作,比如:将数据通信的道路激活告诉网络怎么.

2020-08-20 18:49:40 777

原创 【字节跳动】跳跃游戏

1. 题目描述建议,,,看懂即可2. 题目分析如果某一个作为起跳点的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点。可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离 不断更新。如果从这个 起跳点 起跳叫做第 1 次 跳跃,那么从后面 3 个格子起跳 都 可以叫做第2次 跳跃。所以,当一次 跳跃 结束时,从下一个格子开始,到现在 能跳到最远的距离,都 是下一次 跳跃 的 起跳点。对每一次 跳跃 用 for 循环来模拟。跳完一次之后,更新下一次 起跳

2020-08-18 20:20:08 514

原创 【2020Java秋招学习历程】

本文主要记录题主备战秋招及秋招经过的帖子 8月17号总体来说,还是达到了预期的目标~~~~ 听layui,做完小项目 选择题做20道新题 把死锁复习写完 迪杰斯特拉算法 翻转字符串 翻转字符串 8月18号[] 把死锁复习写完...

2020-08-17 21:43:20 1115 1

原创 【腾讯】环形链表(证明环的位置)

1. 题目描述题目链接:环形链表II2. 题目分析题目在上一个环形链表上让你证明有环无环,进而让你求此环点首先,我们想想,在上一题中,我们快指针走2步,慢指针走一步,也就是快指针 = 2 * 慢指针快指针比慢指针多走了nb,最后交汇在环中的某一点由上述式子相减慢指针走的步数 = nb所以,我们考虑考虑,我们怎么才能让慢指针走到环点呢?当慢指针走a+nb时,是不是就走到环点了所以,我们只需要再让慢指针走a步,也就是从头再定义一个指针,当两指针相交时,此节点就是该环点或者利用

2020-08-17 21:02:39 537

原创 【腾讯】环形链表(证明有环)

1. 题目描述题目链接:环形链表2. 题目解析对于这种问题,最好的做法是~~~~做过一遍~ _ ~简单来说,定义两个指针,一个快指针,一个慢指针,如果他们能够相遇的话,就代表该链表有环,否则如果快指针走到了null,则证明无环。这里说明下关于有环的证明:我们的快指针走2步,慢指针走1步,快指针会先在环里进行循环走,等到慢指针也走进环里时。根据速度的相对,如果以满指针为参考系的话,快指针一次走一步,迟早会追上慢指针。3. 题目代码public class Solution { pu

2020-08-17 20:35:39 588

原创 【bilibilli】翻转字符串

1. 题目描述题目链接:翻转字符串2. 题目分析剑指offer的原题。在剑指offer中,采取的方法是:对字符串进行处理,将首尾的空格去掉,再对整个字符串进行翻转,再翻转每一个小字符串,最后处理多余的空格,返回即可这里我采取的是双指针的做法,比较容易理解和书写。我们先判断异常的字符串:if(s == null || s.length() == 0 || s.trim().length() == 0){ return ""; }我们定义i、j,从字符串的后面开始遍历,当i遇到空格时,我们将i+

2020-08-17 18:58:20 444 1

原创 【面试小知识】Collection(接口)集合

乾坤未定,你我皆是黑马~1. 简介近期,在牛客网看到关于collection接口集合的问题,一时间自己没想起来,于是自己整理了一下。2. Collection(接口)集合架构图3.集合分析我们可以看到,关于Collection主要分为常见的Set、list、queue3.1 Set(接口、无序、无索引、不重复性)对于set集合,一般我们在用的时候,主要利用其不重复性,比如我们在筛选数据时,放进去,提出来,Set集合自动帮我们去除掉重复的数据HashSet:底层数据结构是哈希表(无序.

2020-08-16 20:47:27 294

原创 【DFS】733. 图像渲染

1. 题目描述【DFS】图像渲染2. 题目分析题目给你了一个二维的地图,给你一个出发点的坐标,基本很明确了,就是考察的图的DFS或BFS这里,题主选择的是DFS的非递归版本(不要问我为啥不用递归版本,因为我脑子理解不了递归~ _ ~),不过非递归也有一个好处,就是一些边界、满足条件,容易写和容易理解。简单说一下思路,从坐标点出发,遍历上下左右4个点,遇到符合的(和坐标点相等),直接入栈,并标记一下该点,并将该点的值变成newColor,3. 题目代码class Solution {

2020-08-16 15:51:02 228

原创 【面试小知识】基本数据类型和引用数据类型

目录1. 基本数据类型2. 基本数据类型和引用类型的区别2.1. 存储的位置不同2.2. 传递方式不同1. 基本数据类型byte(1字节)、boolean(1字节)、short(2字节)、char (2字节)、int(4字节)、long(8字节)、float(4字节)、double(8字节)2. 基本数据类型和引用类型的区别2.1. 存储的位置不同基本数据类型:具体内容存储在栈中引用类型:具体内容是在堆中,在栈中存储的是他的地址2.2. 传递方式不同基本数据类型:调用方法时作为参数是按.

2020-08-15 18:23:06 719

原创 【面试小知识】String、StringBuilder、StringBuffer

1. 简单介绍java中用于处理字符串常用的有三个类:java.lang.String java.lang.StringBuffer java.lang.StrungBuilder对于String、StringBuilder、StringBuffer,在jdk1.8中都是使用final修饰的StringBuffer是线程安全,可以不需要额外的同步用于多线程中;StringBuilder是非同步,运行于多线程中就需要使用着单独同步处理,但是速度就比StringBuffer快多了;St

2020-08-15 18:03:42 562

原创 【面向对象】抽象类和接口

目录1. 抽象类的特点2. 接口的特点3. 抽象类和接口的区别1. 抽象类的特点抽象类可以有构造方法,但不能直接使用new调用构造方法进行实例化。需要通过非抽象子类的new,来间接的调用父类的构造方法进行实例化 抽象类中,可以存在普通属性、方法和静态属性、方法 抽象类中可以存在抽象方法, 也可以存在非抽象方法、 有抽象方法的类一定是抽象类,但抽象类中不一定有抽象方法 如果父类是抽象类,子类继承父类时,需要重写父类的抽象方法或者子类变成抽象类2. 接口的特点在接口中,只有

2020-08-15 16:38:27 618

原创 【Layui】Layui下select下拉框不显示或没有效果

今天再用Layui写界面时,发现自己的select下拉框没有显示<from class="layui-form" action=""> <div class="layui-input-inline"> <label class="layui-form-label">姓名:</label> <div class="layui-input-block"> <input type="text" name="

2020-08-15 11:22:00 4231 1

原创 【bilibili】有效的括号

1. 题目描述LeetCode20:有效括号2. 题目分析题目的意思比较简单,就是一个简单的模拟操作,当为{ ( [ 时直接入栈,当为} ) ]时判断栈顶的字符是不是相对应的字符,不是,直接返回这里有几个坑点,总结一下:不要忘了最后判断栈是否为空、不要忘了null/0、不要忘了当栈为0时,出现} ) ]直接返回false主要的测试样例:"" [ ]做的时候,第一次错了最后栈大小的判断,第二次错了栈空取出来的异常3. 题目代码class Solution { public boo

2020-08-14 08:54:42 759

原创 【字符串】最长不含重复字符的子字符串

1. 题目描述2. 题目分析我们可以看到,对于

2020-08-12 21:38:31 3204 2

原创 【数组】两数之和

【2020秋招-面试题目汇总(随时更新)】1. 题目描述2. 题目分析我们首先想到的,是暴力,直接双重循环,这种的耗费时间为O(n^2),也不是面试官想要看到的,我们需要在此方法的基础上对其改进。我们想到了一种数据结构(HashMap),我们知道,对于HashMap而言,它具有(key-value)的一种映射,我们将 target - nums[i] 设置为key,将它的下标i设置为value,这样的话, 当我们在数组中再一次遍历到**target - nums[i]**时,将 value 和当

2020-08-11 11:18:55 1035

原创 【十大排序】深入浅出冒泡排序

1. 冒泡的思想基本思想: 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。直观表达,每一趟遍历,将一个最大的数移到序列末尾。2. 算法描述比较相邻的元素,如果前一个比后一个大,交换之。第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。第二趟将第二大的数移动至倒数第二位········因此需要n-1趟3. 代码实现public v

2020-08-11 10:45:47 632

原创 【十大排序】带你深入了解归并排序

1. 了解归并排序,是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。一般求逆序对时,使用!!!2....

2020-08-11 10:35:09 744

原创 【2022秋招-面试题目汇总(随时更新)】

1. 数据结构和算法1.2 十大排序算法堆排序快速排序归并排序希尔排序1.3 数据结构题目汇总1.3.1 数组1.3.2 字符串1.3.31.3.4 链表翻转链表链表中奇数位和偶数位的置换2. 操作系统3. 计算机网络...

2020-08-10 11:56:13 26046 37

原创 【数据库】学生管理系统

☞本项目主要练习MySQL数据库和java代码之间的连通☜☞后续会在本基础上,利用Spring实现WEB端☜☞梦想进大厂的一只程序猿☜☞期望毕业前力扣刷够400题☜☞正在复习数据结构和算法☜☞博客地址:https://www.huangliangshuai.com/☜1. 项目架构图2. 系统分析2.1. 数据库2.1.1. 表student2.2 java端2.2.1 JBDC2.2.1.1JDBC连接package com.situ.student.util;im.

2020-08-08 21:59:12 1992 2

原创 【数据库】停车场系统

☞本项目主要练习MySQL数据库和java代码之间的连通☜☞后续会在本基础上,利用Spring实现WEB端☜☞梦想进大厂的一只程序猿☜☞期望毕业前力扣刷够400题☜☞正在复习数据结构和算法☜☞博客地址:https://www.huangliangshuai.com/☜1. 项目架构图2. 系统分析2.1. 数据库2.1.1. 表parking2.1.2 表record2.2 java端2.2.1 JBDC2.2.1.1JDBC连接package com.situ.pa.

2020-08-08 18:17:33 2118

原创 【链表】160. 相交链表

☞梦想进大厂的一只程序猿☜☞期望毕业前力扣刷够400题☜☞正在复习数据结构和算法☜☞正在JAVA培训中☜☞博客地址:https://www.huangliangshuai.com/☜1. 题目描述2. 题目分析我们可以看到,假如两个链表有交点的话,他们的图和实例一样这时候,我们观察图1的路线:a1—>c1—>c3—>b1—>c1b1—>c1—>c3—>a1—>c1可以看出来,这两条路线的值是相等的题目的思路就是,A先走自己的路,.

2020-08-06 21:49:33 264

原创 【动态规划】198. 打家劫舍

☞梦想进大厂的一只程序猿☜☞期望毕业前力扣刷够400题☜☞正在复习数据结构和算法☜☞正在JAVA培训中☜☞博客地址:https://www.huangliangshuai.com/☜1. 题目描述2. 题目分析经典的DP问题,也是DP的入门。条件:小偷不能偷相邻的房间。如果我们当前对于最后一户人家,我们决定偷他:那我们获取的最大利益是:nums[i] + opt[i - 2] 这里的opt代表,我们从第一家偷到第几家的收益如果我们不偷的话,那我们获取的最大利益是:opt[i - .

2020-08-06 21:37:45 626

原创 【数组】面试题 10.01. 合并排序的数组

1. 题目描述2. 题目分析第一个方法,借用O(m)的空间,将A数组的数字转移到新开辟的空间中,然后依次的比较,方放入A数组中第二个方法,我们可以想想可以不借用空间的方法来解决这个问题,我们可以看到,两个数组的数字都是排序(升序)好的...

2020-08-06 21:18:31 234

原创 【字符串】13. 罗马数字转整数

☞梦想进大厂的一只程序猿☜☞期望毕业前力扣刷够400题☜☞正在复习数据结构和算法☜☞正在JAVA培训中☜☞博客地址:https://www.huangliangshuai.com/☜1. 题目描述2. 题目分析一开始想的是,直接利用字符串进行模拟,当遇到 I、X、C 时,判断后面是不是为题目中的几个字母(前提保证i+1 < length),如果是的话,直接用后面的数字减去前面的数字,这样的话,ifelse判断比较多,不算是最佳的方案最佳方案:我们用一个hashmap来存储他的映.

2020-08-06 21:07:09 364

原创 【二叉树】199. 二叉树的右视图

1. 题目描述2. 题目分析在很多的面经中看到过这种题,今天有空做了做让你求二叉树的左视图或者右视图,我们可以直接层次遍历,对于层次遍历,参考这道题–102. 二叉树的层次遍历, 我们只需要取出每次层次遍历的第一个数或者最后一个数,存进list中,最后输出这个题目的关键思想是在:int len = quene.size(); for(int i = 0; i < len; i++){}3. 题目代码class Solution { public List<Integer

2020-08-06 20:50:21 1095

原创 【二叉树】 Same-tree

1. 题目描述给出两个二叉树,请写出一个判断两个二叉树是否相等的函数。判断两个二叉树相等的条件是:两个二叉树的结构相同,并且相同的节点上具有相同的值。2. 题目分析1. 这个题目最简单的方法就是用递归来做 if(p == null && q == null){ return true; }else if(p == null || q == null){ return false; .

2020-08-04 21:08:23 206

原创 【面试小知识】带你深入了解二叉树的前中序遍历

☞梦想进大厂的一只程序猿☜☞期望毕业前力扣刷够400题☜☞正在复习数据结构和算法☜☞正在JAVA培训中☜☞博客地址:https://www.huangliangshuai.com/☜引言 本文主要讲述关于二叉树的四种遍历:前序、中序、后序、层次遍历,其中前序、中序、后序分别以递归和迭代的两种解法去讲解二叉树的前序遍历作为二叉树的前序遍历,我们先来看看下面这棵二叉树:前序遍历:根节点——>左子树——>右子树所以,这棵二叉树,他的...

2020-08-04 09:01:45 553 2

原创 【面试知识点】一文带你深入了解HashMap

HashMap的底层原理:1.7 数组+链表1.8 数组+链表+红黑树面试官:HashMap的存储原理:在数组里面,我们存着Key-Value这样的实例在java7中叫做Entry,在java8当中叫做Node在插入的时候,他会根据key的hash去计算一个index(下标),然后存储每个节点(Ebtry、Node),包括了hash值(通过hash计算出来的)、key的值、Value的值以及next(指向下一个节点)面试官:在我们节点插入链表的时候,是怎么..

2020-08-01 14:13:09 1059 2

空空如也

空空如也

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

TA关注的人

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