maven至今还是Java编程语言构建的事实标准,大部分项目还在使用maven来进行构建,因此了解maven内部运行的原理对定位和分析问题还是很有裨益的。本篇文章主要介绍一些...
maven至今还是Java编程语言构建的事实标准,大部分项目还在使用maven来进行构建,因此了解maven内部运行的原理对定位和分析问题还是很有裨益的。本篇文章主要介绍一些...
前言 公司最近在接入摄像头,但是摄像头返回的流地址是rtsp格式的,前端无法直接播放。经过调研后,决定采用ffmpeg进行转码,推流到srs,再由前端进行获取。srs可以支持...
定义 分区:在Mongo/ES和Solr被称为分片(shard),在HBase中称为区域(Region),Bigtable中是表块(tablet),Cassandra和Ria...
复制的目的: 高可用 允许断网时继续工作 低延迟 高吞吐量 由于数据会随着时间改变,流行的数据变更复制算法是个难题,流行的变更复制算法有下面三种: 单领导 多领导 无领导 单...
随着应用程序的升级,系统需要保持向后兼容(新代码读旧数据)和向前兼容(旧代码读新数据).数据的编码支持更好的兼容性尤为重要. 编码数据 序列化: 将内存中的数据编码成字节序列...
哈希索引:key -> offset 通过文件存储,为了避免磁盘空间耗尽,采用合并与压缩段文件,保留最新的键值.局限: 文件需要放进内存,范围查询效率不高SSTable(排序...
项目中为了接收来自设备的告警信息,由于不同类别的告警信息结构不固定,所以采用MongoDB进行存储. 建立collection collection在mongo中类似于关系型...
线程的概念 线程不能独立存在,资源由操作系统分配给进程,但是CPU资源是分配给线程的.同一个进程内的线程: 共享: 堆(主要存放使用new操作创建的对象实例)和方法区(JVM...
JDK动态代理 使用 首先定义一个接口类 再定义实现该接口的类,用以生成需要被代理的实例对象 使用InvocationHandler定义invoke方法,用以替代被代理对象执...
@RequestParam 在使用Spring Boot的过程中,经常使用的是@RequestParam,可以获得请求参数值的解析。它有四个属性: value:url中的参数...
在Leetcode上有一系列经典的股票买卖问题,也是典型的动态规划问题.也可以利用在每一天的状态是否买卖来解决.然而每一天的买卖关系受到了前一天操作的逻辑上的约束,看起来更像...
动态规划的核心就是将问题分解成子问题,然后推导出公式,根据公式利用以前计算的结果进行计算.它需要枚举出所有的可能,和贪心算法不一样.但是问题的难点在于,如何将问题分解并推导出...
垃圾回收需要解决的三个问题是: 哪些内存需要回收 何时回收 如何回收 哪些内存需要回收 对于Java内存运行时区域,程序计数器\虚拟机栈\本地方法栈三个部分是线程私有的,随线...
运行时数据区域 Java虚拟机所管理的内存包括五个运行时数据区域: 程序计数器 为了线程切换后能恢复到正确的执行位置, 每条线程都需要有一个独立的程序计数器,因而程序计数器是...
类加载过程 类对象和普通对象是不同的,类对象是在类加载的时候完成的,是jvm创建的并且是单例的,作为这个类和外界交互的入口, 而普通的对象一般是在调用new之后创建。在Jav...
题目介绍 给定字符串s,以及正则匹配模式p,判断是否能匹配成功。其中.表示可以匹配任意一个字符,*表示可以匹配0个或者任意多个前缀字符。 Examples: Solution...
关于最大堆 什么是最大堆和最小堆?最大(小)堆是指在树中,存在一个结点而且该结点有儿子结点,该结点的data域值都不小于(大于)其儿子结点的data域值,并且它是一个完全二叉...
Spring AOP 简介 如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用。 AOP 即...