HTTPS是如何保证连接安全:每位Web开发者都应知道的

HTTPS协议的工作原理是什么?,这是我在数天前工作项目中需要解决的问题。
作为一名Web开发者,我当然知道 HTTPS 协议是保障用户敏感数据的好办法,但并不知道这种协议的内在工作机制。它怎么保护数据?有人监听线路的情况下,服务器与客户端之间如何建立安全的连接?安全证书又是什么,为什么还要花钱买呢?
阅读全文

SolrCloud使用教程、原理介绍

SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案,是正在开发中的 Solr4.0 的核心组件之一,它的主要思想是使用 Zookeeper 作为集群的配置信息中心。
它有几个特色功能:①集中式的配置信息 ②自动容错 ③近实时搜索 ④查询时自动负载均衡。
阅读全文

Hibernate 入门教程(书籍、视频)

今天有同事发消息说他转做Java,问我要点Hibernate的学习资料,我整理了一下当初学习Hibernate的资料,分享给大家,希望对初学Hibernate的人有所帮助。
1.Hibernate官方教程 Hibernate 官网
Hibernate 官方中文参考手册 ,提取密码:qjhu
Hibernate Annotations使用 ,提取密码:6y8m
2.Hibernate视频教程 适合入门学习,王勇老师版全部看过了非常不错,个人也非常喜欢尚学堂马士兵老师的教程。
阅读全文

Solr自定义修改评分公式的得分

Lucene的打分公式非常复杂,如下: lucene评分公式 公司希望搜索的结果排序可以精细化,实现某些搜索的内容需要排在某些前面。 大家都知道通过lucene 提供的 Similarity可以实现影响公式的最后得分,分数决定了排序,但貌似解决不了这个问题。
阅读全文

小技巧:通过位移运算、或运算、与运算实现统一权限判断

做项目的时候,可能会需要设置多种权限,并分配给各个用户。传统做法是给用户权限对象或用户权限表,每个权限设置一个字段或将所有权限存储在xml中,用户使用权限时需要取出该权限的值进行验证(其中比较麻烦的就是验证每一种权限,就要取用户对应权限验证)
有没有一种统一权限,它里面的就包含了所有的用户权限信息,只要取一次就可以判断所有的权限呢?
阅读全文

Collection报ConcurrentModificationException错误的原因

某个线程在 Collection 上进行迭代时,通常不允许另一个线性修改该 Collection。
通常在这些情况下,迭代的结果是不确定的。如果检测到这种行为,一些迭代器实现(包括 JRE 提供的所有通用 collection 实现)可能选择抛出ConcurrentModificationException异常。
那Collection类是怎么检测这种情况呢?看了一下源码,发现jdk实现起的逻辑也很简单。
阅读全文

ZooKeeper session 管理

ZooKeeper的session管理是由LearnerSessionTracker和SessionTrackerImpl类来进行管理的。
1)LearnerSessionTracker管理Leader节点的session信息
包括Leader节点所有的sessionId都是由SessionTrackerImpl.initializeNextSession来生成Id,因为Leader节点就一个,所以LearnerSessionTracker写很简单,这里就不叙述了。
阅读全文

淘宝 ZooKeeper 监控 TaoKeeper 源码读后感(源码下载)

怀着对淘宝的崇高敬意,今天仔细读把TaoKeeper的源码仔细读了一遍,看完后有点小失望。
源码看起来不少,但是发现核心代码就4个线程。
程序执行过程(过程中执行的命令附录中有说明)
Initialization类启动四个线程线程,每一个线程查询需要监控集群,再把查询到的集群中的服务器信息,分别作为创建子线程的参数:
阅读全文

JetBrains Intellij IDEA 安装、使用、介绍技巧和快捷键

初学使用intellij idea 时可以参考的几个文档:
第一个文档是对idea的简介以及一下小优化;
第二个文档是介绍一些蛮好用的快捷键;建议有空了可以好好看一下idea的setting菜单,会有很多新奇的发现
第三个文档是 一个较老版本的安装手册;
第四个文档是讲 idea 的Intention Action功能;
第五个链接是idea12 的注册机;
阅读全文