自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(626)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 uml中活动图与流程图的区别

活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。  它是UML中用于对系统动态活动建模的图形,反映系统中一个活动到另一个活动的流程,常常用于描述业务过程和并行处理过程。活动图中包括泳道、活动开始、活动结束、活动、对象、分支、消息等图形符号。   泳道将一个活动图中的活动划分为不同的组,每个组分别对应...

2016-12-25 21:35:39 798

原创 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)         1. 泛化(Generalization)        【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类...

2016-12-25 21:31:15 315

原创 可靠消息队列浅谈

转自:http://www.open-open.com/lib/view/open1429583249182.html综述消息队列系统是大型分布式系统中常见的组成部分之一,目前市面上也已经出现了大量非常优秀的消息队列或者具有消息队列特征的数据流系统,它们各自有各自的特点,却也同样会有自己的不足,在某些特定的应用场景下,既有的消息队列用起来总是欠那么点火候,这也是为什么redis作者也在写...

2016-12-25 21:14:13 774

原创 Eclipse调试的几个技巧(很有帮助)

九个技巧:逻辑结构条件debug异常断点单步过滤跳到帧Inspectexpressionsdisplay远程debug   最早开始用eclipse的debug的时候,只会F5 F6 F7 F8,甚至F7都不是很搞的明白是怎么用的,那时候资浅,碰不到需要复杂debug的代码,慢慢工作深入了,场景碰多了,就需要各种debug技巧来提升定位bug效率...

2016-12-20 16:54:15 263

原创 eclipse 设置条件断点(只在变量满足某种条件时断点会拦住)

http://jingyan.baidu.com/article/ed2a5d1f4aa2ce09f6be17d5.html 条件断点是指在达到设置的条件时才暂停程序。这在调试复杂问题时非常有用,比如循环程序。设置:eclipse breakpoint conditional...

2016-12-20 15:52:28 1058

原创 Java SE7新特性之二进制字面量

 Java SE 7中, 整数类型(byte, short, int以及long) 也可以使用二进制数系来表示。要指定一个二进制字面量,可以给二进制数字添加前缀 0b 或者 0B。下面的示例展示了一些二进制字面量: // 一个8位的'byte'值: byte aByte = (byte)0b00100001; // 一个16位的'short'值: ...

2016-12-14 22:53:29 261

原创 浮点数为什么不精确?为什么银行的金额不能用浮点数计算

浮点数为什么不精确?其实这句话本身就不精确, 相对精确一点的说法是: 我们码农在程序里写的10进制小数,计算机内部无法用二进制的小数来精确的表达。什么是二进制的小数? 就是形如 101.11 数字,注意,这是二进制的,数字只能是0和1。101.11 就等于 1 * 2^2 +0 *2^1 + 1*2^0 + 1*2^-1 + 1*2^-2 = 4+0+1+1/2+1/4 = 5.75...

2016-12-14 22:52:57 3403

原创 计算机是如何计算乘法除法的(实际上都是转换为二进制加法计算)

http://blog.csdn.net/blues1021/article/details/42849183前言虽然我们在编程语言中可以直接使用+-/,但是对某些要求不能用/的情况下,我们有必要了解一下计算机是怎样完成乘除法的。首先,我们要明确一下计算机所能完成的最基本操作是:+(-)和左移右移。虽然ISA中一般都有MUL类指令,但是这些经过译码之后最终的元操作还是加法和移位指令...

2016-12-14 22:46:20 6865

原创 什么是补码、反码、负数在计算中如何表示

负数在计算机中如何表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。但是,随便找一本《计算机原理》,都会告诉你,实际上,计算机内部采用2的补码(Two's...

2016-12-14 22:39:38 514

原创 Math.abs()绝对值取到的数不一定是正数

Math.abs()注释:Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.源码:public static i...

2016-12-14 22:37:17 2090

原创 传统金融机构两地三中心架构及运维方案

http://www.wavetop.com.cn/about/news/702.html

2016-12-06 17:02:31 1178

原创 用BigInteger实现大素数生成算法

转自:http://www.cnblogs.com/edwardstudy/archive/2012/11/24/2784174.html一.通过素数的基本性质  根据素数的性质(除了1和此整数(n)自身外,无法被其他自然数整除的数):即从2到n/2的数都不能整除n。按 Ctrl+C 复制代码按 Ctrl+C 复制代码  用大于2^63的数去测试,结果因为运算量太大,...

2016-12-06 16:42:09 1372

原创 最大/梅森素数

http://baike.baidu.com/link?url=9KiiUmFeLK74tquFdGMgmIK4KceRHbBnOw9dzTW06bmJi4RnUhd5YP5rLPzMsjFCfJf1_kxCGbUJ214TlWqH46A5wu45_kq9s-A8ko6g9AsHQFtYaNBXlaMatKiQlzUs

2016-12-06 16:40:46 260

原创 RSA加密原理

http://blog.csdn.net/q376420785/article/details/8557266http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.htmlhttp://blog.csdn.net/sunmenggmail/article/details/11994013   以前也接...

2016-12-06 16:36:15 324

原创 linux oom killer导致应用进程杀掉交易事务回滚

前段时间,公司同事遇到这样的问题,A系统通过RPC调用B系统,调用之前会在本地落单据,与RPC是在同一事务中。后来出现A应用挂掉,引发的问题是发现B返回给A系统,找不到相关流水,最后发现是linux在内存吃紧的情况下,会杀掉占用最大的进程,导致了数据库事务的回滚,但是RPC调用成功了,这是一个容易疏忽的不一致点。  Linux OOM-killer 前天线上出了个502错误,...

2016-12-06 16:34:21 301

原创 ACID、CAP、BASE深入讨论

编者按:由InfoQ主办的全球架构师峰会将于2012年8月10日-12日在深圳举行,为了更好地诠释架构的意义、方法和实践,InfoQ中文站近期会集中发布一批与架构相关的文章,本篇即为其中之一。InfoQ也欢迎读者亲身参与到本次全球架构师峰会中,与来自国内外的顶尖架构师进行面对面的交流。报名参会请点击这里。本文首发于  Computer 杂志,由InfoQ和IEEE呈现给您。CAP理论断言...

2016-11-29 10:29:57 191

原创 如何理解CAP和BASE理论(看过的描述的最容易理解的文章)

转自:http://book.51cto.com/art/201503/469187.htm《从Paxos到Zookeeper:分布式一致性原理与实践》本书从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式...

2016-11-25 11:20:31 968

原创 加密(AES)、公私钥(PKI)、摘要(DIGEST)、签名(SIGNATURE)、证书(CERT)的形象解释和组合用法...

1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。5.鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用H...

2016-09-15 18:19:00 1039

原创 RSA加密公私钥生成工具(openssl)

https://www.openssl.org/source/?spm=a219a.7629140.0.0.XVFwwQ

2016-09-15 13:00:12 454

原创 slf4j-api 1.6.x (or later) is incompatible with this binding.解决方案及原理

前几天搭建工程的时候,每次启动总会报这个异常:[java] view plain copy  SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.  SLF4J: Your binding is version 1.5.5 or earlier.  SLF4J: Up...

2016-09-08 15:20:39 658

原创 服务降级

服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。服务降级方式:服务接口拒绝服务:无用户特定信息,页面能访问,但是添加删除提示服务器繁忙。页面内容也可在Varnish或CDN内获取。 页面拒绝服务:页面提示由于服务繁忙此服务暂停。跳转到varnish或nginx的一个静态页面。延迟持久化:页面访问照常,...

2016-09-08 15:20:27 161

原创 linux下sed命令对文件执行文本替换

让我们看一下 sed 最有用的命令之一,替换命令。使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换。下面是该命令最基本用法的示例:$ sed -e 's/foo/bar/' myfile.txt上 面的命令将 myfile.txt 中每行第一次出现的 'foo'(如果有的话)用字符串 'bar' 替换,然后将该文件内容输出到标准输出。请注意,我说的是每行第一次出现,尽管这...

2016-09-08 15:19:48 333

原创 ibatis queryForObject() 、queryForList()、queryForMap()

先说点基础的内容,iBatis并不是真正意义上的ORM,官方文档中称其为dataMapper,是数据映射器,也就是一种映射查询工具。iBatis不是万能的,在某些它不能处理的问题时,不能放弃使用JDBC API,那才是根本中的根本。    在iBatis中,建议使用JavaBean,因为我们是面向对象的设计,那么在系统设计时肯定创建了很多刻画具体对象的类,使用JavaBean就可以直接操作get...

2016-09-08 15:18:55 500

原创 Java软件工程师就业思维图(2016年版)

http://toutiao.com/a6319714152722104578/ Java软件工程师就业思维图(2016年版)想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的。一、专业技能1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习...

2016-08-18 15:21:16 251

原创 RPC原理详解

RPC 功能目标RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。 下面我们将具体细化 stub 结构的实现。RPC 调用分类RPC 调用分以下两种:同步调用客户方等待调用执行完成并返回结果。异步调用客户方调用后不用等待执行...

2016-06-23 20:47:10 236

原创 Java并发之CountDownLatch、CyclicBarrier和Semaphore

这次说一下 JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和 Semaphore(不知道有没有初学者觉得这三个的名字不太好记)。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。(下面的代码出自 JDK 文档)CountDownLatch直译过来就是倒计数(CountDown)门闩(Latch)。倒计数不用说...

2016-06-23 20:36:42 105

原创 线程间协作的两种方式:wait、notify、notifyAll和Condition

在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无限等待下去。因此,一般情况下,当队列满时,会让生产者交出对...

2016-06-23 20:35:48 106

原创 linux下查看cpu物理个数和逻辑个数

[plain] view plain copy hadoop@chw-desktop3:~$ cat /proc/cpuinfo  processor   : 0  vendor_id   : GenuineIntel  cpu family  : 15  model       : 2  model name  : Intel(R) Pentiu...

2016-06-21 11:19:34 137

原创 spring中bean使用parent属性来减少配置

在基于spring框架开发的项目中,如果有多个bean都是一个类的实力,如配置多个数据源时,大部分配置的属性都一样,只有少部分不一样,经常是copy上一个的定义,然后修改不一样的地方。其实spring bean定义也可以和对象一样进行继承。示例如下: <bean id="testBeanParent"  abstract="true"  class="com.wanzheng90....

2016-05-30 14:53:40 212

原创 事务相关内容详解(Spring、java)

Spring的事务传播性与隔离级别 一、事务的四个特性l  原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。l  一致性:数据不会因为事务的执行而遭到破坏。l  隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。l  持久性:一个事务一旦提交,它对数据库的改变将是永久的。 二、事务的实现方式...

2016-05-18 14:28:03 132

原创 金额操作使用BigDecimal

金额操作使用BigDecimal,使用double的话会有精度损失 MultiCurrencyMoney:/**     * 构造器。     *     * <p>     * 创建一个具有金额<code>amount</code>元和指定币种<code>currency</code>的货币对象。   ...

2016-05-18 13:58:26 749

原创 Spring事务传播机制与隔离级别

转自:http://blog.csdn.net/edward0830ly/article/details/7569954 (写的不错) 事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7...

2016-05-18 13:47:16 310

原创 使用TransactionTemplate 编程式控制事务

http://wzhw2008.iteye.com/blog/1687523 http://blog.csdn.net/zq9017197/article/details/6321391 spring可以支持编程式事务和声明式事务。Spring使用事务管理器,每个不同平台的事务管理器都实现了接口:PlatformTransactionManager此接口是事务管理的核心,...

2016-04-25 10:27:31 1197

原创 The final local variable xxx cannot be assigned, since it is defined in an enclo

 本文就自己编程时候遇到的一个问题,简要描述一下,并提出解决的方法:               出错信息:The final local variable xxx cannot be assigned, since it is defined in an enclosing type“,其中xxx是一个局部变量名              首先这是一个java编译时的错误,翻译成中文是...

2016-04-24 17:42:50 1368

原创 数据库客户端工具Navicate Premium

数据库客户端工具Navicate Premium

2016-04-04 11:08:09 209

原创 linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令  在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。                (2)grep是根据文件的内容进行查找,会对文件的每一行按照...

2016-04-01 12:23:18 125

原创 一个奇葩的excel中无法trim的“空格”的问题

太奇怪了。打印出来的命名是空格,就是 trim() 不管用。第一次知道还有160号空格。大家看代码吧Java代码  System.out.println(StringEscapeUtils.unescapeHtml4(" ").equals(" "));    System.out.println((int)StringEscapeUtils...

2016-03-29 16:21:03 363 1

原创 List深度复制

昨天弄了一个类似List<Map<String, List<String>>>这样的list的复制,结果无论使用new ArrayList<>(srcList),还是Collections.copy(dest, src),貌似都是浅复制,改变新的List就会影响原来的,今天发现下面的方法很简单,记录下来   import java...

2016-02-17 09:34:23 493

原创 抓包篡改数据的工具Burp Suite

http://drops.wooyun.org/tools/1548

2015-12-27 11:05:59 1313

原创 Linux查看日志命令

http://jingyan.baidu.com/article/656db918fccd01e381249c2b.html

2015-12-21 18:35:06 197

简明易懂编译原理课件

此课件以简明扼要的语言描述编译器的组成部分及各个阶段的功能,使读者不必通读烦琐语言晦涩的书籍即可掌握编译器的原理,且课件内部包含许多实例,让读者以实际操作的手段了解学习编译原理该做什么,能做什么。

2009-05-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除