Java集合(九)哈希冲突及解决哈希冲突的4种方式 一.哈希冲突 (一).产生的原因 哈希是通过对数据进行再压缩,提高效率的一种解决方法.但由于通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值.这时候就产生了哈希冲突. (二).因素 装填因子(装填因子=数据总数 / 哈希表长): 哈希函数: 处理冲突的方法. (三).解决哈希冲突的4中方式 开放地址法:再哈希法:链地址法(拉链法):公共溢出区法. 二.开放地址法 开放地址法处理冲突的基本…
解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类.面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类. 总结:以InputStream(输入)/OutputStream(输出)为后缀的是字节流: 以Reader(输入)/Wr…
Java命令行启动jar包更改默认端口以及配置文件的几种方式 java -jar xxx.jar --server.port=8081 默认如果jar包没有启动文件,可以采用这种方式进行启动 java -jar xxx.jar --spring.profiles.active=dev 这种方式,你打的jar包里得有application-dev.properties或application-dev.yml这类资源文件 使用 "--spring.profiles.active" 参数,搭…
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程池的内容,我们以后会详细介绍:现在,先对的Thread和Runnable进行了解.本章内容包括:Thread和Runnable的简介Thread和Runnable的异同点Thread和Runnable的多线程的示例 转载请注明出处:http://www.cnblogs.com/skywang1234…
Tomcat作为Servlet/JSP容器(服务器)挺不错的,开源免费,需要知道的是Tomcat是一个Web服务器,其符合Servlet/JSP规范,但是却没有实现所有JavaEE规范,所以我们还是应该规范说法,称Tomcat为一个JavaWeb服务器,而不是JavaEE服务器 我们使用IDE部署JavaWeb项目基本上都是一键完成,这是IDE给我们该来的好处,但是还是有必要了解一下部署项目的细节 要将JavaWeb应用部署到Tomcat,需要显式或隐式定定义一个Tomcat上下文.在Tomca…
首先根据如下操作生成证书,配置springboot https,生成一个简单的https web服务 https://www.cnblogs.com/qq931399960/p/11889349.html 验证客户端pom依赖 </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</…
本文开始将开始介绍 Java 多线程与并发相关的知识,多谢各位一直以来的关注与支持.关注我的公众号「Java面典」了解更多 Java 相关知识点. 线程的创建方式 在 Java 中,用户常用的主动创建线程的方式有三种,分别是 继承 Thread 类.实现 Runnable 接口 .通过Callable 和 Future. 继承 Thread 类 定义 Thread 类的子类,并重写该类的 run 方法: 调用线程对象的 start() 方法来启动该线程. 通过继承 Thread 实现的线程类,多…
常见重构技巧 - 去除不必要的!= 项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?@pdai 常见重构技巧 - 去除不必要的!= 场景一:null无意义之常规判断空 场景二:null无意义之使用断言Assert 场景三:写util类是否都需要逐级判断空 场景四:让null变的有意义 场景五:Java8中使用Optional 场景一:null无意义之常规判断空 通常是这样的 private void xxxMethod(String key){ if(key!=n…
一般我们经常需要在将服务器端的Date类型,传到页面进行显示,这就涉及到一个如何格式化显示Date类型的问题,一般我们有三种方式进行: 1)在服务端使用SimpleDateFormat等类格式化成字符串,然后传给客户端,这样的话,需要将Date类型修改为String,或者增加一个String字段专门保存Date的字符串: 2)使用jstl的fmt标签库进行格式化,缺点是只能在jsp页面中进行,html页面就无能为力了,而且要导入标签: 3)在客户端使用javascript进行格式化,这种方式任何…
Java集合(八)哈希表及哈希函数的实现方式 一.哈希表 非哈希表的特点:关键字在表中的位置和它之间不存在一个确定的关系,查找的过程为给定值一次和各个关键字进行比较,查找的效率取决于和给定值进行比较的次数. 哈希表的特点:关键字在表中位置和它之间存在一种确定的关系. 哈希函数:一般情况下,需要在关键字与它在表中的存储位置之间建立一个函数关系,以f(key)作为关键字为key的记录在表中的位置,通常称这个函数f(key)为哈希函数. 哈希(hash) : 翻译为“散列”,就是把任意长度的输入,通过…