Blog


Java 设计模式总结

创建类模式

1. 单例模式

特点:全局唯一,所有类共享一个实例化对象

使用场景:一个类独占一个唯一资源时考虑使用。如蓝牙等 IO 类,或者根,管理器等虚拟类。其他情况应慎重使用。

2. 工厂模式

特点:用户无需知道实例构造方法,方便用户实例化

使用场景:直接实例化一个对象较为复杂(需要多步)时;一个对象(接口)对应多种实现,而用户无需关注具体实现类是哪个时。

3. 抽象工厂模式

特点: 工厂的工厂

使用场景:存在多个平行的工厂模式实现类时。

4. 建造者模式

特点: 一个 Builder 类对应一个类,通过链式调用不断添加参数,在最后调用 build() 实例化对应类。[……]

继续阅读




Sublime Android Studio Logcat 高亮语法插件

网上找的都是旧的 Logcat 格式,Android Studio 日志格式不适配。于是自己改了一个:

https://gist.github.com/sickworm/8ae911809f29c38767171767aed2ed3d

使用方法:
点击 Preferences -> Browse Packages(Windows)或 Sublime Text -> Preferences -> Browse Packages(Mac),把上面的文件扔进 User 文件夹中,重启,打开日志文件,右下角选择 Logcat (Android Studio)。

默认识别 *.log, *.logcat[……]

继续阅读




Java右移每32位(64位)循环

  • 2018年11月15日
  • Java

结果:

而如果是int, short, byte:

结果是:

  • 为何出现这样的情况?
  • 猜测是机器码只会截取低8bit/4bit作为移位量。(需反编译,待续)

  • 为何int short boolean和long不一样?

  • Java运算时默认将操作数扩展为int(long位数大于int所以不会变化),所以int,short,bo[……]

    继续阅读






区块链基础知识介绍ppt

PPT 为公司内部的知识分享而做,从软件和架构的角度介绍了区块链的基本结构和运行方式。因为公司是商业密码公司,所以密码学的相关知识没有在 PPT 中介绍

区块链基础知识-陈浩

版权所有,转载请注明出处:
https://sickworm.com/?p=432

[……]

继续阅读




比特币多种输出脚本(outputScript,scriptPubKey)介绍

目前可见outputScript(scriptPubKey)格式:(参考https://bitcoin.stackexchange.com/questions/73758/what-are-the-standard-formats-of-transaction-outputs

p2pk
43 41
data(0x41):04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ac
23[……]

继续阅读




比特币隔离见证交易格式解析(Segregated witness)

如果你还不了解经典交易构成,请看:https://blog.csdn.net/q4878802/article/details/49638457

隔离见证交易相关规范:

BIP141

BIP143

BIP144

BIP173

隔离见证 Segregated witness 交易解析

交易:https://testnet.blockchain.info/tx/f299afe17901f5a8d87f306c13f42c6fbf3d5b5de090973cf0fd34d403ccd2b8

交易报文:

01000000
00 // marker,固定值,旧交易不能txin coun[……]

继续阅读




实现比特币BTC交易重发(Opt-In Replace-by-Fee,Opt-In RBF)

当你的交易因为交易费用过低而迟迟不能被节点确认,而又没有被节点抛弃的时候,你可能需要交易重发这个功能。而交易重发实际上就是,将保存在节点交易内存池中的你的交易(因为还没被确认)替换成新的交易。

BTC交易重发的三种方法:

  1. Opt-In Replace-by-Fee,简称 Opt-In RBF 或 RBF。将更高手续费用的交易提交到节点,也是本文着重介绍的方法。具体规范:BIP125
  2. CPFP,Child Pays for Parent。使用未确认交易的输出,并给予较高手续费。此时节点如果要打包这个子交易,则必须将其低手续费的父交易也一并打包。具体策略应该是一系列交易的平均手续费(未确认)[……]

    继续阅读




腾讯云自媒体分享计划

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=wotgdo5wqshi[……]

继续阅读




比特币要解决什么问题?

本系列文章标题为码农翻身的小密圈中圈主提出的问题,下面是我跟帖的回答

比特币解决了第三方发放信用货币时可能产生的问题。

首先,人民币是有价值的。为什么这些人民币纸币有价值呢?因为这是国家发行的,而国家说他是有价值,我们人民群众也认可国家。所以,人民币可以在我们之间交易,2元人民币可以买包方便面,10元可以买包巧克力。

然后我们思考一下,人民币会永远有这样的价值吗?不一定。什么情况下人民币会失去价值?亡国了!中央银行为了解决国库空虚,无限制地增发货币!这并不是不可能,世界上某些国家曾经,甚至正在上演这样的事情。人民币有价值,是国家向我们保证人民币是没问题的,你们可以放心使用。当发行[……]

继续阅读