知识巩固
文章平均质量分 84
我是王德顺
德顺吃秤砣
展开
-
红黑树,B-树,B+树比较
平衡二叉树红黑树(时间复杂的 Olog(n)) 又叫自平衡二叉查找树所谓的自平衡是指在插入和删除的过程中,红黑树会采取一定的策略对树的组织形式进行调整,以尽可能的减少树的高度,从而节省查找的时间。红黑树的特性如下结点是红色或黑色 根结点始终是黑色 叶子结点(NIL 结点)都是黑色 红色结点的两个直接孩子结点都是黑色(即从叶子到根的所有路径上不存在两个连续的红色结点) 从任一结点到每个叶子的所有简单路径都包含相同数目的黑色结点以上性质保证了红黑树在满足平衡二叉树特征的前提下,.原创 2022-06-07 22:01:09 · 404 阅读 · 0 评论 -
java8----从永久带到元空间(Metaspace)
前言java里面垃圾回收效果最差的是永久代,而且永久代溢出也是一个非常常见的问题,从java7开始,原来存储于永久代的数据就不断的被移到其他位置,有不少数据都移动到了堆区,比如字符串常量池挪到了堆区,在java8最终将永久代移除,另外新增了一个区,也就是元空间(Metaspace),元空间承接了部分永久代的数据。本文接下来介绍元空间一、永久代永久代与元空间有千丝万缕的联系,首先来看一下永久代。永久代更规范的名字的叫做方法区,永久代是方法区的一种实现方式,方法区是java规范中定义的,只有h原创 2022-04-26 10:33:00 · 1141 阅读 · 0 评论 -
java虚拟机知识整理---pc寄存器
PC寄存器用来存储指向下一条指令的地址,也就是即将要执行的指令代码。由执行引擎读取下一条指令。原创 2022-04-22 15:09:29 · 425 阅读 · 0 评论 -
TCP/IP五层网络架构及OSI参考模型
OSI是Open System Interconnection的缩写,意为开放式系统互联,他是一个定义得非常好的协议规范。。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。1.原创 2021-12-14 14:45:43 · 2574 阅读 · 0 评论 -
设计模式总结--------调停者模式
目录1,使用场景2,准备工作2.1 person类2.2 Students类2.3 Teacher类3 调停者3.1 接口 MediatorInterface3.2 实现类:MasterJiImplMasterJiImpl类实现了调停者接口中的switchCall方法,对任意发过来的请求进行处理和转发,实现person对象之间的调用,这几个类的结构图如下4 演示先定义2个老师对象,3个学生对象,通过MasterJiImpl的addPers...原创 2020-11-08 09:52:21 · 302 阅读 · 0 评论 -
比较java枚举成员使用equal还是==
问题我知道Java枚举会被编译成一个包含私有构造参数和一堆静态方法的类,当去比较两个枚举的时候,总是使用equals()方法,例如:public useEnums(SomeEnum a){ if(a.equals(SomeEnum.SOME_ENUM_VALUE)) { ... } ...}除此之外,我也可以使用 == 替代equals() 方法public useEnums2(SomeEnum a){ if(a == Som原创 2020-08-28 11:15:27 · 397 阅读 · 0 评论 -
在一个千万级的数据库查寻中,如何提高查询效率?
1)数据库设计方面:a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0...原创 2020-08-20 09:45:22 · 908 阅读 · 0 评论 -
StringBuilder 详解
StringBuilder 字符串缓冲区原创 2020-01-06 16:36:29 · 187 阅读 · 0 评论 -
Get请求和Post请求的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻...原创 2019-10-24 07:58:52 · 211 阅读 · 0 评论 -
Java的IO流方法总结
目录一 IO流1、1 字节流、字符流1、1、1使用字节流实现文件复制1、2 缓冲流1、3 转换流1、4 序列化流1.5 打印流二 、总结:一 IO流Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。I 是输入(input)也叫做读取数据,O是输出(Output)也叫做作写出数据。 IO流根据数据的流向...原创 2019-08-26 22:03:14 · 457 阅读 · 0 评论 -
File类方法总结及使用Lambda表达式实现文件过滤
目录准备工作:在F:\blackhorse\mavenproject下创建FileIOUpload项目1、1 字段摘要1、2构造方法1、3静态成员方法1、4 常用方法1、5文件遍历小Demo1、6使用Lambda表达式实现文件过滤1、7总结:准备工作:在F:\blackhorse\mavenproject下创建FileIOUpload项目java....原创 2019-08-26 18:35:05 · 2222 阅读 · 0 评论 -
Java知识整理之 反射技术
当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现这个类,从而进行初始化。目录一、类加载的过程二、反射概述三、获取字节码文件四、Class对象的相关方法4-1 Constructor类4-1-2 Constructor类中的常用方法4-2、Method类4-2-2 Method类中的方法五、利用反射来证实泛型...原创 2019-07-17 19:21:04 · 265 阅读 · 0 评论 -
为什么session获取的验证码总是前一次的
一、这里直接给答案!获取的总是前一次,是因为异步的问题。页面在加载的时候是先加载结构和文字,最后再加载图片的,而验证码的字符信息和图片都是在servlet中存进session的,获取验证码信息是前台获取的。这样的话,业务逻辑就变成先获取验证码信息,再加载图片。那么如果是第一次加载验证码,将获得空串,往后都是先获取前一次的验证码信息再加载新的验证码图片,同时修改session中的验证码字符信息。...原创 2019-06-26 13:05:17 · 2462 阅读 · 0 评论