自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 RPC - 远程过程调用

本地过程调用RPC就是要像调用本地的函数一样去调远程函数。在研究RPC前,我们先看看本地调用是怎么调的。假设我们要调用函数Multiply来计算lvalue * rvalue的结果:1 int Multiply(int l, int r) {2 int y = l * r;3 return y;4 }5 6 int lvalue = 10;7 int rvalue = 20;8 int l_times_r = Multiply(lvalue, rvalue);那么在第8

2021-07-12 13:43:19 220

转载 Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于 @Transactional 注解的方式。本文将着重介绍基于 @Transactional 注解的事务管理。需要明

2021-07-06 14:33:59 1036

原创 Thread --- InheritableThreadLocal 类

前言对Java中的线程,父线程的概念,只是一种逻辑称呼,创建线程的当前线程就是新线程的父线程,新线程的一些资源来自于这个父线程在init方法中,对于所谓父线程的处理逻辑,换一个说法就是借助于当前正在运行的线程,对新创建线程进行一些必要的赋值与初始化。一、InheritableThreadLocal与ThreadLocal的联系首先我们先来认识下:ThreadLocal 类,这是一个类似于 Entry<K,V> 形式 的数据结构。接着是 ThreadLocal 的内部类: T

2021-06-29 16:44:05 281

转载 什么是 JWT -- JSON WEB TOKEN

什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。起源说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区

2021-06-22 10:16:50 127 1

转载 GitHub教程 SSH keys配置

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。 在管理Git项目上,有两种克隆到本地的方法。 直接使用https url克隆到本地使用SSH url克隆到本地 这两种方式的主要区别在于: 使用https url对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这...

2021-06-22 09:49:50 1800

转载 GitHub教程 Git Bash详细教程

作为一个萌新,我翻遍了网上的Git Bash教程,可能因为我理解力比较差,经常看不懂教程上在说什么。 (。-`ω´-)所以我决定自己一边摸索一边记录,写教程造福那些理解力跟我一样差的人…… 文章目录 1 下载安装2 设置用户3 本地文件夹的操作3.1 进入文件夹3.2 ...

2021-06-22 09:30:42 22390 3

翻译 死后

你死在回家的路上。是车祸。没有很离奇,但依旧致命。你丢下妻子和一双子女。你死得并不痛苦。急救人员尽了最大努力,但回天乏术。你的身体四分五裂,还不如死了,相信我。这时候你看到了我。“怎……怎么回事?”你问,“我在哪?”“你死了,”我直接地说,一点也不委婉。“一辆……一辆卡车,它侧滑了……”“没错,”我说。“我……我死了?”“嗯。但是别难过,人固有一死。”我说。你四下张望,周围一片虚空,只有你我。“这是什么地方?”你问,“这是死后的世界吗?”“可以这么说吧,”我说。“你是上帝吗?”你问。

2021-01-25 18:02:27 125

转载 价值

景王问政于管氏:“杀一人以利天下,可以吗?”管氏说:“不可以。”景王问:“为什么呢?”管氏说:“杀人的应当是法律,不应肆意剥夺任何无辜之人的生命。”景王问:“杀了他可以挽救一万个人的性命,也不应该做吗?他无辜,一万个人也无辜。一个人的无辜,和一万个人的无辜,谁重呢?”管氏说:“一样重。”景王笑。管氏继续说:“杀戮无辜,有害国法。害国法而不知,却以为行的是理所当然的事,臣私下里为国君担忧。”景王正色道:“那寡人又该如何处理这样的事情呢?”管氏说:“是谁要害这一万人,就惩治谁。如果是另外一个人,

2021-01-25 17:54:08 162

原创 Maven---基础核心内容篇

Maven一、 介绍我们来假设一个场景,目前你打算开始开发一个项目,在决定了改项目使用的框架之后,接下来,你需要到个框架的官网去下载相应的jar包,各种各样的,有可能有冲突的,有可能不是最新的,版本可能需要更新等等之类的问题,这些问题需要花费你大量的时间,进行排查,审核,最终才能运用到项目中,后面的过程中,一旦出现版本更新,版本冲突…为了解决上述问题,于是,Maven,Ant,Gradle 等优秀的项目管理、构建工具应运而生。本章文章将带你全面的了解以及使用 Maven 。一、 本质Mav

2020-08-25 15:37:54 238

原创 Maven---jar包冲突本质及解决方案

一、核心机制在解决问题之前,我们需要先清楚下面这些机制<1>、双亲委派原则Java是运行在Java的虚拟机(JVM)中的。首先,我们编写的Java源代码被会被编译器编译成.class的字节码文件。然后再由ClassLoader负责将这些 .class 文件加载到JVM中去执行。当某个 ClassLoader 需要加载某个 .class 文件时,它首先把这个任务委托给他的上级 ClassLoader ,递归这个操作,如果上级的 ClassLoader 没有加载,自己才会去加载这个类。

2020-08-24 11:14:02 445

原创 Spring---日志操作 slf4j+logback

日志配置日志组件对于一个系统的重要性不言而喻,日志能帮我们快速定位线上问题,帮助我们快速找出问题处理问题。一、今生前世1、Simple Logging Facade for Java (SLF4J)SLF4J 是一个日志接口,由其他日志来实现具体的操作,SLF4J为了解决JCL的缺点而生,简单易用。slf4j(全称是Simple Loging Facade For Java)是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案。因此单独的slf4j是不能工作的,它必须搭配其

2020-08-18 17:34:31 327

原创 三人行,必有我师

前言本文所有内容均来自网络,是作者读过的好文收藏与此,感谢原作者的劳动结果。1、Socket通信原理讲述了TCP/IP等协议的链接原理,通过Socket的创建链接通信地址:Socket通信原理

2020-08-10 18:52:09 193

原创 FTP---Java+FTP+阿里云服务器

声明该文并不讨论相关基本配置搭建、基础代码等问题,需要的可自行百度。本文提供给:当你一切都搭建配置好,相关工具类写好,却无法运行处理数据时,提供解决问题的参考。一、服务器相关1、你需要在阿里云服务器管理,实例安全组的入方向添加规则,放行FTP服务器21端口及FTP服务器被动1024/65535端口。进入相应的服务器实例,再点击管理点击左侧本实例安全组配置21/20及1024/65535端口放行2、访问FTP服务器需要使用到外网IP二、FTP相关1、当你配置好FTP站点的目标文件夹后

2020-07-28 11:35:17 301

原创 区块链---双花问题

双花问题双花实际上指的是双重花费,即一份货币使用了两次。传统现实中,因为低延迟网络以及中心化管理的原因,是不会出现双花现象,无论是线下交易的现金支付,或者网上支付的第三方监管交易确认,都可以避免双花问题。那在区块链上面,如何会出现这个问题,又该如何避免?我们通过一个示例来逐步解答:场景:首先,以下示例主要是为了帮助大家理解,我么将区块链上的数字资产统称为:比特币注意:使用比特币来充当数字货币资产是不严谨的,在这里只是为了帮助大家更好的理解。假设小明区块链上的账户总资产为10个比特币。小

2020-06-24 14:49:25 3438

原创 Java---方法引用

方法引用方法引用可以被看作仅仅调用特定方法的Lambda的一种快捷写法。它的基本思想是,如果一个Lambda代表的只是"直接调用这个方法",那最好还是用名称来调用它,而不是去描述如何调用它。针对仅仅涉及单一方法的Lambda的语法糖。如果你想使用一个方法引用,首先你只能为函数式接口进行方法引用,其次,你要清楚的知道该函数式接口的唯一抽象方法的入参以及出参的个数,接着,你就可以使用入参和出参 ...

2020-04-17 15:48:21 220

原创 Java---Lambda表达式

Lambda表达式Lambda表达式的核心思想是将方法体当做参数来使用,称为函数式编程。如果你把世界拆分成类,对象你就得到了面向对象。如果你把世界拆分成事物和事物之间的关系你就得到了函数式。 (Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.getWeight()); lambda参数 箭头 Lambda主...

2020-04-02 17:37:32 146

原创 JavaScript---原型链(ES6 class类继承)

JavaScript—原型链继承class的本质以及继承链每个对象都有__proto__属性,指向其构造函数的 prototype 属性。class 构造实例对象,所以其本质依旧是函数,函数同时拥有 prototype 属性和 proto 属性。class的原型链示例: class A {} var a = new A(); /* ES6的class(非继承)的prototype...

2020-03-31 09:39:34 610

原创 JavaScript---原型链(ES5)

JavaScript—继承(下) prototype关键字介绍prototype源自法语,软件界的标准翻译为"原型",代表事物的初始形态,也含有模型和样板的意义。JavaScript中的 prototype概念恰如其分地反映了这个词的内含。JavaScript的所有function类型的对象都有一个prototype属性。既然prototype是对象的"原型",那么由该函数构造出来的对象应该都...

2019-05-13 09:05:48 329

原创 JavaScript---深拷贝之内存问题

JavaScript—内存问题------栈和堆------栈:》》》》》 Q Q Q,js中的原始值存储在栈中,因为大小固定。堆:》》》》》 先进先出,一般是对象的存储,只将对象的引用(指向地址的指针)存储在栈中,真正的对象则放在堆中。浅拷贝:仅仅只是拷贝引用(指向地址的指针)而已,即建立新的指针,但依旧指向原对象。深拷贝:建立新的指针的同时,也在堆中新建一块内存,赋值原对象的...

2019-05-05 09:10:49 310 2

原创 JavaScript---call()和apply()

JavaScript—继承(上) call()和apply()------1.call()和apply()-------1-1.call()语法:Function.call(obj,param1,param2,…paramN) >参 obj: 这个对象将代替Function类里this对象 >参 params: 是一个参数列表示例:function ClassA(sC...

2019-05-05 09:10:16 114

原创 JavaScript---闭包的理解与使用

JavaScript—闭包的理解与使用在理解闭包之前,我们应该先理解JavaScript闭包存在的理由和原因JavaScript的垃圾回收机制1.垃圾回收机制和C#、Java一样JavaScript有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分配及无用内存的回收问题了。JavaScript 垃圾回收 的机制很简单:找出 不再使用的变量...

2019-04-22 09:04:41 127 1

原创 JavaScript---FileReader、Blob、File 文件处理对象

FileReader、Blob、File对象1.1–FileReader对象隶属于window对象,创建方式: var xxx = new FileReader();该对象拥有的方法FileReader.abort() 中止读取操作。在返回时,readyState属性为DONE。==下列方法为读取数据文件,一旦开始读取,实例的 result属性都会被填充。读取失败,则 result的...

2019-04-14 21:53:47 4081 1

原创 JavaScript---变量的解构赋值.笔记

JavaScript变量的解构赋值1.数组的解构赋值1.1.数组形式的解构赋值 let [foo, [[bar], baz]] = [1, [[2], 3]];// foo = 1、bar = 2、baz = 3 let [ , , third] = ["foo", "bar", "baz"];// third = "baz"只要某种数据结构具有 Iterator 接口,都可以采用数组...

2019-04-08 09:18:47 187

原创 JavaScript---this指向

ES6箭头函数this属性的指向前言防止篇幅太短,附上ES5的this指向…(原谅凑字数(✪ω✪)…)1.情况一(就是大部分情况下)this指向:包含它的函数作为方法被调用时所属的对象看仔细了,是:>>>>【包含它的函数】 【作为方法被调用时】 【所属的对象】 function m(){ console.log(this) } m();实际上就是:...

2019-04-01 09:44:15 191 1

原创 JavaScript---异步函数async内部运行机制

JavaScript异步函数async内部运行机制前言Async函数是ES7引入的用来操作异步的函数,在语法上,Async 函数与Generator 函数非常的类似,在对象性质上,Async 函数与Promise对象又是密不可分的。JavaScript的运行机制在我们探究Async函数内部运行机制执行,我们不得不来先说一说JavaScript这门语言的的运行机制。众所周知…额,JavaSc...

2019-04-01 09:40:59 550 1

原创 React---回调函数的this绑定

React回调函数的this绑定欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

2019-03-17 21:40:16 766 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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