摘要: 一、拉链法 上篇博文我们举的例子,HashMap,HashSet其实都是采用的拉链法来解决哈希冲突的,就是在每个位桶实现的时候,我们采用链表(jdk1.8之后采用链表+红黑树)的数据结构来去存取发生哈希冲突的输入域的关键字(也就是被哈希函数映射到同一个位桶上的关键字)。首先来看使用拉链法解决哈希冲突 阅读全文
posted @ 2018-09-04 20:05 kaleidoscopic 阅读(20361) 评论(0) 推荐(1) 编辑
摘要: 多线程编程中,当代码需要同步时我们会用到锁。Java为我们提供了内置锁(synchronized)和显式锁(ReentrantLock)两种同步方式。显式锁是JDK1.5引入的,这两种锁有什么异同呢?是仅仅增加了一种选择还是另有其因?本文为您一探究竟。 JDK1.5中,synchronized是性能 阅读全文
posted @ 2018-09-04 16:32 kaleidoscopic 阅读(1857) 评论(1) 推荐(0) 编辑
摘要: Apache HTTP Server 与 Tomcat 的三种连接方式JK,http_proxy,ajp_proxy。下面逐个介绍一下(本篇介绍的示例都是基于前面介绍的已经搭建好的Tomcat集群,都是本机,端口分别为18080和28080): JK: JK是最常见的方式,JK 本身有两个版本分别是 阅读全文
posted @ 2018-09-03 17:47 kaleidoscopic 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 一、定义 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。 (Apche可以支持PH 阅读全文
posted @ 2018-09-03 17:18 kaleidoscopic 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 本身的优化,Java 虚拟机(JVM)调优。系统优化就不在介绍了,接下来就详细的介绍一下 Tomcat 本身与 JVM 优化,以 Tomcat 7 为例。 一、Tomcat 本身优 阅读全文
posted @ 2018-09-03 16:40 kaleidoscopic 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HT 阅读全文
posted @ 2018-09-03 16:02 kaleidoscopic 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 保证RESTful API的安全性,主要包括三大方面: a) 对客户端做身份认证 b) 对敏感的数据做加密,并且防止篡改 c) 身份认证之后的授权 1、对客户端做身份认证,有几种常见的做法: 1)在请求中加签名参数,为每个接入方分配一个密钥,并且规定一种签名的计算方法。要求接入方的请求中必须加上签名 阅读全文
posted @ 2018-09-03 15:50 kaleidoscopic 阅读(940) 评论(0) 推荐(0) 编辑
摘要: When studying both the Java NIO and IO API's, a question quickly pops into mind: When studying both the Java NIO and IO API's, a question quickly pops 阅读全文
posted @ 2018-09-03 15:02 kaleidoscopic 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一、并发控制 为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。 技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Multi Versio 阅读全文
posted @ 2018-08-23 19:53 kaleidoscopic 阅读(176) 评论(0) 推荐(0) 编辑
摘要: MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,InnoDB的索引 InnoDB的索引有两类索引,聚集索引(Clustered Index)与普通索 阅读全文
posted @ 2018-08-23 19:40 kaleidoscopic 阅读(196) 评论(0) 推荐(0) 编辑