读书笔记
Jacky-止涯
这个作者很懒,什么都没留下…
展开
-
Linux常用命令笔记-ftp/sed/awk
FTP FTP (File TransferProtocol文件传输协议),就是专门用来传输文件的协议。FTP服务器,是互联网上提供存储空间的计算机,它们依照FTP协议提供服务。 SFTP和FTP的语法几乎一样。只是SFTP(安全文件传送协议)作为SSH的一部份是Secure的,为传输文件提供一种安全的加密/解密方法,所以传输效率比普通的FTP要低得多。所以原创 2013-11-20 19:53:51 · 2064 阅读 · 0 评论 -
ThreadLocal失效
在JDK中,解决线程冲突问题,有两种解决方案:l 给临界区加锁;l 本地化临界区。第一种解决方案的典型代表是Synchonized。第二种的典型代表是ThreadLocal。而CopyOnWrite是这两种方案的融合。原创 2016-03-08 15:11:08 · 3708 阅读 · 0 评论 -
生成唯一序列号 Unique ID
程序取号的锁竞争和网络延迟是不可避免的,所以最理想的Unique ID策略还是本地生成:把发号器内嵌到每个程序中,同时保证生成标准的同步。原创 2016-02-01 11:07:36 · 11848 阅读 · 1 评论 -
Unique ID策略
下面对比几个典型的Unique ID策略。程序号采用分配的形式,每个进程/线程启动的时候申请一个唯一的WorkerID,关闭的时候再回收。20bit能支持100w个WorkerID,应该也够用了。WorkerID可以通过Redis/ZK/MySQL/单独服务来管理。转载 2016-02-01 11:35:45 · 2441 阅读 · 0 评论 -
Unique ID的特性需求分析
UniqueID在一个真实的系统里可能也可以承担更多的作用。概括起来主要有以下几点:l 唯一性l 时间相关l 粗略有序l 可反解l 可制造转载 2016-02-01 11:17:24 · 1444 阅读 · 0 评论 -
重视[读写分离]的delay影响
最近参考了公司的文档,整理了一下读写分离的delay影响。读写分离 过去我们几乎都只是宣扬读写分离的好处,往往没有重视由此带来的问题。 读写分离大大提高了我们系统的读写性能、可扩展性以及高可用性,同时也带来了主从的delay。这个主从delay对不同业务有不同程度的影响,有一些甚至会造成致命的bug,特别是在支付领域,我们不得不重视起来。原创 2015-08-18 00:05:14 · 3089 阅读 · 2 评论 -
MySQL的主从复制,半同步复制
主从复制 MySQL数据库支持同步复制,单向、异步复制,在复制的过程中一个服务器充当主服务器,而一个或多个服务器充当从服务器。 单向复制有利于健壮性、速度和系统管理:l 健壮性:主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器作为备份,实现更加健壮的故障切换。l 速度快:通过在主服务器和原创 2015-09-30 15:46:36 · 1115 阅读 · 0 评论 -
MySQL高可用方案-MHA
MHA是MySQL High Available的缩写,一般指一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用。 MHA易于安装和部署,不需要改变现有部署,也不影响服务器性能 (1 ping/3s),而且可以完全部署到Slave上,节约了新服务器的成本。 如此轻量的部署,就能提供自动监控master和故障转移 (dow转载 2015-10-03 11:25:28 · 1821 阅读 · 0 评论 -
Redis集群方案的对比
Redis集群方案 长期以来,Redis本身仅支持单实例,内存一般最多10~20GB。这无法支撑大型线上业务系统的需求。而且也造成资源的利用率过低,毕竟现在服务器内存动辄100~200GB。 为解决单机承载能力不足的问题,出现了不少集群方案,物理上把数据“分片”存储在多个Redis实例。(一般情况下,每一片对应一个Redis实例) 其中最原创 2015-08-23 17:40:03 · 2617 阅读 · 0 评论 -
Git的状态转换
状态跳转 就本地仓库来看,Git可以分成5个不同的状态,可以通过$ git status来查看。这五个状态可以互相转换,具体操作详见下面的“版本回退/整合”。 当然,有些文件很有用,不能删除又不能提交,如Eclipse的项目文件. project等。这种情况最好就是选择把他们忽略掉,可以通过修改根目录的.gitignore文件,或者update-inde原创 2015-08-23 18:08:22 · 2333 阅读 · 0 评论 -
[科普]原码,反码,补码由来
在计算机内部,所有信息都是用二进制数串的形式表示的整数。是整数就有正负之分,而这个正负也需要用二进制来表示,所以一般会用最高有效位作为符号位,0表示正号、1表示负号。这种正负号数字化的机内表示形式就称为“机器数”,而相应的机器外部用正负号表示的数称为“真值”,将一个真值表示成二进制字串的机器数的过程就称为编码。 带符号整数有原码、反码、补码、移码等几种编码方式:1)原创 2015-03-01 00:51:11 · 2690 阅读 · 2 评论 -
Reactor反应器模式
最近学习NIO,看《Netty权威指南》的时候,讲JDK1.5的NIO提到了Reactor模式。所以参考《Netty权威指南》,结合JDK的NIO中Selector来简述一下Java中Reactor模式的实现。原创 2015-02-28 20:42:46 · 1064 阅读 · 0 评论 -
String的不可变性
String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。String类不可变性的好处1.只有当字符串是不可变的,字符串池才有可能实现。字符串池的实现可以在运行时节约很多heap空间,因为不同的字符串变量都指向池中的同一个字符串。但如果字符串是转载 2015-01-18 23:46:51 · 829 阅读 · 0 评论 -
DAO模式
DAO(Data Access Object)模式实际上是两个模式的组合,即DataAccessor 模式和 Active Domain Object 模式。其中DataAccessor模式实现了数据访问和业务逻辑的分离,而Active Domain Object 模式实现了业务数据的对象化封装,一般我们将这两个模式组合使用。Data Accessor模式实现了数据访问和业务逻辑的分离:就转载 2014-03-17 00:42:12 · 1329 阅读 · 0 评论 -
Linux常用命令笔记-Shell
Shell 何为Shell,就是用户和操作系统核心交互的工具,用户通过Shell向操作系统发送指令,来支配系统中的硬软件设备。在Linux上使用的Shell有很多,其中最为广泛的要数Bash(BourneAgain Shell,简称sh),一般Linux都是以这个为预设的Shell。 想知道现在用的是什Shell,可以 [echo $SHELL] History原创 2013-11-17 01:00:13 · 2348 阅读 · 2 评论 -
Linux常用命令笔记-Shell Script
Shell Script顾名思义,Shell Script就是利用 shell所写的一个脚本,简单来说就是将许多shell指令集合起来,可以一次执行。相当于dos中的.bat批次文件。Shell脚本是最常用的系统管理工具,一般用来结合程序完成工作。--------------------------------Demo--------------------------------原创 2013-11-17 00:51:56 · 1675 阅读 · 0 评论 -
加解密-overview
转载于:http://blog.sina.com.cn/s/blog_9d357d970100zl8d.html一、基础知识:1、互联网上中间人攻击通常用的三种方式:1)窃听 2)数据篡改 3)会话劫持2、数据加密的常用的三种方式有:对称加密、非对称加密、单向加密。3、ssl:secure socket layer:安全的套接字层。4、TLS:Transport Layer Security转载 2017-11-05 22:19:16 · 376 阅读 · 0 评论