- 博客(33)
- 资源 (8)
- 收藏
- 关注
原创 数据结构和算法之树形结构B+树(7)
在数据库的操作中,查询操作可以说是最频繁的一种操作,因此在设计数据库时,必须要考虑到查询的效率问题,在很多数据库中,都是用到了B+树来提高查询的效率;B+树中的所有数据均保存在叶子节点,且根结点和内部节点均只是充当控制查找记录的媒介,并不代表数据本身,所有的内部节点关键字都同时存在于子节点中,是子节点关键字中是值最大(或最小)的。当然,也有查找失败的情况,即要查找的元素并不在B+树中。的树结构,而今天要讲的B+是B树的一种改进,是B树的一种优化和改进,被大多数据库系统采纳作为索引结构使用。
2024-11-05 09:28:52 490
原创 数据结构和算法之红黑树删除(5)
文章出处:数据结构和算法之红黑树删除(5)关注码农爱刷题,刷大厂面试题,看更多技术文章!! 上一篇文章讲述了红黑树的规范及红黑树的插入后的自平衡处理场景,在节点插入操作过程中,我们默认插入节点为红,然后判断是否需要进行平衡操作,那么今天就来看一下红黑树的删除操作需要考虑哪些情况。 对于红黑树,删除场景的自平衡处理比较复杂,网上讲解的文章很多,看了很多篇文章,感觉都没有把问题完全说透的,也可能是作者理解没到位。本文作者尽自己的理解,把红黑树删除场景的自平衡处理给大家讲清楚。在讲解之前,对于平衡
2024-09-29 15:53:31 754
原创 数据结构和算法之树形结构(3)
关注码农爱刷题,看更多技术文章!!上一章节讲到为了避免二叉查找树退化成链表后的极度不平衡带来的低效率而衍生出了平衡二叉树,平衡二叉树的严格定义是这样的:二叉树中任意一个节点的左右子树的高度相差不能大于 1。这样的定义就是尽可能保证二叉树左右节点的平衡,从而保证时间复杂度的高效。从平衡二叉树的定义不难看出,不仅满二叉树,还有完全二叉树(关于两者的定义,可以查看前述文章)都是符合平衡二叉树定义的,而其他的非完全二叉树也可能是平衡二叉树,例如下图就是一棵非完全二叉树,但它是平衡二叉树。
2024-09-23 21:08:36 942
原创 数据结构和算法之树形结构(2)
关注码农爱刷题,看更多技术文章!!二叉查找树,又称二叉搜索树或二叉排序树,是在普通二叉树基础上为了实现快速查找而设计出来的一种树形结构。要求每个节点在树中的任意一个节点,其左子树中的每个节点的值都要小于这个节点的值,而右子树节点的值都大于这个节点的值。引进二叉查找树,是为了更高效地实现二叉树的查找和节点的增删,下图是典型的二叉查找树:通过中序遍历,我们很容易得到一个按值大小排序的数据序列:13,16,17,18,25,33,34,50,51,58,66。
2024-09-23 15:01:56 1046
原创 数据结构和算法之树形结构(1)
二叉树是典型和常见的树形结构,也是最简单的树形结构。二叉树每个节点最多有两棵子树(二叉树中不存在度大于2的节点),并且二叉树的子树有左右之分,顺序不能颠倒。二叉树根据样式不同,还可以分为满二叉树和完全二叉树,例如下图:若一棵树的层数为k,它总结点数是2^k-1,则这棵树就是。
2024-09-20 11:07:48 1212
原创 Java进阶之集合框架(Set)
LinkedHashSet是HashSet的子类,所以自然具备HashSet快速查找元素和不允许重复元素的特性,但是为了保证元素的有序性,LinkedHashSet通过内置了一个双向链表来维护所有元素,从而可以利用迭代器快速遍历元素和保证元素存取的有序性。TreeSet底层是通过红黑树实现了对元素的排序,但是是通过内部的TreeMap来实现的,红黑树的具体逻辑在TreeMap代码中实现,这点HashSet、LinkedHashSet和TreeSet三者都是一样的,依赖的都是对应的Map集合类。
2024-09-18 20:40:51 982
原创 Java进阶之集合框架(List)
以上是ArrayList动态扩容的代码,而Vector同样是用动态数组实现的,它的动态机制和ArrayList大同小异,这里就不再深究代码,不同的是Vector的方法基本上是用同步修饰符synchronized修饰,从而保证了线程安全,而Stack直接继承了Vector,因而也是线程安全的,只不过追加了先进后出的逻辑。在文章中列出的三个接口List、Set和Queue的特征,例如元素是否可为空,元素是否有序,这些在接口的实现类中,并不会严格遵循不是绝对的,只能作为接口设计的初衷和一般规范;
2024-09-18 14:27:18 1182
原创 数据结构和算法之线性结构
例如Java,通过动态数组实现了ArrayList,因为是用数组实现,其存储结构就是顺序存储的,因而具有顺序表的特征,插入删除效率低,查询元素效率高,但又不完全等同顺序表,因为它的空间是可以动态扩容的;然而,如果栈的使用是固定的,不随输入数据的大小变化,那么空间复杂度为O(1)。顺序表是采用顺序存储结构实现的线性表,一组地址连续的存储单元依次存放线性表的数据元素,即以存储位置相邻表示位序相继的两个元素之间的前驱和后继关系,从而使得逻辑上相邻的两个元素在物理位置上也相邻。为前行者蓄力,为后来者探路!
2024-09-16 18:28:53 964
原创 数据结构和算法之基本概念
关注码农爱刷题,看更多技术文章!!在计算机领域中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构(Structure)。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构和存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。
2024-09-13 11:53:05 1302
原创 Java基础之运算符
位运算是上述运算中最不好掌握的一种运算,因为它是对二进制的运算,而二进制不是我们工作生活经常使用的进制,不直观;运算符是编程语言中用于执行各种操作的符号或关键字。instanceof: 检查对象是否是特定类的实例;负数反码是原码取反(符号位不变),反码+1则为补码。(type): 强制类型转换。关注码农爱刷题,看更多技术文章!最高位为符号位,0表示正数,1表示负数。正数的原码、反码和补码都一样,三码合一。关注码农爱刷题,看更多技术文章!二进制运算都是以其补码的方式参与。
2024-09-13 07:04:03 795
原创 Java基础之装箱和拆箱
为了避免重复创建对象,Java常量池缓存了-128到127范围的整型值,这意味着这些范围内的值,同一个数值,通过多次自动装箱后的对象实际上是同一个对象,因而这部分对象之间的值比较直接可以用==进行,而前述范围之外的整型值自动装箱构建的对象,还是遵循原有规则,用equals进行值比较,用==进行引用地址比较。自动装箱和拆箱是有一定性能代价的,虽然在大多数场景下,这些代价可以忽略不记,但是对于性能要求较高的场景,还是建议大家准确使用基本数据类型和它们的包装类。关注码农爱刷题,看更多技术文章!
2024-09-11 16:21:50 343
原创 Java基础之面向对象特性
此处,要说的是,当一个类是内部类的时候,关键字class声明前可以被所有权限访问修饰符(public、protected、private和default)修饰,也可以被static修饰。此外,对类的源文件也说明一下,一个源文件可以声明多个类,但是只能声明一个public类,且源文件的名称要和这个public类命名保持一致;通过继承,我们可以实现代码的重用和扩展;父类静态变量、父类静态块、当前类静态变量、当前类静态块、父类成员变量、父类初始化块、父类构造函数、当前类成员变量、当前类初始化块、当前类构造函数。
2024-09-10 16:10:05 1105
原创 Java基础之关键字
Java中的strictfp是容易被大家忽略的关键字,它是一种修饰符,用于强制执行浮点运算的规范化,以确保在不同平台和不同编译器上得到相同的结果。它不能算是严格意义上的基本数据类型,但是它和基本数据类型一样,有对应的包装类Void,尽管这个Void类不能实例化,只能有null值;此外,它和基本数据类型一样,能作为方法的返回类型的限定,基于前述两点,此处把它归类到基本数据类型一类。有的文章中也把三者归类为关键字,但笔者认为它们就是Java内置的常量值,所以不归类为关键字。关注码农爱刷题,看更多技术文章!
2024-09-10 15:10:04 415
原创 Java基础之基本数据类型
混合运算时,较小的类型会自动转化提升为同较大的类型,也即从低级向高级转换:byte、short、char(三者同级)—> int —> long —> float —> double,然后进行运算,以保证运算的一致性和安全性;:因为二进制无法精确表示浮点数,浮点数比较大小或运算,可能结果也会让你大跌眼镜,例如double d = 1.3 和 float f = 1.3f两者值直接用==比较一定相等吗?因为精度的问题,即使同精度类型的浮点数直接进行加减乘除运算,结果都可能让你意外。
2024-09-09 19:11:31 482
原创 Java基础之内部类
在非静态内部类中都提到不能定义静态变量和静态方法,因为JDK从设计上已经提供了静态内部类来满足开发者这种需求,而非静态内部类作为外部类的成员或局部变量,不允许定义类层面的静态变量和方法,理解起来也没有问题,但是JDK又开了一个小后门,允许加上final关键字后可以定义static变量,这让人有些困惑,但是后来细想,把final static作为常量定义的方式,而不是类变量的定义,这样理解起来就通畅了。内部类就是在一个类内部再定义一个类,内部类是外部类的组成部分之一,也是外部类封装特性的体现。
2024-09-09 16:37:30 1398
原创 Java基础之引用数据类型
注解的本质:在Java中,Java注解很容易被理解为一种特殊的类, 理由有以下几点:a.它可以像类那样被单独定义;b.使用时虽然依附在不同的类、属性和方法上,但是同一个注解,在不同的类、属性和方法上的属性值是不同的,这很像类和对象的关系,说明它有多个实例;c.它可以通过反射获取到具体的注解属性值,并且还有class属性。那注解能不能作为一种特殊类并归属为一种引用数据类型呢?实际上注解被设计出现的目的是作为一种元数据机制,用于提供关于代码的附件信息,以此增强代码的功能性和可维护性;注解属性值是作为宿主类元数据
2024-09-08 06:46:09 507
原创 自动化测试快速入门
易测试云平台快速入门之单接口测试 ---易测试快速入门文档 本帮助旨在引导用户快速上手、熟悉易测试云测平台的使用。在开始之前,需要用户登录捷效云,并在云产品列表中,选择易测试和关联项目,进入到易测试云测平台工作空间;进入后主页界面如下:1.1 单接口测试 单接口测试就是字面上的意思,在易测试云测平台中,主要是通过基础用例来完成;在主...
2019-05-28 16:45:19 673 1
原创 Flex和Java通信之Socket
文章转自:http://www.hpgy.net/blog/12345679/377_1.htm 前些日子的博客文章介绍了Flex怎样通过远程对象和JAVA通信,今天再和童靴们分享下Flex如何通过套接字和JAVA进行通信。 关于套接字通信
2011-09-29 10:22:00 675
原创 使用XFire+Spring构建Web Service
[url=http://www.hpgy.net/blog/12345679]个人博客:[/url][url]http://www.hpgy.net/blog/12345679/9/262_1.html[/url] 最近在产品开发中用到了XFire来实现WebService,现把项目中的使用体会和经验总结如下:1. 相关资源 xFire相关jar包:...
2010-12-14 15:16:52 213
原创 JAVA日期格式化相差8小时的BUG
[url=http://www.hpgy.net/blog/12345679]个人博客:[/url][url]http://www.hpgy.net/blog/12345679/6/276_1.html[/url] 今天在用JAVA的SimpleDateFormat类对日期进行格式化的时候,发现格式化出来的时间总比预期的时间相差8小时,估计是时区的问题,后来在网上搜了一下...
2010-12-14 15:12:36 2323
原创 MYSQL性能问题之一:=号左边的TRIM
[url=http://www.hpgy.net/blog/12345679]个人博客:[/url][url]http://www.hpgy.net/blog/12345679/5/277_1.html[/url] 在谷歌上搜索,会发现ORACLE的SQL句中如果=号左边有trim函数会严重影响SQL的性能,今天发现在MYSQL中也是如此。 最近在对公司会...
2010-12-14 15:11:09 472 1
原创 POI类库之工作表中文名乱码问题
[url=http://www.hpgy.net/blog/12345679]个人博客:[/url][url]http://www.hpgy.net/blog/12345679/2/281_1.html[/url] POI类库是JAVA平台下操作EXCEL的类库,功能很强大,相信大家都在工作已经使用得很熟练了,这里就不详细介绍了,简单的说, 一个Excel文件的层次:Ex...
2010-12-14 15:06:21 327
原创 海量数据查询优化技巧
[url=http://www.hpgy.net/blog/12345679]个人博客:[/url][url]http://www.hpgy.net/blog/12345679/1/282_1.html[/url] 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值...
2010-12-14 15:04:15 177
原创 String.split()用法的一点经验【JAVA应用】
<br /> <br /> 个人博客: http://www.hpgy.net/blog/12345679/10/259_1.html<br /><br />在java.lang包中有String.split()方法,返回是一个数组<br />我在应用中用到一些,给大家总结一下,仅供大家参考:<br />1、如果用“.”作为分隔的话,必须是如下写法:String.split("//."),这样才能正确的分隔开,不能用String.split(".");<br />2、如果用“|”作为分隔的话,必须是如下
2010-12-14 15:03:00 820
原创 使用XFire+Spring构建Web Service 【JAVA应用.WebService】
最近在产品开发中用到了XFire来实现WebService,现把项目中的使用体会和经验总结如下:1. 相关资源 xFire相关jar包: 核心包:xfire-all-1.2.6.jar、xfire-jsr181-api-1.0-M1.jar;依赖包:XmlSchema-1.1.jar 、xmlsec-1.3.0.jar、xml-apis-1.0.b2.jar、wsdl4j-1.6.1.jar、wss4j-1.5.1.jar、wstx-asl-3.2.0.jar、stax-api-1.0.1
2010-12-14 15:00:00 933
转载 海量数据查询优化技巧 【数据库. 性能优化】
个人博客:http://www.hpgy.net/blog/12345679/1/282_1.html1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from
2010-12-14 14:53:00 769 1
原创 MYSQL性能问题之一:=号左边的TRIM 【数据库.MYSQL】
在谷歌上搜索,会发现ORACLE的SQL句中如果=号左边有trim函数会严重影响SQL的性能,今天发现在MYSQL中也是如此。 最近在对公司会员月度产品销售明细进行统计时,关联的几个表中都有7到11万数据,开始SQL执行性能没问题,后来发现分组计算的结果老有问题,于是就对表关联条件加上了TRIM函数,结果发现SQL执行起来特慢,有时候几个小时都没反应,也可能与某个时段MYSQL服务器性能低下有关,但总之该条SQL的性能有严重的问题了。数据统计正确后一直没时间去处理这个性能问
2010-12-14 14:44:00 1130
原创 MYSQL中文乱码问题:concat函数 【数据库.MYSQL】
mysql concat乱码问题解决concat(str1,str2)当concat结果集出现乱码时,大都是由于连接的字段类型不同导致,如concat中的字段参数一个是varchar类型,一个是int类型或doule类型,就会出现乱码。解决方法:利用mysql的字符串转换函数CONVERT将参数格式化为char类型就可以了。举例:concat('数量:',CONVERT(int1,char),CONVERT(int2,char),'金额:',CONVERT(double1,char),CONVERT(dou
2010-12-14 14:43:00 1758
原创 JBoss内存溢出处理【JAVA应用.应用服务器】
<br />转载地址: http://www.hpgy.net/blog/12345679/2/2_1.htm <br /> <br /> 前几天公司一个项目的服务器坏了,就换了一个备份服务器顶替一下,但是没有跑一会就宕机了,一直报java.lang.OutOfMemoryError。。。。一看到这里,就知道是内存溢出,但是JBoss的内存配置已经达到1024M了,而且对JBoss内存的监测结果看,并不高,怎么会死机呢,好奇怪。搞了半天还是没有结果。郁闷~~~~ <br /> 到了最后,已经绝望
2010-12-14 14:41:00 730
原创 POI类库之工作表中文名乱码问题 【JAVA应用.POI类库操作】
个人博客: http://www.hpgy.net/blog/12345679/1/281_1.htm POI类库是JAVA平台下操作EXCEL的类库,功能很强大,相信大家都在工作已经使用得很熟练了,这里就不详细介绍了,简单的说, 一个Excel文件的层次:Excel文件->工作表->行->单元格 , 对应到POI中为:workbook->sheet->row->cell 。 今天要说的是在创建工作表时,用中文做文件名和工作表名会出现乱码的问题,先说以中文作为工作表名,大家创建工作表的代
2010-12-14 14:32:00 707
linux-x86-64.zip
2019-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人