摘要:
2.1、算法基本规则: 加密的算法公开 加密的密钥不公开 Base64算法公开、密钥也公开的特性不符合基本算法规则,所以很容易被破解,所以一般不用于企业级的加密操作。 2.2、应用场景 简单加密(加密要求不高的情况下,即一眼看不穿的那种情况下使用) 加密(改造字符映射表,即私藏秘钥) 电子邮件传输( 阅读全文
摘要:
HashMap源码解析 5.1、对于HashMap需要掌握以下几点 Map的创建:HashMap() 往Map中添加键值对:即put(Object key, Object value)方法 获取Map中的单个对象:即get(Object key)方法 删除Map中的对象:即remove(Object 阅读全文
摘要:
一、对于ArrayList需要掌握的七点内容 ArrayList的创建:即构造器 往ArrayList中添加对象:即add(E)方法 获取ArrayList中的单个对象:即get(int index)方法 删除ArrayList中的对象:即remove(E)方法 遍历ArrayList中的对象:即i 阅读全文
摘要:
1、常见的两种缓存 本地缓存:不需要序列化,速度快,缓存的数量与大小受限于本机内存 分布式缓存:需要序列化,速度相较于本地缓存较慢,但是理论上缓存的数量与大小无限(因为缓存机器可以不断扩展) 2、本地缓存 Google guava cache:当下最好用的本地缓存 Ehcache:spring默认集 阅读全文
摘要:
13.1 dubbo服务降级源码解析 从 9.1 客户端发起请求源码 的客户端请求总体流程图中,截取部分如下: //代理发出请求 proxy0.sayHello(String paramString) -->InvokerInvocationHandler.invoke(Object proxy, 阅读全文
摘要:
第十章 dubbo线程模型 一 netty的线程模型 在netty中存在两种线程:boss线程和worker线程。 1 boss线程 作用: accept客户端的连接; 将接收到的连接注册到一个worker线程上 个数: 通常情况下,服务端每绑定一个端口,开启一个boss线程 2 worker线程 阅读全文
摘要:
9.1 客户端发起请求源码 来看一下客户端请求代码: 1 DemoService demoService = (DemoService) context.getBean("demoService"); // 获取远程服务代理 2 String hello = demoService.sayHello 阅读全文
摘要:
7.6 服务远程暴露 - 注册服务到zookeeper 为了安全:服务启动的ip全部使用10.10.10.10 远程服务的暴露总体步骤: 将ref封装为invoker 将invoker转换为exporter 启动netty 注册服务到zookeeper 订阅 返回新的exporter实例 在7.4 阅读全文
摘要:
6.1 如何在spring中自定义xml标签 dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model; 2 3 p 阅读全文
摘要:
重要的网址: dubbo的github:https://github.com/alibaba/dubbo dubbo官网:http://dubbo.io/ dubbo使用者手册:https://dubbo.gitbooks.io/dubbo-user-book/ dubbo管理者手册:https:/ 阅读全文