logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构——线段树(区间树)

一、为什么要使用线段树?线段树又称为区间树,Segment Tree,对于有一类的问题,我们关心的是线段(或者区间),有一个非常经典的例子:区间染色问题1:有一面墙,长度为n,每次选择一段墙进行染色,n次操作后,我们可以在[i,j]区间内看见多少种颜色?实际上这道题可以拆分为两个步骤:①染色操作(更新区间)②查询操作(查询区间)如果都使用数组实现的话,染色和查询操作时间复杂...

#数据结构
redis全面解析

什么是Redis?Redis 是开源免费的,遵守BSD协议,是一个高性能的key-value非关系型数据库。 redis单线程问题所谓的单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。redis采用多路复用机制:即多个网络socket复用一个io线程,实际是单个线程通过记录跟踪每一个Sock(I/O流)的状态...

#redis
cellspacing和cellpadding区别

cellspacing和cellspadding区别属性含义常用属性值cellspacing设置单元格与单元格边框之间的空白间距像素值(默认为2px)cellspadding设置单元格内容与单元格边框之间的空白距离像素值(默认为1px)不使用任何的cellspacing和cellspdding修饰:<table bo...

#html
MapReduce工作流程超详细解释

MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太清楚,同时MapReduce1.0和MapReduce2.0在网上有很多人混淆。MapReduce1.0运行模型InputInput但是输入文件的存储位置,但是注意这里并一定是一些博客说的当然是...

【面试重点】Java类加载机制和类加载器

Java类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 HotspotVM默认使用懒加载机制,在加载开始后,连接紧接着执行(并不是加载完成后,连接才执行,两者可以理解为并行执行),加载完毕后,连接才会完毕。 初始化【面试重点】1、遇到new,getstatic、putsta...

Java常用的字节码指令

Java虚拟机的指令是由一个字节长度的,代表着某种特定操作含义的数字,称之为操作码,以及跟随其后的0至多个代表次操作所需的操作数而构成。操作码的长度为1个字节,因此最大只有256条基于栈的指令集架构(jvm使用)  /   而安卓使用的Dalvik虚拟机是基于寄存器的指令集架构 字节码和数据类型在虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息,如( ...

java中对象是如何访问定位的?

只是简单的Java虚拟机栈中局部变量表的引用指向堆中实例对象的内存地址? 这只是其中的一种方式罢了。实际上,java中对象的访问定位有两种方式。 我们常熟知的是方式2:栈中的引用直接指向堆中的实例对象的内存地址那么,为什么还会存在方式1 使用句柄呢?这种方式有什么好处呢?答:好处就是,不管堆中的实例对象地址是否改变,是否被垃圾回收,栈中的引用是不会发生改变的,改变的是堆中句...

#jvm#java
到底了