摘要:
本文基于JDK 1.8.0_211撰写,基于java.util.Arrays.sort()方法浅谈目前Java所用到的排序算法,仅个人见解和笔记,若有问题欢迎指证,着重介绍其中的计数排序以及TimSort排序,其源于Python,并于JDK1.7引入Java以替代原有的归并排序。 阅读全文
摘要:
Torrent简介 BitTorrent协议的种子文件(英语:Torrent file)可以保存一组文件的元数据。这种格式的文件被BitTorrent协议所定义。扩展名一般为“.torrent”。 .torrent种子文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主 阅读全文
摘要:
1 OAuth简述 OAuth 2.0 是一个授权协议,它允许软件应用代表(而不是充当)资源拥有者去访问资源拥有者的资源。应用向资源拥有者请求授权,然后取得令牌(token),并用它来访问资源,并且资源拥有者不用向应用提供用户名和密码等敏感数据。 2 OAuth角色 OAuth整个授权过程中定义了4 阅读全文
摘要:
写在最前面 当时大学开的那么多算法课为啥一节都不好好听讲! 什么是动态规划 动态规划,是一种解决棘手问题的方法, 它将问题分成小问题,并从解决小问题作为起点,从而解决最终问题的一种方法。 看不明白没关系,后面我们会从几个实例中逐渐让大家摸清规律。 问题一 爬梯子问题 假设你正在爬楼梯。需要 n 阶你 阅读全文
摘要:
在Spring Security之前 我曾经使用 实现了一个简单网站Demo的登录拦截和Session处理工作,虽然能够实现相应的功能,但是无疑Spring Security提供的配置方法更加简单明确,能够更好的保护Web应用。 Spring Security的相关结构 这里大家可以参考Spring 阅读全文
摘要:
NIO的前世今生 NIO又叫NonBlockingI/O,即非阻塞I/O。以此对应的,有一个更常见的IO(BIO),又叫Blocking I/O,即阻塞IO,两种都为Java的IO实现方案。 NIO/BIO 阻塞与非阻塞 以客户端连接服务器为例,服务器需要获取客户端的连接,即Socket,传统I/O 阅读全文
摘要:
最近用到了一些RabbitMQ的东西,看了官方的Get Started,以此为模板总结一下。 (1)生产者(发送方)发送消息到ExChange(含参:routingkey),ExChange通过bindingkey确定消息传入哪一个Queue,消费者(接收方)通过监听Queue来获取消息。 其中需要 阅读全文
摘要:
最近做的一个项目需要在服务端对连接端进行管理,故将方案记录于此。 方案实现的结果与背景 因为服务端与客户端实现的是长连接,所以需要对客户端的连接情况进行监控,防止无效连接占用资源。 完成类似于心跳的接收以及处理 即: 当连接过长事件(keep-alive Time)没有发送新的消息时,则在服务端切断 阅读全文
摘要:
最近在做一个有关TCP/TP通信的消息解析,涉及到了这方面的转换,记录一下。 首先,如果是在网络传输、消息解析的情况下,要注意一下网络传送使用的是大端还是小端模式,这影响到我们的高低位的传输顺序。 WORD&&DWORD WORD: 无符号双字节整形(字,16位) DWORD:无符号四字节整形 (双 阅读全文
摘要:
核心组件 SqlSessionFactoryBuilder (构造器) 根据配置信息(eg:mybatis-config.xml)或者代码来生成SqlSessionFactory。 SqlSessionFactory(工厂接口) 依靠工厂来生成SqlSession SqlSession(类似于JDB 阅读全文