学习笔记(22):第2章 架构师内功心法之设计模式 -迭代器模式详解

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。 我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。 本章内容将按照创建型模式(工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式)、结构...
分类: 其他 发布时间: 01-22 23:49 阅读次数: 0

学习笔记(24):第2章 架构师内功心法之设计模式 -状态模式详解

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。 我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。 本章内容将按照创建型模式(工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式)、结构...
分类: 其他 发布时间: 01-22 23:49 阅读次数: 0

学习笔记(25):第2章 架构师内功心法之设计模式 -备忘录模式详解

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。 我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。 本章内容将按照创建型模式(工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式)、结构...
分类: 其他 发布时间: 01-22 23:48 阅读次数: 0

学习笔记(28):第2章 架构师内功心法之设计模式 -观察者模式详解

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。 我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。 本章内容将按照创建型模式(工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式)、结构...
分类: 其他 发布时间: 01-22 23:48 阅读次数: 0

学习笔记(29):第2章 架构师内功心法之设计模式 -访问者模式详解

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。 我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。 本章内容将按照创建型模式(工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式)、结构...
分类: 其他 发布时间: 01-22 23:48 阅读次数: 0

学习笔记(30):第2章 架构师内功心法之设计模式 -各设计模式总结与对比(上)

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。 我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。 本章内容将按照创建型模式(工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式)、结构...
分类: 其他 发布时间: 01-22 23:48 阅读次数: 0

学习笔记(32):第1章 分布式基础之并发编程-了解多线程的意义和使用(上)

1. 线程安全性分析,主要内容包括原子性、可见性、有序性等分析。以及Atomic包; CAS算法、Synchronized、Lock、Happens-before等。2. 线程的安全性手段,ThreadLocal、同步容器、并发容器、J.U.C包等3. AQS以及其他J.U.C组件,如CountDownLatch、Semaphore、CycliBarrier、ReentrantLock...
分类: 其他 发布时间: 01-22 23:47 阅读次数: 0

学习笔记(33):第1章 分布式基础之并发编程-了解多线程的意义和使用(下)

1. 线程安全性分析,主要内容包括原子性、可见性、有序性等分析。以及Atomic包; CAS算法、Synchronized、Lock、Happens-before等。2. 线程的安全性手段,ThreadLocal、同步容器、并发容器、J.U.C包等3. AQS以及其他J.U.C组件,如CountDownLatch、Semaphore、CycliBarrier、ReentrantLock...
分类: 其他 发布时间: 01-22 23:47 阅读次数: 0

学习笔记(34):第1章 分布式基础之并发编程-并发编程的挑战 01

1. 线程安全性分析,主要内容包括原子性、可见性、有序性等分析。以及Atomic包; CAS算法、Synchronized、Lock、Happens-before等。2. 线程的安全性手段,ThreadLocal、同步容器、并发容器、J.U.C包等3. AQS以及其他J.U.C组件,如CountDownLatch、Semaphore、CycliBarrier、ReentrantLock...
分类: 其他 发布时间: 01-22 23:47 阅读次数: 0

学习笔记(35):第1章 分布式基础之并发编程-并发编程的挑战 02

1. 线程安全性分析,主要内容包括原子性、可见性、有序性等分析。以及Atomic包; CAS算法、Synchronized、Lock、Happens-before等。2. 线程的安全性手段,ThreadLocal、同步容器、并发容器、J.U.C包等3. AQS以及其他J.U.C组件,如CountDownLatch、Semaphore、CycliBarrier、ReentrantLock...
分类: 其他 发布时间: 01-22 23:46 阅读次数: 0

学习笔记(37):第1章 分布式基础之并发编程-探索线程安全性背后的本质之volatile 02

1. 线程安全性分析,主要内容包括原子性、可见性、有序性等分析。以及Atomic包; CAS算法、Synchronized、Lock、Happens-before等。2. 线程的安全性手段,ThreadLocal、同步容器、并发容器、J.U.C包等3. AQS以及其他J.U.C组件,如CountDownLatch、Semaphore、CycliBarrier、ReentrantLock...
分类: 其他 发布时间: 01-22 23:46 阅读次数: 0

安装xshell5报错:丢失nslicense.dll

问题:在安装xshell5的时候报错:丢失nslicense.dll首先我去找了一下 Windows32里面的确没有这个文件   网上去下载了一个  并没有卵用然后网上百度:看到一个是 说 环境变量 TEMP 目录路径不能为中文的,但是我的电脑并不是中文的,所以他的解决方案对我不管用。解决:无意间 卸载了Java8 JDK。后居然可以安装xshell了新的问题 xftp 也
分类: 其他 发布时间: 01-22 23:46 阅读次数: 0

confluence挖矿病毒解决

自己安装了conference,没用1周。发现服务器内存被吃完了。定位问题:1、之前就听说过confluence 有漏洞 攻击者会利用confluence编辑页面的某个参数进行写入攻击。所以直接在百度搜索:confluence挖矿病毒2、感谢https://www.cnblogs.com/hack404/p/11464890.html作者的帮助。处理过程:1. 先封掉外网HTTP 端口使用腾讯云控制台 安全组 设置80端口不允许访问。2. 查杀进程使用命令:top 查..
分类: 其他 发布时间: 01-22 23:46 阅读次数: 0

分布式流水号生成器

引用http://stor.51cto.com/art/201711/558600.htm的最终方案实现。使用数据库自增id 作为序列,使用支持多个服务。1、使用 REPLACE INTO SEQUENCE_GENERATOR_TABLE (stub) VALUES (“192.168.1.1”);实现id 自增并返回对象中。2、每个id在内存中缓存并扩大1000倍。3、到达1000后重新获取。实现后、使用:定义自己的序列不定义会取默认设置、长度20位。没有前缀和后.
分类: 其他 发布时间: 01-22 23:45 阅读次数: 0

请求量猛增,系统优化,服务优化

公司上个月用户量增加到160W,日活在50W,日请求量在3亿条,并发在4万左右。我们公司框架用的spring cloud 集成了 nacos 、zuul、xxljob、sharding分库分表、redis、rocketmq。遇到好多问题:1、当时买服务器的时候磁盘买小了100G,打日志都不够。有预见性的同学可以先计算一下磁盘用量再购买。a、nginx使用日志切割sh,每天定时切割,并删除日志b、nacos日志超级大,每天都有几十个G,因为已经上线,不想重启,索性还是用sh命令去删吧c
分类: 其他 发布时间: 01-22 23:45 阅读次数: 0

私有gitlab导入码云代码失败

1、使用私有仓库URL导入项目2、输入账号密码导入失败。账号密码都是正确的能登录码云。原因:导入账号不允许带有@,所以一切邮箱形式的账号不允许导入解决办法:1、账号绑定手机号码,使用手机号码导入2、代码仓库设置其他的不是邮箱账号的人为管理员,再以新换的账号导入...
分类: 其他 发布时间: 01-22 23:45 阅读次数: 0

【密码学原理与实践】(一)移位密码 附java代码实现

移位密码(Shift Cipher)转载请著名出处密码体制一个密码体制是满足以下条件的五元组(P,C,K,E,D)P表示所有可能的明文组成的有限集C表示所有可能的密文组成的有限集K表示秘钥空间,由所有可能的密钥组成的有限集对每一个k∈K,都存在一个加密规则ek∈E和相应的解密规则dk∈D,并且对ek:P->C,dk:C->p,满足条件:对每一个明文x∈P,均有dk(ek(x)))=x在学习移位密码之前需要了解的是移位密码的基础是数论中的模运算。所以首先来看模运算的基本定义
分类: 其他 发布时间: 01-22 23:45 阅读次数: 0

【密码学原理与实践】(二)代换密码 符java代码实现

代换密码(Substitution Cipher)转载请著明出处定义令P=C=Z26,K是由26个数字0,1,…25的所有可能的置换组成,对任意的π∈K,定义eπ(x)=π(x)和dπ(y)=π-1(y),这里的π-1表示置换π的逆置换。与上一节移位密码相比,移位密码的加密和解密都是代数运算,但是在代换密码的情形下,可简单将加密和解密过程直接看做是一个字母表上的置换。因为代换密码比较简单,将不做过多的介绍,需要注意的是代换密码的秘钥空间大小是26!>4.0×1026是一个很大的数,因
分类: 其他 发布时间: 01-22 23:44 阅读次数: 0

【密码学原理与实践】(三)仿射密码 符java代码实现

仿射密码(Affine Cipher)转载请著明出处仿射密码是代换密码的一种特殊情况。在学习仿射密码之前我们首先需要了解几个定理定理同余方程唯一解定理设a ∈ Zm,对任意的b∈Zm,同余方程ax ≡ b (mod m)有唯一解x∈Zm的充分必要条件是gcd(a, m) = 1*.*证明:假设gcd(a,m)=d>1,则同余方程ax=0(modm)至少有两个解,分别是x=0和x=m/d。这种情况下e(x)=(ax+b)modm不是一个单射函数,因此不能用了作为一个有效的加密函数。
分类: 其他 发布时间: 01-22 23:44 阅读次数: 0

【密码学原理与实践】(四)维吉尼亚密码 符java代码实现

维吉尼亚密码(Vigenere Cipher)转载请著明出处无论是移位密码还是代换密码,一旦秘钥被选定,则每个字母对应的数字都被加密变换成对应的唯一数字。我们称这种为单表代换密码,而本篇讲的是一种多表代换密码。定义设m是一个正整数,定义P=C=K=(Z26)m,对任意的秘钥K=(k1,k2,k3…km)定义Ek(x1,x2,x3…xm)=(x1+k1,x3+k2…xm+km)和Dk(y1,y2…yk)=(y1-k1,y2-k2…ym-km)以上所有的运算都是在Z26上进行。对应于之前的
分类: 其他 发布时间: 01-22 23:44 阅读次数: 0