
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一、为什么要使用线段树?线段树又称为区间树,Segment Tree,对于有一类的问题,我们关心的是线段(或者区间),有一个非常经典的例子:区间染色问题1:有一面墙,长度为n,每次选择一段墙进行染色,n次操作后,我们可以在[i,j]区间内看见多少种颜色?实际上这道题可以拆分为两个步骤:①染色操作(更新区间)②查询操作(查询区间)如果都使用数组实现的话,染色和查询操作时间复杂...
什么是Redis?Redis 是开源免费的,遵守BSD协议,是一个高性能的key-value非关系型数据库。 redis单线程问题所谓的单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。redis采用多路复用机制:即多个网络socket复用一个io线程,实际是单个线程通过记录跟踪每一个Sock(I/O流)的状态...
cellspacing和cellspadding区别属性含义常用属性值cellspacing设置单元格与单元格边框之间的空白间距像素值(默认为2px)cellspadding设置单元格内容与单元格边框之间的空白距离像素值(默认为1px)不使用任何的cellspacing和cellspdding修饰:<table bo...
MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太清楚,同时MapReduce1.0和MapReduce2.0在网上有很多人混淆。MapReduce1.0运行模型InputInput但是输入文件的存储位置,但是注意这里并一定是一些博客说的当然是...
Java类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 HotspotVM默认使用懒加载机制,在加载开始后,连接紧接着执行(并不是加载完成后,连接才执行,两者可以理解为并行执行),加载完毕后,连接才会完毕。 初始化【面试重点】1、遇到new,getstatic、putsta...
Java虚拟机的指令是由一个字节长度的,代表着某种特定操作含义的数字,称之为操作码,以及跟随其后的0至多个代表次操作所需的操作数而构成。操作码的长度为1个字节,因此最大只有256条基于栈的指令集架构(jvm使用) / 而安卓使用的Dalvik虚拟机是基于寄存器的指令集架构 字节码和数据类型在虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息,如( ...
只是简单的Java虚拟机栈中局部变量表的引用指向堆中实例对象的内存地址? 这只是其中的一种方式罢了。实际上,java中对象的访问定位有两种方式。 我们常熟知的是方式2:栈中的引用直接指向堆中的实例对象的内存地址那么,为什么还会存在方式1 使用句柄呢?这种方式有什么好处呢?答:好处就是,不管堆中的实例对象地址是否改变,是否被垃圾回收,栈中的引用是不会发生改变的,改变的是堆中句...







