- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Java 集合(五)| 集合面试汇总
文章目录一、HashMap面试汇总1.谈一下HashMap的数据结构2.hash冲突是什么,该如何避免3.HashMap中如何设计的hash算法4.hash()扰动函数为什么将hashcode右移16位?为什么要采用异或运算5.为什么JDK1.8中的HashMap要使用红黑树这个数据结构来存储数据6.为什么不直接使用红黑树,而是在达到一定的阈值后才转化7.为什么链表转化为红黑树的阈值为8,红黑树转化为链表的阈值为68.HashMap中哈希表的长度为什么要设计成2的幂次方9.HashMap中的key和valu
2020-07-04 23:32:47 582
原创 通过反编译深入理解Java枚举类型
文章目录通过反编译深入理解Java枚举类型1.枚举类底层原理1.1简单枚举类反编译-javap反编译-CRF1.2自定义枚举类1.3枚举类的其他特性2.switch对枚举支持原理通过反编译深入理解Java枚举类型1.枚举类底层原理1.1简单枚举类public enum Season { /** * 枚举类测试 */ SPRING, SUMMER, FALL, WINTER}反编译-javap先用javap反编译一下(注意不带-c参数),看看编译器生成的枚
2021-03-11 21:33:10 978 1
原创 Java 面试(四)| Java多线程部分
文章目录Java多线程1.解释线程安全问题表现在哪三个方面2.Synchronized如何保证原子性、可见性、有序性3.volatile能保证什么特性?是怎么保证的?4.volatile为什么不能保证原子性5.volatile和synchronized的比较6.线程状态和wait、join、sleep、yield的区别7.线程和进程的区别8.Thread类的start方法和run方法区别?为什么不直接运行run方法?9.Runnable接口和Thread类的关系10.Runnable接口和Callable接
2020-12-20 16:20:08 224
原创 Java 面试(三)| TCP面试部分
文章目录TCP面试知识点1.TCP和UDP的区别2.TCP的报头结构3.三次握手过程4.为什么不是两次握手?5.为什么不是四次握手?6.三次握手过程中可以携带数据吗?7.四次挥手过程8.CLOSE-WAIT和TIME-WAIT的区别9.等待2MSL的意义9.为什么是四次挥手而不是三次?10.TCP中半连接队列和SYN Flood攻击的关系11.TFO快速打开原理12.TCP的流量控制13.TCP的拥塞控制14,Nagle算法和延迟确认15.如何理解 TCP 的 keep-alive?TCP面试知识点1.
2020-12-20 16:16:17 543
原创 Java 面试(二)| 详细的MySql面试部分
文章目录一、MySql面试-索引篇1.索引的优点2.索引的缺点3.什么样的字段适合创建索引4.什么样的字段不需要创建索引5.索引的分类6.创建索引语句7.删除索引8.查看索引9.索引原理分析10.聚集索引和非聚集索引11.为什么要使用组合索引12.覆盖索引13.查看执行计划14.索引失效的情况二、MySql面试-存储引擎篇1.MyISAM和InnoDB引擎的区别2.MyISAM是否一无是处三、MySql面试-基础和优化篇1.查询优化方法2.delete、drop、truncate的区别?3.MySQL 有哪
2020-12-13 23:40:02 739
原创 Java 面试(一) | Java基础部分
文章目录Java面试基础部分1.JDK和JRE的区别2.==和equals的区别3.两个对象equals比较为true,但却可以有不同的hashcode,对吗?4.String类相关5.&和&&的区别6.java中如何跳出多重嵌套循环7.重载和重写的区别?8.为什么不能根据返回类型来区分方法重载9.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里是值传递还是引用传递?10.char型变量中能否存储一个中文汉字,为什么?11.抽象(abs
2020-12-13 23:31:36 1028
原创 理解HTTP协议
文章目录一、HTTP简介二、HTTP主要特点三、HTTP传输1.请求路径2.请求方法四、HTTP报文结构五、HTTP状态码六、HTTP工作原理七、补充1.MIME Content类型一、HTTP简介HTTP:Hyper Text Transfer Protocol(超文本传输协议)用于:从万维网服务器传输超文本到浏览器的传送协议基于:TCP/IP协议属于:应用层超文本:包含指向其他文档的链接的文本,万维网是一个分布式的超媒体(hypermedia)系统,它是超文本系统的扩充二、HTTP主要
2020-08-09 00:13:36 417
原创 IP地址的编址方法 | 分类IP地址 | 划分子网 | 构造超网
文章目录一、IP地址及其表示方法1.分类的IP地址2.常用的三种类别的IP地址一、IP地址及其表示方法IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位的标识符。IP地址的编址方法经过了3个阶段:分类的IP地址子网的划分构成超网1.分类的IP地址IP地址由网络号和主机号组成,为了便于书写,将32位IP地址每8位用等效的十进制数字表示,并在这些数字间加上一个点,即点分十进制网络号:它标志着主机所连接到的网络,一个网络号在整个互联网范围内必须是唯
2020-08-06 22:59:48 5036
原创 Java 集合(四)| 各种常用集合类型的遍历输出 | Iterator接口讲解
文章目录一、Iterator接口1.接口历史2.Iterator接口作用3.Iteartor接口的remove()方法4.总结二、集合的遍历输出1.List的遍历2.Set的遍历3.Map的遍历一、Iterator接口在搞懂集合的遍历输出之前,先清楚下Iterator接口是有必要的1.接口历史从Collection接口的继承关系中可以看出,Collection接口继承了Iterable接口...
2020-05-08 12:15:31 799
原创 Java 集合(三)| Map和HashMap详解 | 底层结构和源码深入分析(JDK1.8)
文章目录一、Map接口1.接口简介2.接口中的常用方法3.Map.Entry内部接口二、HashMap实现类1.哈希表2.HashMap底层结构一、Map接口1.接口简介Map的意义Map接口和Collection接口在集合中可以看成同一级别的接口,但Collection接口中保存的的数据全是单个对象,而在数据结构中除了可以对单个对象进行保存之外,还可以对二元偶对象(key:value键值...
2020-05-07 18:34:10 439
原创 Java 中hashCode() 、equals() 和==深入解析
文章目录一、==和equals()1.面试题:==和equals()有什么区别?2.equals方法存在的意义二、equals()和hashcode()1.面试题:两个对象的hashcode()相同时,它们进行equals()比较返回一定为true吗?一、==和equals()1.面试题:==和equals()有什么区别?最大不同equals是方法,==是运算符= =基本类型:比较值...
2020-05-05 20:46:46 531 2
原创 Java 集合(二)| List和ArrayList源码解析
文章目录一、List接口二、ArrayLIst(JDK1.8)1.继承关系2.核心属性3.构造器4.add方法(自动扩容分析)5.其他常用方法一、List接口简介List:有序集合(也称为序列 )。 用户使用该接口可以精确控制List中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。List是Collection的子接口,其最大的特点是允许保存有重...
2020-05-04 21:59:10 520
原创 Java 集合(一)| 集合和Collection接口简介
文章目录一、集合框架简介二、Collection接口简介一、集合框架简介起源从JDK1.2开始引入了集合框架,所谓集合,指的是一套动态数组的实现,我们的开发之中离不开数组,而传统的数组实现起来很繁琐,而且其长度不可变是致命缺陷,所以我们最初只能依靠一些数据结构来实现动态的数组处理,而最重要的两个数据结构就是链表和树,但是面对这些数据结构的实现必须面对如下问题:数据结构的代码实现是很困难...
2020-05-04 13:10:11 214
原创 Java 深入理解StringBuilder和StringBuffer 自动扩容分析
文章目录一、StringBuilder1.继承关系2.构造器3.append方法(自动扩容原理)4.其他方法二、StringBuffer和StringBuilder的区别一、StringBuilder1.继承关系可见StringBuilder直接继承至AbstractStringBuilder2.构造器1)StringBuilder的构造器public StringBuilder()...
2020-03-18 16:09:54 1479 3
原创 Java 基本类型和包装器类型 自动装箱和拆箱
文章目录一、基本数据类型和包装器类型二、关于自动装箱和拆箱1.自动装箱2.自动拆箱三、自动装箱过程中的对象创建问题四、包装类和基本类型的混合比较1.==比较2.equals比较五、补充1.boolean类型到底占多少字节2.装箱拆箱
2020-03-17 18:54:45 508
原创 Java 的编译性和解释性
文章目录一、编译型和解释型语言1.编译型语言2.解释型语言二、Java运行机制1.图解2.跨平台原理三、编译型还是解释型四、补充:JVM中的JIT1.关于JIT2.特点一、编译型和解释型语言1.编译型语言1)概念:在特定的平台使用专门的编译器,将该语言代码编译成可被该平台硬件执行的机器码,并包装成可被该平台识别的可执行文件形式2)特点:a.一次编译,永久执行,运行效率高b.平台有关,...
2020-03-12 12:02:35 745
原创 Java servlet service方法 源码深入解析 接收浏览器请求流程
文章目录1.servlet的存在意义2.service方法的剖析3.service方法的调用总结1.servlet的存在意义 1.servlet的实现遵循了服务器能够识别的规则,也就是服务器会自动根据请求调用对应的servlet方法进行处理 2.狭义的servlet是指java实现的一个接口,广义的servlet是实现了这个servlet接口的类 3.servlet运行在支持java的应用...
2020-02-26 20:49:26 496
原创 SSM框架 执行流程
文章目录SSM框架执行流程浏览器请求时SSM执行流程SSM框架执行流程1.简单项目目录示例图:2.流程: 1.启动web服务器 2.web服务器会先加载web/WEB-INF/web.xml文件 3.读取web.xml中的spring和springMVC配置项 4.首先读取spring配置文件(spring_database.xml) 5.扫描所有的mapper指向路径(纳入sp...
2020-02-26 12:48:59 1343
原创 Java 接口 修饰符 详解
Java接口1.定义 1.规范:public abstract interface 接口名 2.简写:public interface 接口名注意:public也可省略,但是只是在同一包下起作用,这样声明接口似乎违背了接口创建的意义,即不能被其他任意位置类实现,因此不建议省略public2.方法 1.规范:public abstract 返回类型 方法名([参数]); 2.简写...
2020-02-25 20:45:23 1360
原创 Python 可迭代对象、for循环、迭代器与生成器详解
导语可迭代对象一、概念二、可作用于for循环的可迭代对象三、自定义可迭代对象实例四、可迭代对象的for循环机制迭代器一、概念二、内部实现方法三、与可迭代对象的比较三、实例四、迭代器的for循环机制生成器一、概念二、生成器表达式三、生成器函数四、yield总结
2019-08-24 19:20:55 949
原创 项目实战 | Python爬虫+PythonWeb+百度AI:前后端实现一个简单的“智能菜谱”网站
文章目录导语项目目的知识储备实现环境开始项目一、Python爬虫1.爬取目标2.网页结构分析3.代码结构分析4.存入数据库5.实现二、人工智能1.登录获取相关信息2.查看帮助文档3.应用到web中三、Python Web1.网站整体布局分析2.路由和视图设计3.读取数据库4.实现项目预览项目收获
2019-08-22 11:27:31 4060
Idea中maven项目ssm框架模板.rar
2020-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人