
学习笔记
文章平均质量分 50
天青色等烟雨007
佛系女孩
展开
-
OSI七层网络模型
七层模型结构每一层为什么要出现?1、物理层:实现两台机器之间的互联,机器和机器之间要通信就要通过物理层去实现2、数据链路层:将010101的比特流编程有意义的数据,并且确认这个数据是发给我自己的3、网络层:主机A-B,主机C,D,E-主机F,路径很多条,怎么选择最优路径?要怎么知道对方的MAC地址,这些都要靠网络层实现4、传输层:发送数据特别多,数据包很大,需要很长的时间,中间网络的终端情况,确保数据包是完整的和正确的,这些都要在传输层上实现5、会话层:断点续传功能6、表示层:操作系统、wi原创 2021-02-02 12:40:00 · 350 阅读 · 0 评论 -
组合总和II
题目来源组合总和II题目描述给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:1)所有数字(包括目标数)都是正整数。 2)解集不能包含重复的组合。题目解答(递归+回溯+哈希)使用递归函数dfs(pos,res)来进行递归,pos表示在数组的第pos位,res表示剩下的要组合的数之和,由于数组中的数字在组合中只能使用一次,所以使用hashMap原创 2021-01-18 14:08:27 · 130 阅读 · 0 评论 -
mybatis连接数据库错误解决方法
前言不论是在学习JDBC还是mybatis的时候,连接数据库总是出错。数据库名称和密码都是正确的,程序也没问题,网上百度了各种方法,最终找到了自己的错误所在,就记录下来,如果有帮助到你的话,记得点个赞哦错误所在首先错误所在,3306端口被占用了,所以解决方案就是找到是哪个任务占用了3306端口并且关闭它,就可以成功的解决问题啦解决过程1、命令行查看是哪个任务占用了3306端口,找到对应的PID,使用netstat -ano命令查看端口使用详情,然后找到占用3306端口的Pid为156282、打原创 2021-01-06 16:27:47 · 2593 阅读 · 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 · 600 阅读 · 0 评论 -
Spring实例化Bean的三种方法
认识BeanSpring容器可以被看作一个大工厂,而Spring容器中的Bean就相当于该工厂的产品。如果希望这个大工厂能够生产和管理Bean,这是则需要告诉容器需要哪些Bean,以及需要何种方式将这些Bean装配到一起xml配置文件Spring配置文件支持两种不同的格式,分别是xml文件格式和Properties文件格式。xml格式配置文件的根元素是,该元素包含了多个子元素,每一个子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中。关于bean定义Bean的示例代码如下原创 2020-12-29 15:40:42 · 397 阅读 · 0 评论 -
Spring依赖注入的两种实现方式
控制反转依赖注入和控制反转含义相同,他们是从两个角度描述的同一个概念当某个java实例需要另一个java实例时,传统的方法是由调用者创建被调用者的实例(使用new关键字获得被调用者实例),而使用Spring框架后,被调用者的实例不再由调用者创建,而是由Sping容器创建,这成为控制反转。依赖注入Spring容器在创建被调用者的实例时,会自动将调用者需要的对象实例注入给调用者,这样,调用者通过Spring容器获得被调用者实例,这称为依赖注入。依赖注入有两种实现方式:分别是setter注入和构造方法注原创 2020-12-29 10:18:43 · 1551 阅读 · 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 · 97 阅读 · 1 评论 -
LinkeHashMap
认识LinkedHashMap在集合中,除了常用的HashMap,还有LinkedHashMap.我们在迭代HashMap的时候是无序的,我们希望有一个有序的map来方便我们的使用,这个时候就有了LinkedHashMap.首先,LinkedHashMap通过维护一个运行于所有条目的双向链表,保证了集合元素迭代的顺序,这个顺序可以是插入顺序或者访问顺序.LinkedHashMap就是hashmap和linkedlist的结合,可以理解为将entry结点存储在双向链表中,下面是定义:可以看出,它既继原创 2020-09-01 16:31:36 · 338 阅读 · 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 · 474 阅读 · 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 · 655 阅读 · 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 · 211 阅读 · 0 评论 -
MYSQL表的增删改查(基础)
新增1、语法:insert into 表名(属性名)values (插入的值)1、单行数据+全列插入2.多行数据+指定列插入多行数据之间用逗号隔开查询1、语法:2、原创 2020-06-24 17:22:41 · 146 阅读 · 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 · 198 阅读 · 0 评论 -
基于搜索的数据结构——哈希表(进阶)
搜索1.什么是搜索?2.搜索面临的问题?1)尽可能快的查到结果2)数据集合还需要适应变化(数据集合的数据是可能实时变化着的)3.搜索中存在的模型3.设计专门的数据结构来解决搜索(查找)问题哈希表背后的机制1.hash表就是利用了数组的访问下标是O(1)的性能,把在大数据集中查找的问题,转化为在多个小数据集中查找。如下图,要在500万个数中查找,数据集明显很大,此时我们可以转换为小数据集,然后根据下面的步骤进行查找2、所以接下来要做的就是:1)拿着key确定应该是哪个小集合的问题:原创 2020-06-22 18:28:59 · 253 阅读 · 0 评论 -
反射、枚举、lambda表达式
反射1、定义反射就是程序运行时来获取到某个类或者某个对象的更多的详细信息(包括但不限于)类包含了哪些属性,以及属性的名字,参数和访问权限,类包含了哪些方法,以及发昂发的名字和参数,类的构造方法以及构造方法的参数。2、用途反射就是让我们在程序运行时获取一些信息 。是一种双刃剑,不到万不得已,不要使用反射3、反射相关的类1)Class类:代表类的实体,在运行的Java应用程序中表示类和接口2)Field类:代表类的成员变量/类的属性3)Method类:代表类的方法4)Constructor类原创 2020-06-18 16:36:42 · 320 阅读 · 0 评论 -
哈希表(初识)
哈希表1、哈希表也叫散列表,依赖了数组下标的随机访问能力,实现了更高效的查找2、哈希函数: 一种存储结构,通过某种函数使元素的存储位置与它的关键码之间能够建立一一对应的一种关系,那么在查找的时候通过该函数能够很快找到该元素,这种函数叫做哈希函数,构造出来的表叫做哈希表(散列表)3、当两个key不同的元素,经过计算得到的hash值相同,此时就出现了“hash冲突”4、解决哈希冲突的方法:闭散列,开散列闭散列1.核心思路:在冲突位置开始往后找到一个合适的位置来存放这个冲突的值,当前时采用闭散列中原创 2020-06-16 17:15:25 · 324 阅读 · 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 · 262 阅读 · 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 · 492 阅读 · 0 评论