后台进程管理工具-supervisor 1.安装 wget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.py 通过pip安装最新supervisorpip install supervisor2.配置将配置放到 /etc目录下echo_supervisord_confecho_supervisord_conf > /etc/superv...
Maven聚合 说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现。一、为什么要聚合?随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构、分模块开发,来提高代码的清晰和重用。针对于这一特性,maven也给予了相应的配置。
AWS的区域和可用区概念解释 对于刚开始接触AWS的用户而言,区域(Region)和可用区(Availability Zone,AZ)这两个概念有点不好理解。初次接触时往往不知道它们跟我们日常说的数据中心是什么关系。然而区域和可用区是AWS中非常基础和重要的概念,因此我这里详细解释一下它们的一些来龙去脉。 我们知道云服务底层的物质基础是数据中心,但是一方面由于AWS目前的规模已经比较庞大,另一方面AWS需要服务
git 中的reset和revert 最近用github做我的博客,有些时候会设置错误需要用撤回操作,这时就用到Git revert与resetreset(版本撤回)格式git reset [-q] [] [--] ...git reset (--patch | -p) [] [--] [...]git reset (--soft | --mixed | --hard | --merge | --keep)
搜索引擎之倒排索引 本文节选自《这就是搜索引擎:核心技术详解》第三章 本节通过引入简单实例,介绍与搜索引擎索引有关的一些基础概念,了解这些基础概念对于后续深入了解索引的工作机制非常重要。 3.1.1单词—文档矩阵 单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义。图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系。
TRUNCATE和DELETE的区别 最近到了系统开发后期,需要对数据进行按时间备份。备份完成后对之前数据表的处理就只有删除了,突然查下资料,发现删除还是挺多的。显而易见都明白此刻应该用什么删除了。就不在此讨论解决方案了,只总结交流知识点。truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统
Mysql导入导出数据 从远程主机上导入导出数据:导出数据库: mysqldump -h HOSTNAME -uUSERNAME -p DBNAME > exported_db.sql导入数据库: mysql -h HOSTNAME -uUSERNAME -p DBNAME 在远程主机上得到相应的sql文件之后,可用以下命令把sql文件同步到本地:scp -r root@127
git reset soft,hard,mixed之区别深解 GIT reset命令,似乎让人很迷惑,以至于误解,误用。但是事实上不应该如此难以理解,只要你理解到这个命令究竟在干什么。首先我们来看几个术语HEAD这是当前分支版本顶端的别名,也就是在当前分支你最近的一个提交Indexindex也被称为staging area,是指一整套即将被下一个提交的文件集合。他也是将成为HEAD的父亲的那个commitWor
Synchronized原理 目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令,大家
Java io Java IO 本篇主要讲述IO相关的内容,主要包括:与IO相关的简单的历史背景知识;Java IO的简单分类;与IO设计相关的两个模式;同时列举几个简单的例子;分析其中几个实现的源代码;最后给大家一些简单扩展的例子。治学先治史,下面我们先从简单的历史开始吧! 一、 历史背景 “对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”
UML类图入门学习 对类图的基本认识有以下两点:类图是以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法;类图中的类与面向对象语言中的类的概念是对应的,是对现实世界中的事物的抽象。我们基于以上两点,来对类图进行更详细的学习。类图中基本语法学习在UML中,画每一种图,都有一套规范的,不同的符号是不同的意义,我们要熟悉这些符号的意义,才能理解一副类
UML类图类的关系 在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram): 类图是面向对象系统建模中最
JVM垃圾收集器 HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的
hibernate多对一,一对一,多对多配置 第一种关联关系:一对多(多对一)"一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。 一对多关系在hbm文件中的配置信息:消费者(一方):xml version="1.0" encoding="utf-8"
Java保留两位小数 java保留两位小数问题:方式一:四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 -----
数据库索引的实现 强烈建议参阅链接:http://www.linezing.com/blog/?p=798#nav-1说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在
打乱一个数组 给定一个数组,要求把数组内元素的顺序随机打乱,然后输出,主要是要保证效率。这其实是个洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n
一次完整的Ping过程 一次完整的PIng过程1、Pc1在应用层发起个目标IP为192.168.2.2的Ping请求。2、传输层接到上层请求的数据,将数据分段并加上UDP报头。下传到Internet层。 3、网际层接收来处上层的数据后,根据ICMP协议进行封装,添加PC1的IP为源IP为和PC2IP为目标IP后封装成数据包。下传到网络接口层,因Pc1ip与pc2ip不在同一网段,所以数据包
LinkedHashMap解析 1. LinkedHashMap概述:LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。Lin