
Java面试准备
文章平均质量分 81
妄想翻身的咸鱼
这个作者很懒,什么都没留下…
展开
-
KMP字符串模式匹配
在正式开始之前先了解一些预备知识前缀子串:模式串p开头的前k个字符,例如 p(0),p(1),p(2)...p(k-1);i位置的后缀字串:在P第i位置的左边,取出k个字符(包括i位置),即p(i-k+1),…,p(i)第i位的最长前缀串:与i位置后缀子串相等的最长前缀子串。特征数:第i位的最长前缀串的长度k就是模式串P在位置i上的特征数n[i]。特征数组成的向量称为该模式原创 2017-03-22 20:24:42 · 377 阅读 · 0 评论 -
进程间通信的几种方式
进程间通信方式大概有 管道通信(又分为匿名管道,命名管道,高级管道),信号,消息队列,共享内存,信号量,套接字(注意区分信号量和信号,不是同一概念)。其中信号是这些方式中唯一的异步通信机制,而套接字可以在不同主机之间通信。匿名管道是一个未命名的,单向管道,通过父进程和一个子进程之间传输数据。只能实现本地机器上两个进程之间的通信,而不能实现跨网络的通信。常用的比如Linux命令。原创 2017-08-22 16:42:36 · 2079 阅读 · 0 评论 -
mysql中explain的用法和解释
对于mysql查询性能分析时经常使用explain关键字对查询语句进行分析,就explain相关字段进行记录。explain的每个输出行提供一个表达额相关信息,每个行包括下面的列idselect_typetabletypepossible_keyskeykey_lenrefrowsextra (这里仅仅是为了显示各个字段)下面就各字段含义进行介绍id本次查询的标识符,在查询中的每原创 2017-09-04 10:58:50 · 515 阅读 · 0 评论 -
计算机网络基础之网络5层结构及对应的协议
转自:http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.htmlhttp://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html这是我见过的介绍计算机网络5层架构最清楚的讲解,对于学习计算机网络5层架构一转载 2017-06-29 16:04:43 · 8989 阅读 · 1 评论 -
阻塞与非阻塞,同步与异步
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/转载 2017-07-17 20:40:47 · 507 阅读 · 0 评论 -
阻塞队列BlockingQueue相关问题分析
1.BlockingQueue定义的常用方法如下 抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e,time,unit)移除remove()poll()take()poll(time,unit)检查element()peek()不可用不可用转载 2017-05-15 19:07:00 · 383 阅读 · 0 评论 -
Mysql数据库引擎介绍
数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL+API自己做一个引擎。下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且转载 2017-04-13 20:09:50 · 256 阅读 · 0 评论 -
Mysql中的索引问题
学习数据库索引时发现两篇比较好的文章,转载下来,方便以后查阅写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10转载 2017-04-13 20:04:54 · 960 阅读 · 1 评论 -
关于jvm的垃圾回收机制
原文:http://www.linuxidc.com/Linux/2015-06/118829.htm一、垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。转载 2017-04-11 08:56:30 · 2401 阅读 · 0 评论 -
HashMap常见问题
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入转载 2017-03-24 19:02:11 · 2247 阅读 · 1 评论 -
操作系统页面置换算法与redis的内存淘汰机制
写在前面:最近碰到操作系统中关于页面置换的一些问题,与此同时学习redis的过程中发现它的内存淘汰机制有些相似,在此一并记录下来。首先是操作系统中的页面替换算法最佳置换算法(OPT)这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法所选择淘汰的页面为后面永远不会使用到的页面或者是最长时间内不会使用的页面。但由于我们无法预知接下来执行的过程中哪些页面不会被访问到,所以这个算法无法实现,但原创 2017-08-29 18:05:26 · 1998 阅读 · 0 评论