- 博客(36)
- 问答 (1)
- 收藏
- 关注
原创 说说TCP
TCP的三次握手&四次挥手?网上已有较多相关资料,本文不做过多介绍,有兴趣可移步至TCP的11种状态,三次握手,四次挥手的原因。TCP是如何保证有序,不丢包,不重复的?历史上的两个著名解决方案:1. GBN(Go-back N):整个发送队列共用一个timer,该计时器会为发送队列中最老的未确认包开启计时:如果超时还未收到确认包,会将计时包开始的所有包重发;对接收端而言,收到unexpec...
2018-03-08 15:36:18 272
原创 常见智力题总结
1.天气预报说明天下雨的概率是84%,求明天中午12点之前下雨的概率。解:明天不下雨的概率是16%。而0-12点不下雨和12-24点不下雨是两个相互独立,且等概率的事件。故明天中午12点之前不下雨的的概率是x² = 0.16, x = 0.4。所以答案为1-0.4 = 60%。2.给定一张方桌,AB两人轮流将一枚硬币放在桌子上,先让对方无处放硬币的人获胜。问谁有必胜法则?解:先手必胜。因为题目没有...
2017-09-30 19:23:33 1825
原创 【数据库范式详解】1NF-BCNF
关系型数据库,由于数据分别存储在不同的表中,因此设计不当就会造成严重的数据冗余。而如果表的粒度设计得太小,又会放大关系型数据库读写很慢的缺点,表的连接操作会带来很大的开销。因此在设计库表时,有1NF、2NF、3NF、BCNF、4NF、5NF这些范式,从前到后要求依次提高。本文将介绍前4种范式及使用他们的原因,在实际设计时,一般的数据库满足3NF即可。我的另外两篇文章:《学生选课
2017-09-29 11:05:46 1447
原创 事务隔离级别及实现
事务的隔离级别就是通过各种锁来实现的。一般设置在应用程序上。1.read uncommitted 可读未提交的,允许脏读。 即:不加锁,事务TA可能读到TB中还未提交的数据。如果TB回滚,就读到了被回滚的数据。2.read committed 读提交的, 允许不可重复读取。 即:锁表中单行(事务当前游标位置加锁),在TA中,所有操作表中被锁行的语句结束后就释放
2017-04-22 11:36:20 743
原创 Redis的各种架构说明
类型 客户端 LB策略 出现的版本 说明 单点 Jedis,Lettuce 无 * - 客户端分片 ShardedJedis consistent hashing 2.x 多台单机Redis服务,通过ShardedJedis达到分片目的 SJ上维护哈希环 主备+哨兵 按是否需要分片选择J/SJ 客...
2018-08-22 14:24:03 911
原创 OAuth2.0
以登录为例,介绍OAUTH2.0(RFC-6749)授权码模式流程: 需登录的请求/aaa,被LoginInterceptor拦截 LoginInterceptor的工作: 请求公司的authorization_url ( GET - https://xxxx/auth/oauth/authorize/) GET authorization_url必选参数: respon...
2018-08-14 16:17:53 441
原创 推荐几个大佬的博客
【安全相关】:http://wiki.7ell.me/#!index.md【设计模式】:http://blog.csdn.net/lovelion/article/details/17517213【Socket-Windows】:http://blog.csdn.net/piggyxp/article/details/6922277【Select/epoll源码解读】:http://blog.cs...
2018-03-09 22:22:22 5031
原创 各类深搜题目汇总
一、计算无向图的连通分量个数import java.util.Scanner;/** * 计算图的连通分量 */public class ConnectedComponent { static int N,M; static int[] visit; static int[][] map; public static void main(String[] ...
2018-03-09 10:58:14 1318
原创 背包问题
0-1背包变形,TAOTAO要吃鸡牛客网,题目链接:https://www.nowcoder.com/acm/contest/74/B题目描述 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了,和绝地求生一样,游戏人物本身可以携带一定重量m的物品,装备背包之后可以多携带h(h为0代表没有装备背包)重量的东西。玩了几天taotao发现了一个BUG,当装备背包之后,如...
2018-03-09 00:38:48 319
原创 动态代理
动态代理:好处:①可以用代理替代委托者,实现延迟加载。②可以在代理的方法中织入新的逻辑,完成方法调用前后应有的处理。③许多框架的核心就是动态代理和反射,如,Hibernate的延迟加载和Spring的AOP。静态代理的类图:相较于静态代理的好处:①动态代理和静态代理在结构原则上是一致的,但将Proxy的生成交给了第三方(JDK/CGL
2017-10-06 14:31:41 472
转载 字典树
背景:代码:public class Problem_23_TrieTree { public static class TrieNode { public int path; public int end; public TrieNode[] map; public TrieNode() { path = 0; end = 0; map =
2017-10-05 20:57:05 218
转载 查找算法
转自: http://blog.csdn.net/liyue199512/article/details/52253196 一、顺序查找代码简单易懂,但当数据量大的时候,查找效率极为低下,所以该算法适合小量数据。查找成功最好的情况是在第一个位置就找到了,算法时间复杂度为O(1)最坏的情况是在最后一个位置就找到了,时间复杂度为O(n)关键字在任何一个位置的概率
2017-10-04 22:38:15 223
原创 JSF实现无刷新二级联动
效果:在添加图书页,有一个图书分类的下拉框,选择某分类后会自动刷新出子分类。要点:JSF有一个"bug":如果页面中包含了下拉框,则提交表单时,JSF会在应用请求值阶段就对下拉框选择的值进行验证(事实上应该在转换完毕后进行验证)。如果这个值不是可选的值之一,则会抛出校验失败的异常。所以BookBean必须设置在SessionScoped上。代码:addBook.xhtm
2017-10-04 18:21:11 2627 16
翻译 JSF转换器&验证器的使用
转换器部分:或required="true" :验证非空 :将字符串转为自定义的数字类型属性: ①type:number数值(default), currency货币 , or percent百分数 ②pattern:Formatting pattern, as defined in java.text.DecimalFormat
2017-10-04 12:47:32 622
原创 TCP三次握手四次挥手的原因
连接建立阶段,三次握手:为什么不是一次?因为TCP是有链接的,就像打电话,A拨号给B,要B选择接听以后才能进行通信,故第二次握手是发送B同意的信号。为什么不是两次?因为网络传输是不可靠的,存在B发回的确认帧丢失的情况。如果这个包丢失了,那么A会认为和B没连上,超时重传一个连接信号;而B,则因认为A已经和自己建立好连接了,无视这个包。那么A、B之间永远连不上了。为什么B不对A
2017-09-30 19:24:25 300
原创 哈弗曼树
给定一篇文章,求它的哈夫曼编码。首先,统计词频(一般用HashMap来做);随后,创建一个优先队列,将TreeNode按词频由小到大出队;入队方法用offer(),出队方法用poll();他们与add/remove不同,队满或队空时不会抛异常而是返回false。TreeNode,应包含词频、Char、左右儿子四个信息;从优先队列中出队两个元素,创建一个新的TreeNod
2017-09-30 16:18:08 255
原创 并查集的使用
输入描述: p个人,n个关系接下来n行,是n/2对关系,如A B,表示A认识B输出描述:判断这n个人是否全部互相认识(A认识B,B认识C,则A也认识C),如果是,输出他们最远的关系层数,如果不是,输出DISCONNECTEDpackage Qunar;import java.util.ArrayList;import java.util.HashSet;import
2017-09-30 16:11:46 207
原创 web安全
一、打开认证: 认证类型如果使用FORM形式,数据完整性非常弱,没有加密,允许有定制的登陆界面。配置如下: ...... FORM /login.html /error.jsp
2017-09-29 22:57:02 406
原创 求正则覆盖&判断保持依赖
判断左部属性是否多余: 已知alpha --> beta F(函数依赖集合)A为alpha的一个子属性,若其多余,则 alpha-A --> beta (在F上求闭包)判断右部属性是否多余: 已知alpha --> beta F(函数依赖集合)A为beta的一个子属性,若其多余,则alpha --> beta (在F'上求闭
2017-09-28 19:12:02 8959
原创 学生选课系统库表设计
背景——用例图:一个基础的学生选课系统ER图设计如下:(学生和课程是n - m的关系,可修改的原图找不到了,悉知)库表设计:---专业表CREATE TABLE major(major_id INT PRIMARY KEY AUTO_INCREMENT,major_name VARCHAR(20)); ---学生表CREATE TABLE
2017-09-28 17:32:35 14023
原创 SQL复杂查询练习
环境:MySQL5.0+实例一:银行系统下面提供表结构和一些数据,直接使用即可。-- branchcreate table branch(branch_name varchar(20) not null,branch_city varchar(20),assets int,constraint primary key(branch_name));-- acc
2017-09-28 12:25:26 2891 2
原创 JPQL
什么是JPQL? JPQL的全称是“Java Persistence Query Language”,即Java持久性查询语言。JPQL是一种简单的类似于SQL的基于字符串的语言,用于查询实体,以及实体间的关系。JPQL简单、可读性强,允许编写可移植的查询,不必考虑底层数据存储。JPQL语法与SQL很相似。语法:select_clause
2017-09-28 11:37:46 386
原创 JDK各集合的底层实现
ArrayList&Vector:object数组,Vector线程安全;HashMap&HashTable:哈希表,拉链法。key重复会放到链表头,且每次读取也读链表头,HashTable线程安全; 存储时:计算key的hash,映射到Entry table[hashResult%length];有一个threshold变量,在某一链表的长度超过预设值时,会发生Hash
2017-09-28 11:22:55 772 2
原创 蘑菇阵
问题描述:* 现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。 * 现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线, * 在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择), * 那么她不碰到蘑菇走到B的家的概率是多
2017-09-28 11:17:25 272
原创 纸牌博弈问题
package July;/** * DP * 有一个整型数组A,代表数值不同的纸牌排成一条线。 * 玩家a和玩家b依次拿走每张纸牌,规定玩家a先拿,玩家B后拿, * 但是每个玩家每次只能拿走最左或最右的纸牌,玩家a和玩家b都绝顶聪明,他们总会采用最优策略。 * 请返回最后获胜者的分数。 * 给定纸牌序列A及序列的大小n,请返回最后分数较高者得分数(相同则返回任意
2017-09-28 11:09:04 337
原创 Spring+SpringMVC配置加载顺序
Spring Web应用加载顺序:XML版 ---->Web容器创建; ---->上下文创建,但未初始化; ---->监听器创建,并注册到Context上; ----->上下文初始化; ----->通知到监听者,Spring配置文件/@Configuration加载; ---->load-on-startup>
2017-08-05 15:00:23 7674
空空如也
Java的RuntimeException抛出的条件写在哪了
2016-04-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人