自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring(六)核心容器 - 注册单例 Bean 实例、SingletonBeanRegistry 简介

前言 上篇文章我们对注册 Bean 的核心类 BeanDefinitionRegistry 进行了讨论,这里的注册 Bean 是指保存 Bean 的相关信息,也就是将 Bean 定义成 BeanDefinition,然后放入容器中。除此之外,Spring 还提供一个统一操作单例 Bean 实例的类 SingletonBeanRegistry,通过该类可直接对单例 Bean 的实例进行存储、注册等...

2020-02-13 16:34:14 412

原创 如何快速打好Java基础?

二哥,我是一名大学生,专业是电力工程,但想自学 Java,如何快速打好基础呢? 微信上 tison 向我提出了这个问题。我想我是有资格来回答的,从北京奥运会那年开始学 Java,到现在已经有 10 多个年头了,真的是从一名编程白痴一步步走到现在的。 我在各大技术网站上分享了不少 Java 方面的原创文章,不知道影响了多少初学者,反正文章的留言中经常能看到他们由衷的感谢。现...

2020-02-12 16:33:45 318

原创 C++ 模板详解(二):类模板的概念和基本使用方式

与函数模板类似地(C++模板详解(一):函数模板的概念和特性) ,类也可以被一种或多种类型参数化。例如,容器类就是一个具有这种特性的典型例子,它通常被用于管理某种特定类型的元素。只要使用类模板,我们就可以实现容器类,而不需要确定容器中元素的类型。 一、类模板的实现 在这篇博文中,我们使用Stack作为类模板的例子。 (1.1) 类模板的声明 #include <vector>...

2020-02-11 16:32:59 579

原创 koa中间执行机制

start 基于 koa 2.11 按以下流程分析: const Koa = require('koa');const app = new Koa();const one = (ctx, next) => { console.log('1-Start'); next(); ctx.body = { text: 'one' }; console.log('1-End'...

2020-02-10 16:32:43 248

原创 看一遍就理解,图解单链表反转

前言 反转链表是程序员必备的基本素养,经常在面试、笔试的过程中出现。一直觉得反转链表实现代码不是很好理解,决定搬leetcode那道经典反转链表题出来,用十多张图去解析它,希望加深大家对链表反转的理解,谢谢阅读。 leetcode的反转链表原题&答案 题目描述: 反转一个单链表。 输入: 1->2->3->4->5->NULL输出: 5->4-...

2020-02-09 16:34:05 225

原创 Linux防火墙之iptables常用扩展匹配条件(一)

  上一篇博文讲了iptables的基本匹配条件和隐式匹配条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12269717.html;今天在来说说iptabels的一些常用的显示扩展匹配条件,何谓显示扩展匹配条件呢?显示扩展匹配条件就是我们需要用到一些扩展的模块,用-m选项去指定动态加载它。要用iptabels的扩展匹配条件的前提是,我们的系统上要有对应...

2020-02-08 16:34:06 208

原创 什么叫操作系统啊 | 战术后仰

操作系统 现代操作系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。计算机操作系统是一个复杂的系统。 然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有操作系统的细节,这样我们就不用再编写代码了,所以在硬件的基础之上,计算机安装了一层软件,这层软件能够通过响应用户输入的指令达到控制硬件的效果,从而满足用户需求,这种软件称之为 操作...

2020-02-07 16:33:17 209

原创 【故障公告】再次遭遇SQL语句执行超时引发网站首页访问故障

非常抱歉,昨天 18:40~19:10 再次遭遇上次遇到的 SQL 语句执行超时引发的网站首页访问故障,由此您带来麻烦,请您谅解。 上次故障详见之前的故障公告,上次排查下来以为是 SQL Server 参数嗅探问题引起的,但在引起参数嗅探的漏洞被修复后再次出现故障说明上次的判断是错误的。 今天出现故障时的表现与上次一样,唯一不同的地方是这次比上次更糟糕,即使主备切换也无法恢复。 后来我们从 ...

2020-02-06 16:32:28 186

原创 Git基础常用功能

一、安装 具体查看 安装Git 二、使用 基础知识 工作区(Workspace):就是你在电脑里能看到的项目目录。 暂存区(Index / Stage):临时存放更改的地方,使用命令"git add <.|file>"就是把文件加入暂存区。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 ...

2020-02-05 16:32:37 134

原创 二叉树的性质

二叉树的性质 \(二叉树的每个节点最多只有 2 个子树 (不存在度 >2 的节点) 有左右之分,不可以颠倒\) \(二叉树的第 i 层最多有 2^{i-1}个结点\) \(设二叉树的深度为 k 则: 二叉树最多有 2^{k}-1 个结点\) \(对任何一棵二叉树 T ,设其叶节点数为 n_{0} 其度为 2 的结点个数为 n_{2} 则:n_{0} = n{2} + 1\) ...

2020-02-04 16:31:53 196

原创 Android教程2020 - RecyclerView使用入门

本文介绍RecyclerView的使用入门。这里给出一种比较常见的使用方式。 Android教程2020 - 系列总览 本文链接 想必读者朋友对列表的表现形式已经不再陌生。手机上有联系人列表,文件列表,短信列表等等。 本文讲述的是在Android开发中用RecyclerView来实现列表效果。 使用步骤 引入RecyclerView 在app的build.gradle文件中添加引用。我...

2020-02-03 16:32:42 174

原创 LeetCode 11 水池蓄水问题

今天给大家分享的是一道LeetCode中等难度的题,难度不大,但是解法蛮有意思。我们一起来看题目: Link Container With Most Water Difficulty Medium 题意 给定n个非负整数,表示水库当中隔板的高度。每两块隔板之间的距离为1,当下要从n个隔板当中选出两个,在其中注水,并且要使得容纳的水尽量多。请问最多能容纳多少水?可以忽略隔板的宽度,...

2020-02-02 16:33:16 712

原创 Kdenlive-简单的操作

版权声明:原创文章,未经博主允许不得转载 前章:https://www.cnblogs.com/weilinfox/p/12246123.html Windows 版的汉化有些不同,如“合成”在 Windows 版中被正确翻译为“转场特效”,本章依然以 龙芯社区版 fedora 28 系统当前源中最新的 19.08.2 版为准。 尽管是简单操作,但内容比较多。可以一边自己尝试编辑一边在文...

2020-02-01 16:33:08 2433 1

原创 剑指Offer对答如流系列 - 实现Singleton模式

目录 面试题2:实现Singleton模式 懒汉式写法 饿汉式写法 枚举 面试题2:实现Singleton模式 题目:设计一个类,我们只能生成该类的一个实例。 由于设计模式在面向对象程序设计中起着举足轻重的作用,在面试过程中很多公司都喜欢问一些与设计模式相关的问题。在常用的模式中,Singleton是唯一一个能够用短短...

2020-01-31 16:33:47 127

原创 C++ lambda 分析

lambda 表达式分析 构造闭包:能够捕获作用域中变量的匿名函数的对象,Lambda 表达式是纯右值表达式,其类型是独有的无名非联合非聚合类类型,被称为闭包类型(closure type),所以在声明的时候必须使用 auto 来声明。 在其它语言如lua中,闭包的格式相对更为简单,可以使用 lambda 表达式作用域的所有变量,并且返回闭包 local function add10(arg...

2020-01-30 16:34:16 429

转载 14、python异常处理及断言

前言:本文主要介绍python中异常的处理及断言,包括异常类型、异常捕获、主动跑出异常和断言。 一、异常类型介绍   什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,会影响程序的正常执行,一般情况下,在python无法正常处理程序时就会发生一个异常。 异常是python对象,表示一个错误。当python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 在python...

2020-01-29 16:35:12 422

原创 【JDK1.8】 Java小白的源码学习系列:HashMap

目录 Java小白的源码学习系列:HashMap 官方文档解读 基本数据结构 基本源码解读 基本成员变量 构造器 巧妙的tableSizeFor put方法 巧妙的hash方法 JDK1.8的putVal方法 JDK1.8的resiz...

2020-01-28 16:35:01 152

原创 从0开发3D引擎(九):实现最小的3D程序-“绘制三角形”

目录 上一篇博文 运行测试截图 需求分析 目标 特性 头脑风暴 确定需求 总体设计 具体实现 新建Engine3D项目 实现上下文 实现_init 实现“获得WebGL上下文” 实现“初始化所有Shader” 实现“初...

2020-01-27 16:35:42 535

转载 【译】强化表单的9个Vue输入库

一个设计不当的表单可能会使用户远离你的网站。幸运的是,对Vue开发者,有大量可用的Vue输入库让你轻松整理表单。 拥有直观而且对用户友好的表单有诸多好处,比如: 更高的转化率 更好的用户体验 更专业的品牌效果 就像其他主要的框架一样,有大量的社区解决方案可用于构建优雅的Vue表单。从简单的文本输入到高级的电话数字模版,都有很多可供选择。 这里是一些我常用到的Vue输入库。不过,这只...

2020-01-27 16:27:26 179

原创 MyBatis4——一对一、一对多关联查询

关联查询: 一对一: 1、业务扩展类 核心:用resultType指定的类的属性包含多表查询的所有字段。 2、resultMap 通过添加属性成员建立两个类之间的连接 <!--利用resultMap实现一对一 --> <select id="queryPersonsByReOnetoOne" p...

2020-01-26 16:27:41 158

原创 张量网络学习笔记[1]

0. 简介与前置知识 本笔记着重学习Zhao Qibin教授等发表的"关于利用张量网络缩减维度和大规模优化"(Tensor Networks for dimensionality Reduction and Large-Scale Optimization)等张量网络相关的内容. 就目前来看, 网上并没有公开资源, 而前述学术文章的官方中文据悉仍在制作中. 本笔记视作笔者自己的一个自学概要, 其...

2020-01-25 16:27:26 894

原创 Django框架的初使用

1Django框架的初使用 说起Django框架,肯定需要首先明确一个概念,即软件框架。下面就是第一个问题: 1 软件框架(software framework) 1.1 概念界定 软件框架:通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。1 软件框架是具有基础功能的软件产品: 基础功能:可...

2020-01-23 16:34:58 317

原创 kafka(一)-为什么选择kafka

作为开发人员,我们在选择一个框架或者工具时,我们都需要考虑些什么,我们不是头脑发热,一拍脑袋就它了,我们首先要认清这个框架或工具的作用是什么,能给我们带来什么样的好处,同时也要考虑带来什么样的负面结果,我们在使用时才能更好的扬其长避其短,kafka大家可能都不陌生,到底我们为什么选择kafka呢? 1.首先kafka是一个消息队列,作为消息队列一般会在很多场景中用到,如: 应用解耦 在系统交...

2020-01-22 16:34:49 1491

原创 Spring Boot自动装配

前言 一些朋友问我怎么读源码,这篇文章结合我看源码时候一些思路给大家聊聊,我主要从这三个方向出发: 确定目标,这个目标要是一个具体,不要一上来我要看懂Spring,这是不可能的,目标要这么来定,比如看懂Spring Boot的自动装配、Spring IOC XML加载流程等等,尽量小,能够快速搞定的,不要目标太大,陷入其中,反而效果不好; 学会猜,这个猜字其实很有精华,这个可能...

2020-01-21 16:34:19 126

原创 【原创】Dubbo 2.7.5在线程模型上的优化

这是why技术的第30篇原创文章 这可能是全网第一篇解析Dubbo 2.7.5里程碑版本中的改进点之一:客户端线程模型优化的文章。 先劝退:文本共计8190字,54张图。阅读之前需要对Dubbo相关知识点有一定的基础。内容比较硬核,劝君谨慎阅读。 读不下去不要紧,我写的真的很辛苦的,帮忙拉到最后点个赞吧。 本文目录 第一节:官方发布 本小节主要是通过官方发布的一篇名为《Dubbo ...

2020-01-20 16:35:05 623 1

原创 Typescript 实战 --- (7)类型兼容性 和类型保护

一、类型兼容性 ts允许类型兼容的变量相互赋值,这个特性增加了语言的灵活性 当一个类型Y可以被赋值给另一个类型X时,就可以说类型X兼容类型Y。其中,X被称为“目标类型”,Y被称为“源类型” X兼容Y : X(目标类型) = Y(源类型) 1、结构之间兼容:成员少的兼容成员多...

2020-01-19 16:34:07 823

原创 分布式初探——讲透分布式系统一致性模型

本文始发于个人公众号:TechFlow 在计算机系统的领域,一致性可以说是一个高频词,可能出现的场景很多。从分布式系统到数据库的事务,都有它的身影。 之前我们在介绍数据库事务的时候,谈到过事务的一致性。在数据库当中,一致性是一种目的,不是一种手段。数据库希望控制事务的原子性、隔离性和持久性来保证数据的一致性。这里的一致性更多的指的是实际和我们观念的一致。也就是说结果都在我们预期之内。而在分布式...

2020-01-18 16:34:26 192

原创 JVM系列七(JIT 即时编译器).

一、概述 即时编译器(Just In Time Compiler),也称为 JIT 编译器,它的主要工作是把热点代码编译成与本地平台相关的机器码,并进行各种层次的优化,从而提高代码执行的效率。 那么什么是热点代码呢?我们知道虚拟机通过解释器(Interpreter)来执行字节码文件,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”(Hot Spot Code)。 ...

2020-01-17 16:35:13 175

原创 图解kubernetes scheduler基于map/reduce无锁设计的优选计算

优选阶段通过分离计算对象来实现多个node和多种算法的并行计算,并且通过基于二级索引来设计最终的存储结果,从而达到整个计算过程中的无锁设计,同时为了保证分配的随机性,针对同等优先级的采用了随机的方式来进行最终节点的分配,如果大家后续有类似的需求,不妨可以借鉴借鉴 1. 设计基础 1.1 两阶段: 单点与聚合 在进行优选的时候,除了最后一次计算,在进行针对单个算法的计算的时候,会分为两个阶段:...

2020-01-17 16:27:20 156

原创 React Hooks 实现和由来以及解决的问题

与React类组件相比,React函数式组件究竟有何不同? 一般的回答都是: 类组件比函数式组件多了更多的特性,比如 state,那如果有 Hooks 之后呢? 函数组件性能比类组件好,但是在现代浏览器中,闭包和类的原始性能只有在极端场景下才会有明显的差别。 性能主要取决于代码的作用,而不是选择函数式还是类组件。尽管优化策略有差别,但性能差异可以忽略不计。 参考官网:(htt...

2020-01-16 16:27:26 1313

原创 Android Gradle脚本从Groovy迁移到Kotlin DSL

Android Gradle从Groovy迁移到Kotlin Android项目用Gradle构建, 其脚本语言之前是Groovy, 目前也提供了Kotlin的支持, 所以可以迁移到Kotlin. 官方的迁移文档: Migrating build logic from Groovy to Kotlin 说明的是更通用的步骤. 本文通过一个具体的Android项目来举例如何迁移, 文后附有sa...

2020-01-15 16:27:26 523

原创 你知道Java中的CopyOnWriteArrayList吗?

CopyOnWrite CopyOnWrite是什么? CopyOnWriteArrayList源码分享? CopyOnWriteArrayList使用场景? CopyOnWriteArrayList有什么优缺点? 如果你是求职者,你想想看怎么回答上面的问题? 缘由 前段时间面试好多个人,问是否用过CopyOnWriteList,发现好多人都没有用过,感觉挺惊...

2020-01-14 16:28:18 109

原创 多环境多需求并行下的代码测试覆盖率统计工具实现

测试覆盖率常被用来衡量测试的充分性和完整性,也是测试有效性的一个度量。「敏捷开发」的大潮之下,如何在快速迭代的同时保证对被测代码的覆盖度和产品质量,是一个非常有挑战性的话题。 在马蜂窝大交通、酒店等交易相关业务中,项目的开发和测试实践同样遵循敏捷的原则,迭代周期短、速度快。因此,如何依据测试覆盖率数据帮助我们有效判断项目质量、了解测试状态、提升迭代效率,是我们一直很重视的工作。 Part....

2020-01-13 16:29:15 230

原创 测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架

一、思考❓❔ 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Django restframework能快速创建符合restful风格的API接口 通过Django restframework框架提供的序列化器、视图集可轻轻松松实现 简...

2020-01-11 16:28:16 269

原创 大数据框架开发基础之Sqoop(1) 入门

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 Sqoop的基本认知 原理 将导入或导出命令翻译成mapreduce程序来实现。 在翻译出...

2020-01-10 16:28:13 102

原创 Node.js 模块系统入门

在编程领域中,模块是自包含的功能单元,可以跨项目共享和重用。它们使开发人员的生活更加轻松,因为我们可以使用它来增加应用程序的功能,而不必亲自编写这些功能。它还让我们可以组织和解耦代码,从而使应用程序更容易理解、调试和维护。 在本文中,我们来探究如何使用 Node.js 中的模块,主要介绍如何导出和导入。 不同的模块格式 由于JavaScript 最初没有模块的概念,随着时间的推移出...

2020-01-08 16:35:05 106

原创 并发编程的基石——CAS机制

本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 并发编程系列博客传送门 Java中提供了很多原子操作类来保证共享变量操作的原子性。这些原子操作的底层原理都是使用了CAS机制。在使用一门技术之前,了解这个技术的底层原理是非常重要的,所以本篇博客就先来讲讲什么是CAS机制,CAS机制存在的一些问题以及在Java中怎么使用CAS...

2020-01-07 16:35:13 334

原创 图解Go语言的context了解编程语言核心实现源码

基础筑基 基于线程的编程语言中的一些设计 ThreadGroup ThreadGroup是基于线程并发的编程语言中常用的一个概念,当一个线程派生出一个子线程后通常会加入父线程的线程组(未指定线程组的情况下)中, 最后可以通过ThreadGroup来控制一组线程的退出等操作, 然后在go语言中goroutine没有明确的这种parent/children的关系,如果想退出当前调用链上的所有g...

2020-01-06 16:35:30 139

原创 【一起学源码-微服务】Ribbon 源码一:Ribbon概念理解及Demo调试

前言 前情回顾 前面文章已经梳理清楚了Eureka相关的概念及源码,接下来开始研究下Ribbon的实现原理。 我们都知道Ribbon在spring cloud中担当负载均衡的角色, 当两个Eureka Client互相调用的时候,Ribbon能够做到调用时的负载,保证多节点的客户端均匀接收请求。(这个有点类似于前端调用后端时Nginx做的负载均衡) 本讲目录 本讲主通过一个简单的demo...

2020-01-05 16:35:48 293 1

原创 探索 模块打包 exports和require 与 export和import 的用法和区别

菜单快捷导航: CommonJS 之 exports和require用法 ES6 Module 之 export 和 import 用法 CommonJS和ES6 Module的区别 循环依赖 和 解决办法 模块打包原理简析 1、CommonJS 之 exports和require用法   CommoneJS规定每个文件是一个模块。将一个JavaScript文件直接通过...

2020-01-04 16:34:52 647

behavior-tree

开源havior 官网: https://github.com/miccol/Behavior-Tree/

2017-01-06

空空如也

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

TA关注的人

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