一个想写小说的程序员

苟日新,日日新,又日新。

RSA加密的原理——为什么被公钥加密的可以被私钥解密?

RSA加密的原理——为什么被公钥加密的可以被私钥解密? 目录 一,RSA 数学理论基础 二,RSA实现原理 三,RSA加密的过程 四,参考文献 引言 在密码学最开始,都是使用的普通加密模式 A 用加密规则加密了字符串m 然后发给B ...

2018-08-25 15:32:43

阅读数 11498

评论数 7

git合并多个commit成为一个commit

git合并多个commit成为一个commit 在git使用中,可能会在合并代码的时候有大量的commit,如何能在合并分支的时候将许多commit转化为1个commit呢,可以使用以下命令: git merge –squash 分支/commitId e.g: git me...

2018-08-27 12:11:10

阅读数 353

评论数 0

快速幂取模算法详解

快速幂取模算法详解 假设有大数a和b,无法计算a^b,那么(a^b)%c也就无法计算。例如 a = 2790,b = 2753,c = 3233 所以,有了快速幂取模算法。 1,给出定理 (a^b)%c = (a%c)*(b%c)%c 2,分解b 将b分...

2018-08-25 16:06:00

阅读数 108

评论数 0

高并发缓存处理之——缓存穿透的几种形式及解决方案

缓存失效的几种形式 1 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我...

2018-08-24 19:26:54

阅读数 5674

评论数 0

高并发系统处理之——限流

高并发系统处理之——限流 对于高并发应用服务,有三个很好的方案可以保护系统 1.缓存 缓存的目的是提升系统访问速度和增大系统处理容量 2.降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 3.限流 限流的目的是通过对并发访问/...

2018-08-22 14:17:53

阅读数 711

评论数 0

网络编程中BIO和NIO的区别

网络编程中BIO和NIO的区别 BIO 缺点:每来一个请求就需要一个线程来处理,线程太多容易造成系统不可用.最开始的Tomcat使用的就是BIO 优化:通过线程池来管理线程,但是造成新的缺点:请求太多时不能被处理的请求就回阻塞,等待。不能被处理。正因为限制...

2018-08-17 16:54:56

阅读数 203

评论数 0

用redis实现消息队列(实时消费+ack机制)【转】

用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入。 MQ主要是用来: 解耦应用、 异步化消息 流量削峰填谷 目前使用的较多的有ActiveMQ、RabbitMQ、ZeroMQ...

2018-08-16 18:20:23

阅读数 494

评论数 0

redis aof文件的格式 以及如何批量写入大量redis数据

aof文件的格式 如何能批量写入大量的redis数据 可以通过手写aof文件来写入。 aof文件格式 *3 $3 set $3 we3 $4 1234 第一行的*3代表这个命令有三个参数 第二行的$3代表第一个参数长度为3(set...

2018-08-16 15:45:23

阅读数 656

评论数 0

Redis的事务操作

MULTI 、 EXEC 、 DISCARD 和 WATCH multi 开启一个redis事务 exec执行上一个开启的redis事务 discard 抛弃上一个开启的redis事务 watch 监视一个redis的key,在开始了监视之后,这...

2018-08-16 11:44:39

阅读数 88

评论数 0

一个http-request的源码及改进

一个http-request的源码及改进 这个版本是基于Http-requesthttps://github.com/kevinsawicki/http-request进行升级的http-request。 进行了一下改变: 1.封装了HttpResponse,让request和resp...

2018-08-13 18:38:45

阅读数 556

评论数 0

连接sftp服务器命令

连接sftp服务器 sftp -oIdentityFile=/home/work/.ssh/own_isa -oPort=57000 SFTP_ACCOUNT@192.168.0.1 -v -oIdentityFile 指定连接sftp服务需要的私钥位置 -oPort 指定s...

2018-08-12 20:40:29

阅读数 1851

评论数 0

源码学习【原子类AtomicInteger】Java原子类底层实现(解释详细)

原子类AtomicInteger 在Java中,有很多方法可以保证多线程下数据的安全,AtomicXXXX这些类就是其中的一种,原子类,可以保证每一步操作都是原子操作。这次就对AtomicInteger的源码进行学习。 首先看一下这个类的类变量和成员变量: //类变量 unsafe类【jav...

2018-08-11 10:35:12

阅读数 222

评论数 0

Linux的awk命令使用心得

awk 'BEGIN{RS="<!--|-->"}NR%2' (linux用awk来读取xml文件时,会将注释也读取进来。所以将这个注释标记为行分割符) BEGIN和END命令是指在开始读取之前和之后的操作 RS指行...

2018-08-09 19:12:34

阅读数 47

评论数 0

源码学习【HashMap第一篇】HashMap到底是怎么put的?

HashMap到底是怎么put 的? 这是我的专栏的第一篇,有任何错误,希望大家不吝赐教,共同学习。 写这个专栏主要是自己学习源码的过程,如果对别人能有所帮助,不胜开心~ 关于HashMap中的红黑树这里不做讨论,后续可能会进行源码分析 直接上源码,jdk1.8 put ...

2018-08-08 20:17:52

阅读数 99

评论数 0

java1.8中的时间处理类

java1.8中的时间处理类 在java 1.8中,增加了一些对时间的处理类,对时间的操作更加方便,在使用中对这些类进行了一些总结。 一, 3个时间操作类, LocalDateTime , LocalDate , LocalTime 这三个一般用于操作具体格式的时间...

2018-08-04 15:24:59

阅读数 386

评论数 0

算法—2,记一个自己的算法题 计算数字k在0到n中的出现的次数,k可能是0~9的一个值

3 计算数字k在0到n中的出现的次数,k可能是0~9的一个值 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12) AC int countDigitOne(int n, ...

2018-08-02 19:30:20

阅读数 823

评论数 0

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