自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java面经信息总结

快手后端11号面经来源-----2021 快手后端开发秋招面试总结9.22 号 一面 (56min)自我介绍介绍一下Java中的集合类,主要讲了hashmap和correctHashMaphashmap的源码看过没,hashmap怎么扩容的concurrenthashmap的实现原理,在1.7版本和1.8版本的区别hashCode为什么要取余枚举类的优缺点抽象类和接口的区别tcp和udp的区别,三次握手讲一下死锁的原因,怎么避免mysql的隔离级别,mysql如何解决幻读redi

2021-03-26 16:15:34 309 1

原创 java数据结构之二叉树(3)

二叉搜索树的最小绝对差/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { int pre; int ans; public int getMinimum

2021-03-25 20:27:42 122

原创 java数据结构之二叉树(2)

对称二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode righ

2021-03-24 17:14:13 129

原创 java数据结构之二叉树(1)

二叉树的前中后序遍历-递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeN

2021-03-22 09:26:57 117 1

原创 BIO/NIO/AIO的区别

BIO(Blocking I/O):同步阻塞I/O模式,数据的写入和读写必须在一个线程内等待其完成,在并发不高的情况下,这种模式较好,可以让每一个连接专注于自己的I/O并且编程模型简单,也不用考虑系统的过载,限流等问题。线程池本身就是一个天然的漏斗,可以缓冲一些系统处理不了的连接和请求。但是当面对十万甚至百万级别的连接的时候,传统的BIO是模型是无能为力的。因此我们需要一种更高效的I/O处理模型来应对更高的并发量。NIO(Non-blocking/New I/O):NIO是一种同步的非阻塞的I/O模型,.

2021-03-20 17:31:16 96

原创 java数据结构之栈与队列

用栈实现队列class MyQueue { Deque<Integer> instack; Deque<Integer> outstack; /** Initialize your data structure here. */ public MyQueue() { instack = new LinkedList<>(); outstack = new LinkedList<>();

2021-03-20 14:58:38 154

转载 java数据结构之字符串单章(KMP)

什么是KMPKMP的主要思想是:当出现字符串不匹配的时候,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免再从头去做匹配了。所以如何记录已经匹配的文本内容是KMP的重点,也是next数组重要任务。什么是前缀表next数组就是一个前缀表(prefix table)。**前缀表作用**:前缀表是用来回溯的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里重新匹配KMP详解,《==========请点这里...

2021-03-19 11:25:57 64

原创 java数据结构之字符串

字符串反转字符串class Solution { public void reverseString(char[] s) { int n =s.length; for( int left=0,right=n-1;left<right;left++,right--){ char temp = s[right]; s[right]=s[left]; s[left]=temp; } }}反转字符串2cla

2021-03-18 19:49:53 174

原创 java数据结构之哈希表

什么时哈希表哈希表是根据关键码值(key-value)而直接进行访问的数据结构,它通过把关键码值映射到表的一个位置来访问记录,以加快查找的速度直接来说数组就是一张哈希表我们可以通过索引值对元素进行查找常见的三种哈希结构数组set集合map(映射)当我们遇到了一个要判断一个元素是否出现在集合里的时候,就要考虑哈希法了但是哈希法是牺牲空间换取时间的,因为我们要使用额外的数组,set,map来存放数据,才能实现快速的查找。哈希表之有效的字母异位词tip:数组是简单的哈希表,但是数组的大

2021-03-18 11:24:14 215

原创 java数据结构之链表

链表那什么是链表,链表是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由结点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域链表的分类单链表双链表循环链表链表特点因为指针域的存在,链表的增添和删除都是O(1)的操作,也不会影响到其它节点,但查找的时候较复杂,需要从头节点开始查找,根据下一个节点的位置依次进行查找,因此链表的删除,查找操作是O(n)的操作移除链表元素听说用了虚拟头结点,再也不担

2021-03-17 15:55:58 67

原创 java数据结构之数组

数组:数组下标都是从0开始的数组内存空间的地址是连续的正是因为数组内存空间的地址是连续的所以我们在删除或者增添元素的时候,就难免要移动其它元素的地址。(一维数组的增删操作时间复杂度为O(n),所以数组不适合做频繁的增删操作)(二维数组不是连续的m*n的地址空间)二分查找法二分查找发使用的基础就是数组必须是有序的 。 并且当存在重复元素的时候使用二分查找法返回的元素下标可能不是唯一的。二分法,一看就会,一写就废。仔细体会。当什么时候写 while(left<=right)

2021-03-17 10:35:30 250 1

原创 过滤器解决乱码问题环境配置

<filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param

2021-03-11 10:16:54 58

原创 Springmvc 父工程依赖包

<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency&g...

2021-03-10 21:47:21 96

原创 Springmvc WEB.XML环境配置

<?xml version="1.0" encoding="UTF8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/ja

2021-03-10 21:46:01 72

原创 注解式 Springmvc 三大核心环境配置

<?xml version="1.0" encoding="UTF8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="ht

2021-03-10 21:44:50 131

原创 Mybatis-Spring spring-dao.xml 整合环境

<?xml version="1.0" encoding="UTF8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://ww

2021-03-10 10:00:00 78

原创 build target文件生成 mybatis环境配置

<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> ...

2021-03-09 21:43:53 216

原创 Mybatis核心配置 xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <environments default="development"> <environmen

2021-03-09 21:37:37 105

原创 Mybatis IDEA 环境整合 jar包

<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency&g...

2021-03-09 21:34:55 324

转载 2021-03-03

内置注解

2021-03-03 10:24:14 58

原创 TCP报文的首部格式

TCP: 长度不一;TCP:协议是能够实现数据的分段传输,流量控制,可靠传输,拥泵控制等功能,因此TCP报文的首部要比UDP的报文首部字段要多,并且首部长度不固定。2个字节所能表达的数:65536 端口号范围是0~65535. 2^16=65536TCP的分用功能是通过端口实现的。4*8=32.数据偏移:用来指明TCP首部的部分确认号:占4个字节,是期望收到对方下一个报文段的第一个数据字节的序号TCP协议能够实现可靠传输,接收方收到几个数据包后,就会给发送方一个确认数据包,告诉发

2021-02-27 20:58:37 1081

原创 传输控制协议TCP

TCP协议的主要特点TCP是面向连接的传输层协议,这就是说,应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。这就是说,应用进程之间的通信好像是在打电话,同花钱需要先拨号建立连接,通话结束后要挂机释放连接。每一条TCP连接只能有两个断点,每一条TCP连接只能是点对点(一对一)。TCP提供可靠的交付服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按顺序发送。TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能够发送数据

2021-02-27 16:57:22 64

原创 UDP的首部格式

UDP的首部包括四个字段 源端口,目标端口,长度,检验和 ,每个字段的长度是两个字节,一共八个字节伪首部包括 源地址,目标地址,UDP数据长度,协议类型(0x11)协议类型就一个字节,但需要补一个字节(全0 0x0)构成12 个字节。计算UDP检验和的例子...

2021-02-27 16:31:10 8043

原创 TCP 和UDP的应用场景

TCP 和UDP的应用场景网路中计算机通信无外乎有两种情况TCP :适用于发送的文件多,需要将发送的内容分成多个数据包进行传输。【 需要分段,编号,流量控制,拥泵控制,可靠传输的功能。客户端与服务器建立TCP连接(协商参数:选择确认性,最大报文),通信结束后,需要释放连接】【适用场景例如:电影下载,文件下载】UDP 要发送的内容少,只需要一个数据包就能够全部发送。【适用场景:QQ聊天,语音聊天,流媒体(不需要控制,不需要分段,传输是否完成全靠应用层进行判断,不需要建立连接,节省服务器资源)】【实时的

2021-02-26 22:22:45 2073

转载 9、规范数据库

9.1 为什么需要设计9、规范数据库设计当数据库比较复杂的时候,我们就需要设计了糟糕的数据库设计:数据冗余,浪费空间数据库插入和删除都会麻烦,异常【屏蔽使用物理外键】 程序的性能差良好的数据库设计:节省内存空间保证数据库的完整性方便我们开发系统软件开发中,关于数据库的设计分析需求:分析业务和需要处理的数据库的需求概要设计:设计关系图 E-R图设计数据库的步骤(个人博客)收集信息,分析需求用户表(用户登录注销,用户的个人信息,写博客,创建分类)分类表(文章分类

2020-12-24 22:18:04 67

原创 8.数据库备份

8、权限管理备份8.1、用户管理SQL yog 可视化管理用户表 : mysql.user-- 创建用户CREATE USER guanghua IDENTIFIED BY '123456'-- 修改当前用户密码SET PASSWORD = PASSWORD('123456')-- 修改指定用户密码SET PASSWORD FOR guanghua = PASSWORD('123456')-- 重命名 RENAME USER guanghua TO guanghua2

2020-12-24 21:45:20 52

原创 7、索引

7、索引MYSQL 官方对索引的定义为:索引(Index)是帮助Mysql高校获取数据的数据结构,提取句子主干,就可以得到索引的本质:索引是数据结构。7.1、索引的分类在一个表中 主键索引只能有一个 ,唯一索引可以有多个主键索引 (primary key)唯一标识,主键不可重复,只能有一个主键唯一索引(unique key)避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引常规索引(key/index)默认的 index key关键字来设置全文索引

2020-12-24 20:26:36 66

原创 6.事务

6、事务6.1、什么是事务要么都成功,要么都失败一一一一一一一一一一一一一一一一一一一一一1、SQL执行 A给B转账 A 1000 —>200 B 2002、SQL执行 B收到A的钱 A 800 一一>B 400一一一一一一一一一一一一一一一一一一一一一一一一一一一一一将一组SQL放在一个批次中去执行事务:有一个原则(ACID) 原子性 一致性 隔离性 持久性 (脏读,幻读)原子性(Atomicity)要么都成功,要么都失败一致性事务前后的

2020-12-23 20:16:54 71

原创 5.MySQL函数

5、MySQL函数mysql函数和运算符参考5.1、常用函数5.2、聚合函数

2020-12-23 19:34:16 59

原创 4、DQL查询数据

4、DQL查询数据(最重点)4.1 DQL(Data Query Language:数据查询语言)所有的查询操作都用它,select简单的查询,复杂的查询它都能做数据库的最核心的语言,最重要的数据使用频率最高的语句4.2、指定查询字段-- 查询全部的学生 select 字段 from 表SELECT * FROM studentSELECT * FROM result-- 查询指定字段SELECT `studentno`,`studentname` FROM student

2020-12-21 21:20:14 123 1

原创 3.mysql数据管理

3、mysql 数据管理3.1、 外键(了解)方式一、在创建表的时候,增加约束(麻烦,比较复杂)CREATE TABLE `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAR(50) NOT NULL COMMENT '年级名称', PRIMARY KEY (`gradeid`))ENGINE=INNODB DEFAULT CHARSET=utf8-- 学生表的id字段

2020-12-19 10:00:19 93 1

原创 2.操作数据库

2.操作数据库操作数据库---->操作数据库的表----->操作数据库中表的数据== SQL语言不区分大小写 ==2.1操作数据库1、创建数据库CREAT DATABASE IF NOT EXISTS westos --创建westoss数据库```2、删除数据库```DROP DATABASE IF EXISTS westos -- 删除westoss数据库```3、使用数据库tab键的上面,如果你的表的名子或者字段名是一个特殊字符,就需要带` `. 例如`use

2020-12-17 21:30:33 64

原创 1. 初识mysql

1.初识MySQLJavaEE:企业级java开发前端(页面:展示,实质是数据的展示)后端(连接作用,链接数据库JDBC,链接前端(控制,控制视图的跳转,给前端传数据))数据库: 存数据、TXT EXCEL WORD1.1、为什么学习数据库1、岗位需求2、现在的世界,是一个大数据时代~,得数据者得天下3、被迫需求:存数据4、数据库是所有软件体系中最核心得存在1.2、什么是数据库数据库(DB、DataBase)概念:数据仓库,软件,安装在操作系统(window,linux,mac,)之

2020-12-16 15:04:22 123

转载 Java学习路径

2020-12-15 22:16:00 46

原创 static详解

有static修饰的方法和字段与没有static修饰的方法和字段的区别本人的一点小理解:我们都知道java在使用变量时,必须要先定义一个变量,才能够使用,进行操作。在java程序中用static 描述的方法和字段(属性)是跟类一同加载的,也就是说在创建一个类时,用static描述的方法和字段也就一同被创建了,因此在接下来的使用中可以不用new一下。而直接在main方法或者其他方法中对使用,用static修饰的方法和字段。而没有用static描述的方法和字段,在其他地方使用时必须先要new一下。因为从加

2020-12-15 19:37:04 117

转载 Java的三大特性

JAVA的三大特性封装该露的露,该藏得藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类得内部得数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量得方法给外部使用。封装(数据得隐藏)通常禁止直接访问一个对象中数据得实际表示,二十通过操作接口来访问,这称为信息隐藏属性私有,get/set封装的意义1 提高程序得安全性,保护数据2 隐藏代码得实现细节3 同一结构4 提高程序的可维护性继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模ex

2020-12-15 17:31:19 56

转载 面向对象

初识面向对象面向过程思想步骤清晰简单,第一步、第二部。。。。面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题!对于描述复杂的事物,为了从宏观上的把握、从整体上合理的分析,我们需要使用面向对象的思路来分析整个系统。但是具体到微观操作,仍然需要面向过程的思路去处理。什么是面向对象面向对象编程

2020-12-15 15:14:32 71

原创 重载,递归,数组,数组的特点

重载,递归,数组,数组得到特点

2020-12-15 11:11:06 82

转载 JAVA的几种运行结构

顺序结构JAVA的基本运行结构,除非特别指明数据则一行一行执行选择结构if单选择结构判断一个东西是否可行,可行择执行否则跳过不执行if双选择结构if多选择结构循环结构while循环先判断后执行do while循环先循环后判断,保证篇循环体至少执行一次for循环是最有效、最灵活的循环体print 与println的区别print输出完不会换行、println输出完会自动换行...

2020-12-14 21:03:43 165

转载 Scanner中next与nextLine之间的区别

JAVADOCScannerjava.util.Scanner 获取用户的输入next()一定要读取的有效字符后才会结束会忽略到输入有效字符前的空白符号以空白符号为结束符,或分隔符next不能得到有空白的字符串nextLine()以Enter作为结束符,可以输出 输入回车之前的所有字符可以获得含有空白的字符串...

2020-12-14 17:16:09 97

空空如也

空空如也

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

TA关注的人

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