- 分布式id实战
kk_0910
java
目录常用方式特征潜在问题信息安全高性能UUID雪花算法数据库生成美团Leaf方案Leaf-segment数据库方案Leaf-snowflake方案常用方式uuid雪花算法数据库主键特征全局唯一趋势递增信息安全潜在问题信息安全如果id连续递增,容易被爬虫,批量下载数据如果订单id是连续递增,容易被竞争对手推算出日交易量,这时候需要ID不规则可能泄漏本机mac地址高性能保证在高qps时候,系统也高可用
- 雪花算法(SnowFlake)
喬杰
一、原理SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:雪花算法结构图1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。41bit时间戳,毫秒级。可以表示的数值范围是(2^41-1),转换成单位年则是69年。10bit工作机器ID,用来表示工作机器的ID,包括5位datacenterId和5位worke
- 动态扩缩容下的全局流水号设计
小强聊it
工作全局id生成
关于全局流水号,业内用的比较多的就是雪花算法,一直没理解在动态扩缩容下其中的workId和datacenterId如何设置,查到了几个方法:reidis中取,待后期实践下。先简单的介绍一下雪花算法,雪花算法生成的Id由:1bit不用+41bit时间戳+10bit工作机器id+12bit序列号,如下图:不用:1bit,因为最高位是符号位,0表示正,1表示负,所以这里固定为0时间戳:41bit,服务上
- 记一次Spring for Kotlin中JacksonConfig配置Long转String失败
okfang616
springkotlinjava
目录起因真相解决方案起因众所周知,浏览器在处理Long类型(比如雪花算法生成的id)时,往往会出大事情。浏览器在处理长整型(Long)类型时可能会遇到问题,主要原因是浏览器在处理数字时有限制。一般来说,浏览器的JavaScript引擎使用64位浮点数来表示数字。然而,JavaScript的Number类型只能安全地表示-253到253之间的整数。当超过这个范围时,会有精度丢失的问题。例如,如果使用
- C#系列-C#EF框架实现雪花主键(20)
管理大亨
C#系列c#开发语言
在C#中,使用EntityFramework(EF)框架并不直接涉及到主键的生成策略。主键的生成通常是在数据库层面或者在应用程序层面处理的。雪花主键(SnowflakeID)是一种在分布式系统中生成唯一ID的算法,它通常是由Twitter的雪花算法演变而来。雪花主键的特点是在不依赖数据库的情况下,能够在分布式系统中生成全局唯一且有序的64位整数ID。这种ID通常用于大数据场景,因为它们可以有效地利
- MySQL 主键策略导致的效率性能
A尘埃
mysql数据库主键策略
MySQL官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment一、准备三张表分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变。【注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无
- MybatisPlus快速入门及常见设置
不应该热爱
javamybatis-plusmybatis
目录一、快速入门1.1准备数据1.2创建SpringBoot工程1.3使用MP1.4获取Mapper进行测试二、常用设置2.1设置表映射规则2.1.1单独设置2.1.2全局设置2.2设置主键生成策略2.2.1为什么会有雪花算法?2.2.2垂直分表2.2.3水平分表2.2.4单独设置2.2.5全局设置2.3设置字段映射关系2.4设置字段和列名的驼峰映射2.5设置打印日志目前主要的ORM数据库的持久化
- Spring Boot集成百度UidGenerator雪花算法使用以及自定义starter封装UidGenerator支持原生DB、Redis、自定义方式获取workID介绍
小满别摸鱼
javawebspringbootjava数据库springboot雪花算法分布式IDUID
一、前言当下系统开发过程中,普遍会采用分布式微服务架构,在此技术背景下,分布式ID的生成和获取就成为一个不得不考虑的问题。常见的分布式ID生成策略有基于数据库号段模式、UUID、基于Redis、基于zookeeper、雪花算法(snowflake)等方案,这其中雪花算法由于其简单、独立、易用的特性,被众多技术选型推荐。雪花算法(SnowFlake),是Twitter开源的分布式id生成算法,可以不
- 【案例】--分布式”雪花算法案例
DreamBoy_W.W.Y
案例java分布式
目录一、前言二、技术方案实现2.1、技术方案实现12.2、技术方案实现2三、存在的问题3.1、kygoException异常问题3.2、redis随机命令被禁止问题四、完整的“分布式雪花算法”代码一、前言前段时间线上系统出现一个严重的bug:一个表中插入两条一样的id记录信息(该字段未设置唯一主键)。查看了代码,第一印象是绝对不可能出现该Bug,不科学,怎么会出现两个相同的id记录呢?带着疑惑又仔
- 【分布式】雪花算法学习笔记
少写代码少看论文多多睡觉
Java全栈开发进阶分布式分布式算法学习
雪花算法学习笔记来源https://pdai.tech/md/algorithm/alg-domain-id-snowflake.html概述雪花算法是推特开源的分布式ID生成算法,以划分命名空间的方式将64位分割成多个部分,每一个部分代表不同的含义,这种就是将64位划分成不同的段,每一个段代表不同的涵义时间戳+机器ID+序列数结构第一位占用一个bit值始终为0,可以看作符号位不可使用第二位开始的
- MyBatisPlus(四)——常用注解
路过Coder
mybatisjavamysql
目录@TableName(表名映射)通过@TableName解决问题通过全局配置解决问题@TableId(主键映射)通过@TableId解决问题@TableId的value属性@TableId的type属性雪花算法@TableField(字段映射)@TableLogic(逻辑删除)@TableName(表名映射)在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在M
- 全局唯一ID优缺点总结
欧克小奥
有趣的问题全局唯一ID
☆*o(≧▽≦)o*☆嗨~我是小奥个人博客:小奥的博客CSDN:个人CSDNGithub:传送门面经分享(牛客主页):传送门文章作者技术和水平有限,如果文中出现错误,希望大家多多指正!如果觉得内容还不错,欢迎点赞收藏关注哟!❤️文章目录全局唯一ID(分布式ID)1、UUID2、数据库自增ID3、数据库集群模式ID4、Redis自增ID5、雪花算法(SnowFlake)全局唯一ID(分布式ID)1、
- 雪花算法及Java实现
雪顶猫的鳄
java算法java开发语言
一、全局唯一ID介绍1、背景现如今越来越多的公司都在用分布式、微服务,那么对应的就会针对不同的服务进行数据库拆分,然后当数据量上来的时候也会进行分表,那么随之而来的就是分表以后id的问题。例如之前单体项目中一个表中的数据主键id都是自增的,mysql是利用autoincrement来实现自增,而oracle是利用序列来实现的,但是当单表数据量上来以后就要进行水平分表,阿里java开发建议是单表大于
- JAVA面试题分享四百二十八:为什么需要分布式ID?你项目中是怎么做的?
之乎者也·
JAVA面试题分享分布式内容分享java分布式开发语言
目录分布式ID介绍什么是ID?什么是分布式ID?分布式ID需要满足哪些要求?分布式ID常见解决方案数据库数据库主键自增数据库号段模式NoSQL算法UUIDSnowflake(雪花算法)开源框架UidGenerator(百度)Leaf(美团)Tinyid(滴滴)IdGenerator(个人)分布式ID介绍什么是ID?日常开发中,我们需要对系统中的各种数据使用ID唯一表示,比如用户ID对应且仅对应一个
- ASP.NET CORE面试题
采石之人
一面而就asp.net后端.netcore面试
来一波C#.NETB/S开发方向的面试题。祝好运连连祝一面而就1.GUID和雪花算法之间的区别是什么?GUID所占的内存大一些,而雪花算法所占的内存小一些GUID可以通过设置方法来进行自增,如果没有方法,GUID不自增雪花算法则是通过时间戳的方式生成,但不一定是全局递增的;另外如果时钟回拨,则有可能生成重复ID;2..NETCore依赖注入生命周期?(1)Singleton单例模式:单例对象对于每
- 雪花算法(03)生成时间
郭艺宾
前面的理论基础和位运算都了解了,下面我们来生成雪花算法的第一部分,也就是时间部分。时间部分的逻辑起始很简单,就是规定一个起始时间戳,然后用当前时间戳减去起始时间戳,这两个数的差就是我们要的结果。简单看一下代码逻辑:我们规定的起始时间是2015-01-0100:00:00,然后获取当前时间,用当前时间减去起始时间,就是我们要的时间部分的数值。这个时候就有一个问题了,如果我们系统的时钟错了会不会有问题
- 完美解决方案-雪花算法ID到前端之后精度丢失问题
字母哥课堂
最近公司的一个项目组要把以前的单体应用进行为服务拆分,表的ID主键使用Mybatisplus默认的雪花算法来生成。快下班的时候,小伙伴跑过来找我,:“快给我看看这问题,卡这卡了小半天了!”。连拉带拽,连哄带骗的把我拉到他的电脑前面。这位小伙伴在我看来技术不算是大牛,但经验也很丰富了。他都卡了半天的问题,应该不是小问题,如果我一时半会搞不定,真的是耽误我下班了,所以我很不情愿的在他的位置坐了下来。一
- 分布式ID(4):雪花算法生成ID之Leaf(美团点评分布式ID生成系统)
不死鸟.亚历山大.狼崽子
分布式分布式
1Leaf官方地址Leaf源码地址:https://github.com/Meituan-Dianping/LeafLeaf官方说明文档地址:https://tech.meituan.com/2019/03/07/open-source-project-leaf.htmlhttps://github.com/Meituan-Dianping/Leaf/blob/master/README_CN.m
- php生成雪花算法id
jack
php
classSnowFlake{/**开始时间截(2020-08-189:05:37)*/consttwepoch=1597712737000;/**机器id所占的位数*/constworkerIdBits=10;//支持的最大机器id,结果是1023(这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数)constmaxWorkerId=(-1^(-1self::maxWorkerId)
- php雪花算法创建分布式唯一id
码农Robin
php分布式算法
雪花算法的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分),效率较高。但是依赖与系统时间的一致性,如果系统时间被回调,或者改变,可能会造成id冲突或者重复。可以根据服务器内网ip来作为机器的id,保证唯一性。classSnowFlake{protectedstatic$instance;privatestatic$machineId;priva
- PHP 雪花算法
杰仔会发光
php算法
$this->maxWorkerId||$workerIdmaxWorkerId}orlessthan0");//}////if($datacenterId>$this->maxDatacenterId||$datacenterIdmaxDatacenterId}orlessthan0");//}////$this->workerId=$workerId;//$this->datacenterId
- php输出雪花,雪花算法 php Snowflake
weixin_39952190
php输出雪花
/***/***ID生成策略*毫秒级时间41位+机器ID,10位+毫秒内序列12位。高位始终为0,表示正数。*0415164*+-----------+------+------+*|time|pc|inc|*+-----------+------+------+*前41bits是以微秒为单位的timestamp。*接着10bits是事先配置好的机器ID。*最后12bits是累加计数器。*mach
- PHP雪花算法并发,PHP 雪花算法收藏
安静荒废每一天
PHP雪花算法并发
代码是从easyswoole里面扒出来的看着不错收藏下timestamp=bindec(substr($Binary,0,41))+self::$twepoch;$Object->dataCenterID=bindec(substr($Binary,42,5));$Object->workerID=bindec(substr($Binary,47,5));$Object->sequence=bin
- PHP雪花算法并发,基于php雪花算法-生成唯一Id
李赔十学长
PHP雪花算法并发
Twitter的分布式雪花算法SnowFlake每秒自增生成26个万个可排序的IDclassIdcreate{constEPOCH=1479533469655;//开始时间,固定一个小于当前时间的毫秒数constmax12bit=1024;constmax41bit=1099511627888;static$machineId=null;//机器idpublicstaticfunctionmach
- php雪花算法生成id,雪花算法如何生成id
weixin_39874350
php雪花算法生成id
雪花算法如何生成id雪花算法生成id的方法:首先新建一个id生成的类;然后新建一个调用生成id的单例工具;最后使用函数【GuuidUtil.getUUID()】直接调用即可。【相关学习推荐:java基础】雪花算法生成id的方法:1、新建一个id生成的类SnowFlake/***@Auther:lyl*@Date:2019/11/2117:49*@Description:*/publicclassS
- php:雪花算法
蝶开三月
PHP算法twitter雪花算法SnowFlakeSnowFlake算法
简介SnowFlake算法(雪花算法),是Twitter开源的分布式id生成算法。其核心思想就是:使用一个64bit的long型的数字作为全局唯一id。在分布式系统中的应用十分广泛,且ID引入了时间戳,基本上保持自增的。原理1bit-不用:因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用正整数,所以最高位固定为0。41bit-时间戳:表示的是时间戳,41bit可以表示的数字
- php 雪花算法问题
跟着大佬喝点汤
算法php
高并发下,雪花算法id重复生成源码上如下解释Snowflake是Twitter内部的一个ID生算法,可以通过一些简单的规则保证在大规模分布式情况下生成唯一的ID号码。其组成为:第一个bit为未使用的符号位。第二部分由41位的时间戳(毫秒)构成,他的取值是当前时间相对于某一时间的偏移量。第三部分和第四部分的5个bit位表示数据中心和机器ID,其能表示的最大值为2^5-1=31。最后部分由12个bit
- php使用雪花算法
haijingjituan
开发语言php算法
雪花算法的由来:一:Twitter使用scala语言开源了一种分布式id生成算法——SnowFlake算法,被翻译成了雪花算法。二:因为自然界中并不存在两片完全一样的雪花的,每一片雪花都拥有自己漂亮独特的形状、独一无二。雪花算法也表示生成的ID如雪花般独一无二。(有同学问为什么不是树叶,美团的叫树叶——Leaf)组成雪花算法生成的ID是一个64bit的long型的数字且按时间趋势递增。大致由首位无
- 【雪花算法】PHP生成雪花算法以及测试和使用【原创】
jiandanokok
PHPphp算法开发语言雪花算法全局ID
概述在12.09的时候,生产环境出了个问题,具体原因呢,是因为线上有两个异步任务同时执行,这两个异步任务都是生成几万条数据,然后写表,而表的主键id是用雪花算法生成的,具体是使用公共库里面的SnowFlake.php文件的nextId方法生成的雪花算法ID大概逻辑如下:foreach($checkDataas$v){$data=['client_id'=>$v['client_id'],'acti
- PHP实现雪花算法
跨时空思念ღ
php
*默认情况下41bit的时间戳可以支持该算法使用到2082年,10bit的工作机器id可以支持1023台机器,序列号支持1毫秒产生4095个自增序列id*@authorzhangqi*/classIdCreate{constEPOCH=1479533469598;//开始时间,固定一个小于当前时间的毫秒数constmax12bit=4095;constmax41bit=1099511627775;
- 戴尔笔记本win8系统改装win7系统
sophia天雪
win7戴尔改装系统win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
- BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
- MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
- 发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
- 动画合集
换个号韩国红果果
htmlcss
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
- 网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
- java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
- [Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
- 自己写的一个繁体到简体的转换程序
asialee
java转换繁体filter简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
- android意图和意图监听器技术
百合不是茶
android显示意图隐式意图意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
- spring3中新增的@value注解
bijian1013
javaspring@Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
- Jboss启用CXF日志
sunjing
logjbossCXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
- 【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
- struts2验证框架的使用和扩展
白糖_
框架xmlbeanstruts正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
- 记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
- 编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
- 读书笔记5
chengxuyuancsdn
重复提交struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
- [时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
- easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracleORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected]:1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
- 简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
- C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
- 解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
- 高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
- 三点定位的算法
haoningabc
c算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
- epoll使用详解
jimmee
clinux服务端编程epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
- Hibernate对Enum的映射的基本使用方法
linzx0212
enumHibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
- 第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 孙子兵法
roadrunners
孙子兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
- MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
- zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理