![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 50
天青色等烟雨007
佛系女孩
展开
-
OSI七层网络模型
七层模型结构 每一层为什么要出现? 1、物理层:实现两台机器之间的互联,机器和机器之间要通信就要通过物理层去实现 2、数据链路层:将010101的比特流编程有意义的数据,并且确认这个数据是发给我自己的 3、网络层:主机A-B,主机C,D,E-主机F,路径很多条,怎么选择最优路径?要怎么知道对方的MAC地址,这些都要靠网络层实现 4、传输层:发送数据特别多,数据包很大,需要很长的时间,中间网络的终端情况,确保数据包是完整的和正确的,这些都要在传输层上实现 5、会话层:断点续传功能 6、表示层:操作系统、wi原创 2021-02-02 12:40:00 · 265 阅读 · 0 评论 -
组合总和II
题目来源 组合总和II 题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。 说明:1)所有数字(包括目标数)都是正整数。 2)解集不能包含重复的组合。 题目解答(递归+回溯+哈希) 使用递归函数dfs(pos,res)来进行递归,pos表示在数组的第pos位,res表示剩下的要组合的数之和,由于数组中的数字在组合中只能使用一次,所以使用hashMap原创 2021-01-18 14:08:27 · 99 阅读 · 0 评论 -
mybatis连接数据库错误解决方法
前言 不论是在学习JDBC还是mybatis的时候,连接数据库总是出错。数据库名称和密码都是正确的,程序也没问题,网上百度了各种方法,最终找到了自己的错误所在,就记录下来,如果有帮助到你的话,记得点个赞哦 错误所在 首先错误所在,3306端口被占用了,所以解决方案就是找到是哪个任务占用了3306端口并且关闭它,就可以成功的解决问题啦 解决过程 1、命令行查看是哪个任务占用了3306端口,找到对应的PID,使用netstat -ano命令查看端口使用详情,然后找到占用3306端口的Pid为15628 2、打原创 2021-01-06 16:27:47 · 2519 阅读 · 2 评论 -
Mybatis
什么是Mybatis? Mybatis是一个基于java的持久层框架。Mybatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO),他消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。 Mybatis使用简单的XML或注解用于配置和原始映射,将接口和java的POJOs映射成数据库中的记录 Mybatis的工作原理 Myabtis的核心组件 SqlSessionFactoryBuilder(构造器):它会根据配置或者代码来生成SqlSessionFact原创 2021-01-06 11:42:51 · 550 阅读 · 0 评论 -
Spring实例化Bean的三种方法
认识Bean Spring容器可以被看作一个大工厂,而Spring容器中的Bean就相当于该工厂的产品。如果希望这个大工厂能够生产和管理Bean,这是则需要告诉容器需要哪些Bean,以及需要何种方式将这些Bean装配到一起 xml配置文件 Spring配置文件支持两种不同的格式,分别是xml文件格式和Properties文件格式。 xml格式配置文件的根元素是,该元素包含了多个子元素,每一个子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中。 关于bean 定义Bean的示例代码如下原创 2020-12-29 15:40:42 · 355 阅读 · 0 评论 -
Spring依赖注入的两种实现方式
控制反转 依赖注入和控制反转含义相同,他们是从两个角度描述的同一个概念 当某个java实例需要另一个java实例时,传统的方法是由调用者创建被调用者的实例(使用new关键字获得被调用者实例),而使用Spring框架后,被调用者的实例不再由调用者创建,而是由Sping容器创建,这成为控制反转。 依赖注入 Spring容器在创建被调用者的实例时,会自动将调用者需要的对象实例注入给调用者,这样,调用者通过Spring容器获得被调用者实例,这称为依赖注入。 依赖注入有两种实现方式:分别是setter注入和构造方法注原创 2020-12-29 10:18:43 · 1502 阅读 · 0 评论 -
初识Spring
Spring是什么 相关概念 Spring是另一个主流的java W开发框架,它是一个轻量级的应用框架,以Ioc(控制反转)和Aop(面向切面编程)为内核 Spring的优点 1)方便解耦,简化开发 Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给Spring管理 2)方便集成各种优秀框架 Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的直接支持 3)降低Java EE API的使用难度 Spring对Java EE开发中非常难使用的一些API都提供了封装,使这些API原创 2020-12-28 16:33:53 · 73 阅读 · 1 评论 -
LinkeHashMap
认识LinkedHashMap 在集合中,除了常用的HashMap,还有LinkedHashMap.我们在迭代HashMap的时候是无序的,我们希望有一个有序的map来方便我们的使用,这个时候就有了LinkedHashMap. 首先,LinkedHashMap通过维护一个运行于所有条目的双向链表,保证了集合元素迭代的顺序,这个顺序可以是插入顺序或者访问顺序. LinkedHashMap就是hashmap和linkedlist的结合,可以理解为将entry结点存储在双向链表中,下面是定义: 可以看出,它既继原创 2020-09-01 16:31:36 · 304 阅读 · 0 评论 -
valueOf()和endWiths方法的使用
valueOf()方法 String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 ,也就是 String.valueOf() 这个参数多载的方法 有以下几种 (1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 (2)String.valueOf(char c) : 将 char 变量 c 转换成字符串 (3)String.valueOf(char[] data) : 将 char 数组 data 转换成字符串 (4)Str原创 2020-07-13 14:21:05 · 418 阅读 · 0 评论 -
第一趟快排之后的结果
答案为:B 解析 第一步:先从后往前找到比30小的值与30交换得到:10,15,40,28,50,30,70 第二步:再从前往后找到比30大的值与30交换得到:10,15,30,28,50,40,70 第三步:重复第一步和第二步,直到基准值左边的数据全部小于基准值,右边的数据全部大于基准值,得到:10,15,28,30,50,40,70 ...原创 2020-07-01 13:35:19 · 559 阅读 · 0 评论 -
MYSQL表的增删改查(进阶)
数据库约束 1.约束类型 1)NOT NULL:指示某列不能存储NULL值 2)UNIQUE:保证某列得每行必须拥有唯一的值 3)DEFAULT:规定没有给列赋值时的默认值 4)PRIMARY KEY:NOT NULL和UNIQUE的结合,确保某列(或两个列多个列的结合)有唯一标识 5)FORIENGN KEY:保证一个表中的数据匹配另一个表中的值的参照完整性 6)CHECK:保证列中的值符合指定的条件 2.NULL约束 创建表时,可以指定某列不为空: create table student( id原创 2020-06-28 16:29:07 · 179 阅读 · 0 评论 -
MYSQL表的增删改查(基础)
新增 1、语法:insert into 表名(属性名)values (插入的值) 1、单行数据+全列插入 2.多行数据+指定列插入 多行数据之间用逗号隔开 查询 1、语法: 2、原创 2020-06-24 17:22:41 · 118 阅读 · 0 评论 -
==、equals和hashCode
定义 1、关于“==”,比较值是否相等 1)如果作用于基本数据类型的变量,直接比较存储的值是否相等 2)如果作用于引用类型的变量,比较的是所指向的对象的地址 2、对于equals方法,不能作用1于基本数据类型的变量,继承自Object类,比较两个引用是否指向同一个对象 1)如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址 2)String,Date灯等类对equals方法进行了重写,比较的是引用指向对象的内容 3、 hashCode()方法给对象返回一个hash code值。这原创 2020-06-23 11:40:30 · 161 阅读 · 0 评论 -
基于搜索的数据结构——哈希表(进阶)
搜索 1.什么是搜索? 2.搜索面临的问题? 1)尽可能快的查到结果 2)数据集合还需要适应变化(数据集合的数据是可能实时变化着的) 3.搜索中存在的模型 3.设计专门的数据结构来解决搜索(查找)问题 哈希表背后的机制 1.hash表就是利用了数组的访问下标是O(1)的性能,把在大数据集中查找的问题,转化为在多个小数据集中查找。如下图,要在500万个数中查找,数据集明显很大,此时我们可以转换为小数据集,然后根据下面的步骤进行查找 2、所以接下来要做的就是: 1)拿着key确定应该是哪个小集合的问题:原创 2020-06-22 18:28:59 · 191 阅读 · 0 评论 -
反射、枚举、lambda表达式
反射 1、定义 反射就是程序运行时来获取到某个类或者某个对象的更多的详细信息(包括但不限于)类包含了哪些属性,以及属性的名字,参数和访问权限,类包含了哪些方法,以及发昂发的名字和参数,类的构造方法以及构造方法的参数。 2、用途 反射就是让我们在程序运行时获取一些信息 。是一种双刃剑,不到万不得已,不要使用反射 3、反射相关的类 1)Class类:代表类的实体,在运行的Java应用程序中表示类和接口 2)Field类:代表类的成员变量/类的属性 3)Method类:代表类的方法 4)Constructor类原创 2020-06-18 16:36:42 · 261 阅读 · 0 评论 -
哈希表(初识)
哈希表 1、哈希表也叫散列表,依赖了数组下标的随机访问能力,实现了更高效的查找 2、哈希函数: 一种存储结构,通过某种函数使元素的存储位置与它的关键码之间能够建立一一对应的一种关系,那么在查找的时候通过该函数能够很快找到该元素,这种函数叫做哈希函数,构造出来的表叫做哈希表(散列表) 3、当两个key不同的元素,经过计算得到的hash值相同,此时就出现了“hash冲突” 4、解决哈希冲突的方法:闭散列,开散列 闭散列 1.核心思路:在冲突位置开始往后找到一个合适的位置来存放这个冲突的值,当前时采用闭散列中原创 2020-06-16 17:15:25 · 235 阅读 · 0 评论 -
二叉搜索树
二叉搜索树 二叉搜索树是一种特殊的二叉树,TreeSet,TreeMap的底层实现结构 1)根节点的左子树的值都比根节点的值小 2)根节点的右子树的值都比根节点的值大 中序遍历二叉搜索树,得到的是一个有序序列 最核心的用途:用来查找元素 3.二叉树的操作:查找,插入,删除 插入操作 public static class Node { int key; Node left; Node right; Node root=null;原创 2020-06-15 21:01:18 · 227 阅读 · 0 评论 -
删数
有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。 题目来源:删数 解题思路::这里我们用到了集合ArrayList,存放n个数,且都是从0到n-1的数字。因为每次删除的都是当前位置的后面第2个,那么我们就可以这样写(原创 2020-06-11 19:37:02 · 462 阅读 · 0 评论