我不生产bug,我只是bug的搬运工
https://www.cnblogs.com/xrq730/p/5186728.html http://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191083&idx=1&sn=c68c8bb...
https://blog.csdn.net/u014653197/article/details/76397037 https://blog.csdn.net/woaigaolaoshi/article/details/51283212 https://blog.
https://blog.csdn.net/yc_game/article/details/67633668 https://blog.csdn.net/majinggogogo/article/details/80260400 https://blog.
本文转载自博客,因为题主写的已经很详细了。 还有,必须要强调一点,树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下,只有减少树的深度,让树从“高瘦”变成“矮胖”就可以减少I/O次数,从而提高查询效率(查找树的每一个结点都要进行一次I/O) B树是为实现高效的磁盘存取而设计的多叉平衡搜索树。
红黑树原理 红黑树(Red-Black Tree,简称R-B Tree),它是一种特殊的二叉查找树。首先它满足二叉查找树的特征:任意结点结点包含的键值,大于左孩子的键值,小于右孩子的键值。
说bitmap之前,我们要明白数字在内存中的表示,如果说byte用8个二进制位表示,即可以表示个数,每个byte占8位,即每个byte占8行,在内存中这样形象的表示: 而bitmap结构,充分利用了每一行所有的位数,它将每个位置作为一个数,那么一行就可以模拟表示出8个数。
数据通信 数据通信整体的类如下,MarshallingCodeCFactory可以省去,这个只是代替java的序列化的功能,因为java的序列化功能效率低: Client.
首先写在最前面的一点,关于netty5的用户指南,可以参照这里 Netty的hello world 一个经典的hello world程序有四个类,分布是Client,ClientHandler,Server,ServerHandler,下面是它们的代码 Client.
为什么新生代和老年代用不同的回收算法? 因为新生代的对象死的快,老年代都是在新生代经过15次gc存活下来的对象,一般都很少被释放,所以用不同的回收算法。
关于虚拟机参数,总体有两大类: -XX 对于系统级别的(jvm)配置,配置日志信息,或者说配置jvm使用什么样的垃圾回收器。 非-XX的 基本上都是对应用层面上的配置。
volatile的原理实现可以看这篇文章,真的是从硬件层面上说明了volatile怎样保证可见性 下面这个实例,如果没有设置成volatile关键字,那么线程读的isRunning永远都是自己私有内存中的,线程将会一直在while循环...
传统的BIO编程,服务器的主线程需要先阻塞,然后等待客户端的请求才去创建线程执行。一般分为两个部分,client和server。
锁的概念: package com.
master-worker模型的程序说明图 master-worker模型的代码 布鲁布鲁
传统的容器并没有实现线程安全,所以在多线程的情况下,并不管用。本文首先自己手写一个并发Queue引出全文: import java.util.LinkedList; import java.
线程的创建很简单,一般是集成Thread类或者实现Runnable接口,我就不细说了。然后,要牢记多线程的3大特性:多线程的三个特性:原子性、可见性、有序性 原子性:是指一个操作是不可中断的。
https://blog.csdn.net/column/details/16302.html
https://blog.csdn.net/u013087513/article/details/75196199
shiro介绍 Apache shiro是一个权限控制框架,它将安全认证抽取出来,实现用户身份认证,权限授权,加密,会话管理等功能,是一个通用的安全认证框架,而且还可以用于分布式集群。
每个系统都有权限设计,本篇主要将初始的权限设计的原理,不依赖任何框架,以直观的角度剖析web的权限设计。 权限设计的原理知识 什么是权限管理 只要有用户参与的系统一般都有权限管理,权限管理实现对用户访问系统的控制。
1.如何求最大的或者最小的 select * from A order by id(从小到大排序) desc(逆序)limit 1(只取第一个) 或者 select * from A where id = (select max(id) from A) //使用max()函数 2.
题目描述: 实现 atoi,将字符串转为整数。 该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。
排列组合在笔试面试中不会太难,一般有以下的特点: image.png 案例1 案例2 案例3 案例4 案例5 案例6 其实还有一些比较难的排列组合的题,这里就不意义列举了。
一般位运算的题目都是神仙题,靠平时的积累。 一般位运算常见的操作符有: & :按位与 | :按位或 ^ :按位异或 ~ :取反
Map-Reduce和Hadoop逐渐称为面试热门。还有,容量的转换如下: bit就是位,也叫比特位,是计算机表示数据最小的单位。 byte就是字节,1byte=8bit,1byte就是1B; 一个字符=2字节; 1KB=1024B 字节B到GB是 介绍他们之前,我们先来看看什么是哈希函数 什么是Map-Reduce。
一般笔试面试中常会有概率问题的出现(算法较多),他们有这样的规律: 概率的应用有两块: 现在我们来看案例: 案例1 所以两强不相遇的概率为 那么两强相遇的概率为 案例2 案例3 案例4 关于步骤5的解释是,如果产生了21,22,23,24,那么重新进行步骤4,直到结果在0到20之间,这样产生21到24的概率会平均分配到0~20之间。
我们先从换钱问题说起。 问题描述:给定数组arr,arr中所有的值都为正数且不重复。每个值都代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求换钱有多少种方法。
题目描述:现有一等式;9 8 7 6 5 4 3 2 1 = 100。为了使等式成立,需要在数字间填写加号或者减号(可以不填,但不能填入其他符号)。之间没有填入符号的数字组合成一个数。
题目描述:有一个复杂链表,其结点除了有一个Next指针指向下一个结点外,还有一个random指向链表中的任意结点或者NULL。其链表的定义如下: public class RandomListNode { int label; Rand...
题目描述:有n个人首先站成一排,请问,当n个人第二次再重新排列,每个人都不在原来的位置上,问有多少种站法。例如,原来有3个人,ABC,那么第二次每个人都不在原来的位置上有2种站法,BCA和CAB。
题目描述:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组 {2,3,4,2,6,2,5,1} 及滑动窗口的大小3,那么一共存在6个滑动窗口:{[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]},他们的最大值分别为{4,4,6,6,6,5}。
题目描述: 解决思路:
题目描述:判断一个普通的链表是否是回文链表,要求时间复杂度O(n),空间复杂度O(1) 解决思路: 最简单的方法是利用栈把链表的前半段压栈,然后出栈与链表的后半段逐个比对。
条件随机场就像HMM一样,最开始让我难以理解,但其实认真看了,也不是太难。本文总结自这边博客,它的引用的资料值得一看。 一、马尔可夫随机场 概率图模型(Probabilistic gaphical model,PGM)是由图表示的概率分布。
题目描述: 解决思路: 时间复杂度很低,除了数组排序那块需要O(NlogN)(或者O(MlogM),看谁最大)之外,后面的顶多需要O(k^2),应该不是很大。
隐马模型还是看李航的《统计学习方法》,写的很明了。 以下内容来自邹博的ppt: ...
题目描述:现有n个物品,每个物品有三个参数ai,bi,ci,定义i物品不合格品的依据是:若存在物品j,且aj>ai, bj>bi, cj > ci,则称i物品为不合格品。
这篇文章仅仅只是对这篇博客的总结整理,仅供自己学习之用。可能很多人会疑惑,自己转载就行了,为啥老是自己写。我觉得,不管什么东西,只有自己咀嚼过一遍,才算真的是领悟了。
关于seq2seq,我看过这位博主的文章,并且也去实践过,当时还将他的文章整理成博客笔记。但是,当时对seq2seq的理解确实不是很到位,所以昨天看到这位博主时是很疑惑的。
题目描述:k个有序的数组,找到最小的区间范围使得这k个数组中,每个数组至少有一个数字在这个区间范围内。比如: 数组1:[4, 10, 15, 24, 26] 数组2:[0, 9, 12, 20] 数组3:[5, 18, 22, 30] 最小的区间是...
正则表达式是很通用的一套规则,而本文是基于python的re模型的实现,来讲解正则表达式的语法。常见的正则表达式如图: 我们讲讲python中re模块常用的方法。
1、注意力模型的直观理解 我们以前用过这种Seq2Seq的编码解码架构(a Encoder-Decoder architecture)来完成机器翻译的任务。
以前看这东西经常迷惑,以为评估模型好坏的标准就是看预测对了多少,即: 正确率(accuracy) = 预测对的 / 总数。但是,不能总是用这种简单的指标来评测模型的好坏。
1、逻辑回归 其实逻辑回归是从线性回归演化而来的(逻辑回归虽然有回归两字,但其实是做分类任务)。就举吴恩达的肿瘤预测为例,假如肿瘤是这样分布的,横轴为肿瘤大小,纵轴为是否是肿瘤(0或1),那么将样本点画在图上 当时,预测。
写在最前面的几句话,我们下面所有的问题的符号规约如下: 代表训练集中实例的数量 代表输入变量 代表目标变量 代表训练集中的实例 代表第个实例 表示第个变量 代表学习算法的解决方案或函数,也成为假设(hypothesis) 是代价函数 1、单变量线性回归 单变量的线性回归比较简单,一般表达式为,现在我们来求代价函数。
要回答卷积为何有效,恐怕大家都要去看看这篇论文《Visualizing and Understanding Convolutional Networks》,它将每个卷积层的输出反卷积然后展示出来,让我们知道每一层的卷积到底是学习到了什么特征。