摘要:
1 hash算法在RPC中的应用和缺陷 【背景】:我们有一个社交网站,需要使用Redis存储图片资源,存储的格式为键值对,其中,key为图片名称,value为该图片所在文件服务器路径,我们需要根据文件名查找该文件所在文件服务器上的路径以实现访问并传递给用户,数据量大概200w左右,规则就是随机分配, 阅读全文
摘要:
1 List 常用的List包括ArrayList和LinkedList: ArrayList:底层采用数组实现,数据访问的复杂度为O(1),指定位置插入数据复杂度为O(n)。 LinkedList:底层采用链表实现,数据访问的复杂度为O(n),指定位置插入数据复杂度为O(1)。 2 Map 2.1 阅读全文
摘要:
1 KV结构且K不确定 Example: public static void main(String[] args) { String response = "{\n" + " \"rule\":[\n" + " {\n" + " \"level\":\"info\",\n" + " \"on\" 阅读全文
摘要:
1 项目主类的运行与打包 常规的打包方式是只打包主项目的功能类,有时我们需要将依赖全部打进来,这时可用maven-shade-plugin插件。使用上,由于其只存在一个goal shade:shade,因此,只需将其绑定到phase package上。 <executions> <execution 阅读全文
摘要:
1 聚合 1.1 简述 使用聚合可以管理多个子模块,其目的是为了方便构建项目。 1.2 结构 (1)聚合模块只有一个pom文件,与子模块是并列或包含关系。 (2)对于聚合模块,其打包方式packaging的值必须为pom,否则无法构建。 (3)对于各个子模块,要求模块的groupId与聚合模块的gr 阅读全文
摘要:
1 生命周期 Maven拥有三套相互独立的生命周期,分别是clean、default和site,clean生命周期的目的是清理项目,default生命周期的目的是构建项目,site生命周期的目的是建立项目站点。并且每套声明周期都包含一些阶段,这些阶段是有顺序的,后面阶段要执行必须会调用前面的所有阶段 阅读全文
摘要:
1 仓库 1.1 仓库配置 仓库分为本地仓库和远程仓库,当需要依赖时,maven会先到本地仓库中根据构件坐标寻找,如果不存在则通过远程仓库下载到本地仓库再使用,如果本地和远程仓库都没有该构件则会报错。 本地仓库和远程仓库都需要在settings.xml文件中配置。在settings.xml文件中通常 阅读全文
摘要:
1 构件坐标 在maven中,构件(jar、war等文件)通过坐标进行标识。其中,坐标分为项目坐标和依赖坐标。 2 项目坐标与代码目录规定 我们在开发项目时也需要为其定义坐标,这是maven强制要求的。在这个基础上,其他项目才能引用该项目生成的构件。 项目坐标通常由groupId、artifactI 阅读全文
摘要:
1 优势 (1)构件坐标化管理且与仓库布局一致,方便存储和查找。 (2)插件丰富。 2 依赖下载 要配置maven,首先需要配置JDK。因此环境配置分为两步: 2.1 配置JDK JDK=JVM+JRE+核心类库+开发工具,作用:提供java程序的运行环境。 因此,在主机中运行java程序必须要安装 阅读全文