RPC框架称为远程调用框架,其实现的核心原理就是消费者端使用动态代理来代理一个接口的方法(基于JDK的动态代理,当然如果使用CGLib可以直接使用无接口类的方法),通过加入网络传输编程,传输调用接口方法名称,方法参数来给提供者获取,再通过反射,来执行该接口的方法,再将反射执行的结果通过网络编程传回消 ...
分类:
其他好文 时间:
2020-06-26 18:38:27
阅读次数:
64
自己动手写SQL执行引擎 前言 在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。 整体结构 既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍 ...
分类:
数据库 时间:
2020-06-26 18:31:23
阅读次数:
74
xtrabackup 备份 MySQL 8.0.20 时报错: 200626 08:40:59 Connecting to MySQL server host: localhost, user: root, password: set, port: 3306, socket: /data/mysql ...
分类:
其他好文 时间:
2020-06-26 12:40:56
阅读次数:
88
1、基本概念 Docker:打包应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu1 ...
分类:
其他好文 时间:
2020-06-26 12:31:19
阅读次数:
37
一个读较大文件的Channel例子, package org.scaventz.nio.mine; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.Byt ...
分类:
Web程序 时间:
2020-06-26 10:35:41
阅读次数:
65
视频演示: https://www.bilibili.com/video/BV1rv411B7fs/ 一起来完成以下步骤: 该工程演示Spring Boot如何上传、展示和删除文件 页面引擎采用Thymeleaf 后端使用Spring Boot 文件上传使用Form提交方式(而不是Ajax方式或VU ...
分类:
编程语言 时间:
2020-06-25 21:22:22
阅读次数:
73
node.js 一、浏览器 1、浏览器的组成 人机交互部分 - UI 网络请求部分 - socket JavaScript引擎部分 - 解析执行js 渲染引擎部分 - 渲染 HTML、CSS等 数据存储部分 - cookie、HTML5中的本地存储LocalStorage、SessionStorag ...
分类:
Web程序 时间:
2020-06-25 21:15:48
阅读次数:
68
1. 首先,要想接收从其他的窗口发过来的消息,就必须对窗口对象的message事件进行监听,如下代码: window.addEventListener(“message”, function(){},false); 2. 其次,需要使用window对象的postMessage方法向其他窗口发送消息, ...
分类:
Web程序 时间:
2020-06-25 19:48:14
阅读次数:
79
在工作中,会遇到需求多线程处理相应的业务需求,最典型的包括Socket的通信。 多线程处理里,就会考虑到,哪个线程先运转,哪个线程后运转的情况。 这里我介绍一下,运用ManualResetEvent类来对线程进行堵塞和持续操作。 它有三个重要的办法:Reset、Set和WaitOne。 1、首先介绍 ...
分类:
编程语言 时间:
2020-06-25 17:50:33
阅读次数:
60
SSL的由来 SSL(Secure Socket Layer 安全套接层)是TCP/IP协议中基于HTTP之下TCP之上的一个可选协议层。 起初HTTP在传输数据时使用的是明文,是不安全的。为了解决这个隐患,网景(Netscap)公司推出了SSL。而越来越多的人也开始使用HTTPS(HTTP+SSL ...
分类:
其他好文 时间:
2020-06-25 12:18:14
阅读次数:
115