自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 如何优雅的将Mybatis日志中的Preparing与Parameters转换为可执行SQL

原文链接 疫情期间大家宅在家里是不是已经快憋出“病”了~~ 公司给开了VPN,手机电脑都能连,手机装上APP测试包,就能干活了,所以walking从2020.02.01入京以来,已经窝在家里11天了。​这两天在家远程办公,预测下周也要在家办公。。 最近在家隔离期间,其实也是学的少玩的多。这不,今天在看Mybatis源码的时候发现了一款好用的Mybatis插件和一个转换工具,今天就赶忙写出...

2020-02-12 16:34:56 851

原创 设计模式-05建造者模式(Builder Pattern)

1.模式动机 比如我们要组装一台电脑,都知道电脑是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘和鼠标组成,其中非常重要的一点就是这些硬件都是可以灵活选择,但是组装步骤都是大同小异(可以组一个高配置的,也可以组一个低配置的),这时建造者模式可以很好的描述这类产品的创建。 2.模式定义 建造者模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设...

2020-02-11 16:34:22 377

原创 IntelliJ IDEA的这个接口调试工具真是太好用了!

你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough 现陆续将Demo代码和技术文章整理在一起 Github实践精选,方便大家阅读查看,觉得不错,还请Star???? 抗击疫情,在家办公。工作照常干,领导需要几个新功能接口开发。以前在...

2020-02-10 16:34:25 1202

转载 JVM性能优化系列-(3) 虚拟机执行子系统

3. 虚拟机执行子系统 3.1 Java跨平台的基础 Java刚诞生的宣传口号:一次编写,到处运行(Write Once, Run Anywhere),其中字节码是构成平台无关的基石,也是语言无关性的基础。 Java虚拟机不和包括Java在内的任何语言绑定,它只与Class文件这种特定的二进制文件格式所关联,这使得任何语言的都可以使用特定的编译器将其源码编译成Class文件,从而在虚拟机上运...

2020-02-09 16:35:05 295

原创 10个很多人不知道的Redis使用技巧

前言 Redis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。 下面我们将探索正确使用 Redis 的10个技巧。 ...

2020-02-08 16:35:26 200

原创 多么痛的领悟——计算机组成原理第一讲

多么痛的领悟——计算机组成原理第一讲 前言 大家好,我是泰斗贤若如,我又开始更新文章了,本次更新的内容是计算机组成原理,是大学计算机相关专业必须学的,我是大三上学期学的,刚开始学的时候感觉很难,get不到重点,直到学了一遍,被期末考试逼了一遍,我才有所领悟,多么痛的领悟啊。我打算自己把整本书中的重点总结一遍,第一是自己过一遍,第二是给新手赠予玫瑰,希望你们学的时候花最少的时间学更多的...

2020-02-07 16:35:10 480

原创 算法入门基础

排序分类: 内部排序:把数据加载到内存中进行排序,适用于数据量小的情况。 外部排序:借助外部的文件等,数据量大,无法加载到内存。 常见分类如图: 算法复杂度 算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。算法的复杂性体运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间...

2020-02-06 16:33:40 166

原创 H5 + WebGL 展示的3D无人机

前言 近年来,无人机的发展越发迅速,既可民用于航拍,又可军用于侦察,涉及行业广泛,也被称为“会飞的照相机”。但作为军事使用,无人机的各项性能要求更加严格、重要。本系统则是通过Hightopo的HT for Web产品来搭建的一款 无人机 3D 可视化系统,通过对无人机及其信息的全景展示来模拟无人机状态的监控。 系统中包含 4 种展示模式:实体模式 、热力模式、线框模式和内部模式,通...

2020-02-05 16:33:51 988

原创 V8垃圾回收?看这篇就够了!

什么是内存管理 内存管理是控制和协调应用程序访问电脑内存的过程。这个过程是复杂的,对于我们来说,可以说相当于一个黑匣子。 当咱们的应用程序运行在某个操作系统中的时候,它访问电脑内存(RAM)来达成下列几个功能: 运行需要执行的字节码(代码) 存储程序运行时候所需的数据 加载程序运行所需的运行时环境 上面用来存储程序运行时所需的数据,就是下面要说的堆(heap)和栈(stack)。 ...

2020-02-04 16:33:04 331

原创 python数据分析常用图大集合

目录 一、折线图 二、直方图 三、垂直条形图 四、水平条形图 五、饼图 六、箱线图 七、热力图 八、散点图 九、蜘蛛图 十、二元变量分布 十一、面积图 十二、六边形图 以下默认所有的操作都先导入了numpy、pandas、matplotlib、seaborn import nu...

2020-02-03 16:34:03 338

原创 深入Node.js的进程与子进程:从文档到实践

仓库地址:https://github.com/dongyuanxin/blog 进程:process模块 process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块: 如何处理命令参数? 如何处理工作目录? ...

2020-02-02 16:34:40 299

原创 深入理解设计模式六大原则

深入理解设计模式六大原则 万变不离其宗,不管是Java还是C++,凡是面向对象的编程语言,在设计上,尽管表现形式可能有所不同,但是其实质和所需遵守的原则都是一致的。本文便是带领读者去深入理解设计模式中的六大原则,以期帮助读者做出更好的设计。 单一职责原则 单一职责原则:Single Responsibility Principle,简称SRP 定义: 应该有且仅有一个...

2020-02-01 16:34:18 250

原创 JavaScript(2)---DOM详解

JavaScript(2)---DOM详解 一、DOM概念 什么是DOM DOM全称为文本对象模型(Document Object Model),它定义了所有HTML元素的对象和属性,以及访问他们的方法。它的主要作用包括: 改变HTML 元素 , 改变HTML属性 , 改变CSS 样式,对页面中的所有事件做出反应。 1、DOM 节点树 概念 DOM模型将整个HTML文档...

2020-01-31 16:34:57 207

原创 面试必备!Java核心技术100+面试题

一线互联网公司工作了几年,我作为求职者参加了不少面试,也作为面试官面试了很多同学,整理这份面试指南,一方面是帮助大家更好的准备面试,有的放矢,另一方面也是对自己知识框架做一个体系化的梳理。 这篇文章梳理了Java核心技术常见面试题,整理了120道题目,包括Java基础、集合框架、并发编程、NIO、反射等部分的内容。JVM和垃圾回收部分的内容比较多,会在下一篇博客中单独写。 除了Java核心技...

2020-01-31 16:27:26 966 3

原创 双指针,BFS与图论(一)

(一)双指针 1.日志统计 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有N行。 其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。 如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是”热帖”。 具体来说,如果存在某个时刻T满足该帖在...

2020-01-30 16:27:41 332

原创 Redis(六):list/lpush/lrange/lpop 命令源码解析

  上一篇讲了hash数据类型的相关实现方法,没有茅塞顿开也至少知道redis如何搞事情的了吧。   本篇咱们继续来看redis中的数据类型的实现: list 相关操作实现。   同样,我们以使用者的角度,开始理解list提供的功能,相应的数据结构承载,再到具体实现,以这样一个思路来理解redis之list。 零、redis list相关操作方法   从官方的手册中可以查到相关的使用方...

2020-01-29 16:28:13 813

原创 高精度算法(C/C++)

高精度算法 (C/C++) 做ACM题的时候,经常遇到大数的加减乘除,乘幂,阶乘的计算,这时给定的数据类型往往不够表示最后结果,这时就需要用到高精度算法。高精度算法的本质是把大数拆成若干固定长度的块,然后对每一块进行相应的运算。这里以考虑4位数字为一块为例,且输入的大数均为正整数(也可以考虑其他位,但要注意在每一块进行相应运算时不能超出数据类型的数值范围;有负整数的话读入时判断一下正负号在决定运...

2020-01-28 16:28:14 315

原创 python接口自动化测试 - unittest框架suite、runner详细使用

test suite 测试套件,理解成测试用例集 一系列的测试用例,或测试套件,理解成测试用例的集合和测试套件的集合 当运行测试套件时,则运行里面添加的所有测试用例 test runner 测试运行器 用于执行和输出结果的组件 test suite、test runner基础使用 单元测试类 1 # 创建单元测试类,继承unittest.TestCase 2 ...

2020-01-27 16:29:13 378

原创 Elasticsearch如何修改Mapping结构并实现业务零停机

Elasticsearch 版本:6.4.0 一、疑问 在项目中后期,如果想调整索引的 Mapping 结构,比如将 ik_smart 修改为 ik_max_word 或者 增加分片数量 等,但 Elasticsearch 不允许这样修改呀,怎么办? 常规 解决方法: 根据最新的 Mapping 结构再创建一个索引 将旧索引的数据全量导入到新索引中 告知用户,业务要暂...

2020-01-26 16:29:09 380

原创 Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件

MyBatis   今天大年初一,你在学习!不学习做什么,斗地主...人都凑不齐。学习吧,学习使我快乐!除了诗和远方还有责任,我也想担当,我也想负责,可臣妾做不到啊,怎么办?你说怎么办,为啥人家能做到你做不到,因为人家比你多做了那么一点点。哪一点点?就那么一点点,只要你也多做那么一点点,不就做到了!...就那么一点点呀,我回顾SE去了。万丈高楼平地起,基础打的牢,怕什么狂风暴雨 MyBatis...

2020-01-25 16:28:48 272

原创 Qt Installer Framework翻译(5-3)

推广更新 创建在线安装程序,以便能够向安装产品的用户推广更新。 为了推广更新,需要执行以下步骤: 将待更新内容复制到package文件夹。 在package.xml文件中增加待更新组件的 元素的值。 使用repogen工具重新创建具有待更新内容的联机存储库,并在存储库的根目录中生成Updates.xml文件。 将存储库上传到Web服务器。 使用bina...

2020-01-24 16:28:11 128

转载 托管对象本质-第一部分-布局

目录 托管对象本质-第一部分-布局 目录 IsMarked 标记 相关文献 托管对象本质-第一部分-布局 原文地址:https://devblogs.microsoft.com/premier-developer/managed-object-internals-part-1-layout/ 原文作者:Sergey...

2020-01-23 16:27:17 215

原创 我终于学会了使用python操作postgresql

一 前言 这篇文章不仅适合pgsql,更适合mysql,思路都是一致的,如果读者学会使用psycopg2操作pgsql,那么使用PyMySQL 操作mysql也是很简单;本篇文章涵盖内容广泛,提供的操作选择性很多,比如多种数据插入操作,防止sql注入方式,异常处理,sql语句打印处理,显示行号等操作,一篇文章真的收益匪浅; 二 数据库连接 2.1 安装 psycopg2 # pip in...

2020-01-21 16:27:42 1834 1

原创 BFT-SMaRt:用Netty做客户端的可靠信道

目录 一、Netty服务端的构建 1. 父类构造函数 ① 查找缓存 ② 相关日志 2. 服务端构造 ① 配置读取 ② 服务端配置 3. 服务端功能 ① 通用接口功能 ② Channel处理器 4. 节点通信...

2020-01-20 16:27:46 594

原创 spdlog 基本结构分析

spdlog 基本结构分析 代码取自 V1.5.0, 代码堪称美学。 spdlog 是一个只有头文件的C++日志库,速度非常快,扩展性很强,更重要的是 社区活跃,文档齐全。 使用 参考官方的 example. {fmt} 的格式使用也需要熟悉一下,毕竟也进 C++20 了,什么垃圾流就快扫进历史的垃圾堆吧. 分析 这里选择了三个点来做分析: 提供的 日志格式 非常丰富,并且允许用...

2020-01-19 16:27:26 922

原创 【Java并发基础】Java内存模型解决有序性和可见性

前言 解决并发编程中的可见性和有序性问题最直接的方法就是禁用CPU缓存和编译器的优化。但是,禁用这两者又会影响程序性能。于是我们要做的是按需禁用CPU缓存和编译器的优化。 如何按需禁用CPU缓存和编译器的优化就需要提到Java内存模型。Java内存模型是一个复杂的规范。其中最为重要的便是Happens-Before规则。下面我们先介绍如何利用Happens-Before规则解决可见性和有序性问...

2020-01-18 16:27:39 169

转载 12.Android-SQLiteOpenHelper使用

1.SQLite介绍 SQLite,是一款轻型的数据库,它的优缺点有如下: 轻量级,适合嵌入式设备,并且本身不依赖第三方的软件,使用它也不需要“安装”。 并发(包括多进程和多线程)读写方面的性能不太理想。可能会被写操作独占,从而导致其它读写操作阻塞或出错 2.SQLiteOpenHelper介绍 为了在本地创建SQLite数据库,我们需要创建一个SQLiteOpenHelper的子类,...

2020-01-17 16:28:47 439

原创 await Task.Yield()和await Task.CompletedTask有什么不同

有时候我们在代码中要执行一些非常耗时的操作,我们不希望这些操作阻塞调用线程(主线程)的执行,因为调用线程(主线程)可能还有更重要的工作要做,我们希望将这些非常耗时的操作由另外一个线程去执行,这个时候就可以用到await Task.Yield(),它借助了C# 5.0中的异步函数关键字await async,将await关键字之后的代码交由线程池中的另一个线程执行(前提是项目的Synchroniza...

2020-01-16 16:28:32 1826

原创 [Micropython]TPYBoard v202 智能WIFI远控小车

前言---------------------- 之前有过用TPYBoard v102制作的各种各样功能的智能小车,比如自动寻迹、自动避障、手机蓝牙遥控等。想着还缺个WIFI控制的,那就用TPYBoard v202做一个吧。 设计思路------------------------- WIFI是目前最有广泛运用的一项无线网络传输技术,覆盖范围广,可远程。本次实现了远程WIFI控制,不仅可以在...

2020-01-15 16:29:08 571 2

原创 咸鱼程序员北漂五年,租房需要多少钱?

1、求学在北京,毕业顺当就在北京就业,截止今年年中,5个年头整。5年搬了三次家,算上这一次第四次。每次搬家那个麻烦劲,心有多想买个房搬家的人深有体会。第一次住了1年,那时候刚从学校出来搬家租的是学校门口趴活儿的小面包,轻轻松松装下两个人的行李,第一次还是合租,住在三环边上人大附近的一个老小区的阁楼上,好歹还有点私人空间,离公司比较近。房租3290/月,全靠父母的工作启动金扶持。上下班可以骑自行车,...

2020-01-14 16:29:37 380

原创 简简单单之Linux命令入门

show me the code and talk to me,做的出来更要说的明白 GitHub 项目JavaHouse同步收录 我是布尔bl,你的支持是我分享的动力! 引入 作为一名合格的后端开发人员,我们难免要在 Linux 环境下进入操作,查找问题,配置文件等等操作。因此,我觉得我们需要掌握简单的 Linux 命令。本文简简单单介绍一下 Linux 的常见操作,努力让读者在 ...

2020-01-13 16:30:30 147

原创 这一年,从学生到职场

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 一年时间是真的快,上一年我还是学生,今年我已经工作半年了,这篇文章记录一下我今年发生过的一些事和感想。不知道明年写2020年总结的时候再回看这篇文章是什么感觉。我回看上年写的总结,说实话,有点low。哈哈哈哈 20...

2020-01-12 16:29:31 341

转载 Theia APIs——通过JSON-RPC进行通信

上一篇:Theia APIs——事件 通过JSON-PRC进行通信   在本节中,我将讲解如何创建后端服务并通过JSON-PRC来连接它。   我将使用debug logging system作为例子来进行讲解。 概述   本示例将用express框架创建一个服务,然后通过websocket连接该服务。 注册服务   首先要做的是将服务公开,这样前端就能...

2020-01-11 16:29:36 647

原创 Go HTTP编程

目录 net/http介绍 HTTP服务端 默认的Server 自定义Server HTTP客户端 基本的HTTP/HTTPS请求 GET请求示例 带参数的GET请求示例 Post请求示例 自定义Client 自定义Transport ne...

2020-01-10 16:29:39 182

原创 linux入门系列2--CentOs图形界面操作及目录结构

上一篇文章“linux入门系列1--环境准备及linux安装”直观演示了虚拟机软件VMware和Centos操作系统的安装,按照文章一步一步操作,一定都可以安装成功。装好系统之后,接下来就是登录操作系统进行各种操作。作为入门系列文章第二篇,将简单介绍CentOs操作系统的特点、图形用户界面(GUI)操作以及目录结构。 正式开始操作之前,我们先来了解一下Linux操作系统相关的知识以及为何本系列文...

2020-01-07 16:28:16 229

原创 从0开发3D引擎(二):准备预备知识

大家好,本文介绍了开发3D引擎需要的预备知识,给出了相关的资源。 上一篇博文 从0开发3D引擎(一):开篇 了解Web 3D Web 3D的历史-WebGL 目前Web 3D是基于WebGL这个Web端3D API的,它的版本历史为: (图来自于WebGPU 开发状态与计划) (注:OpenGL是桌面端的3D API,OpenGL ES是移动端的3D API) 2007年,发布O...

2020-01-06 16:28:16 275

原创 你好,babel

写在前面 其实学babel是本人2019年Q3的一个计划,因为当时自己做的一个项目需要自己去配babel,也遇到了一些困难,发现自己对babel的了解还是很少的,所以决定好好看下babel;可是后来解决了当时的问题后,由于业务需求很多再加上自己懒了(这才是最终的原因),学习babel的事也就不了了之了。。。拖到了现在0.0 已经进入2020年了,还没有来得及总结自己的19年,但是2020年我要...

2020-01-05 16:27:27 146

原创 我终于懂得如何使用matplotlib进行画图

一 前言 本篇文章带大家快速入门如何使用matplotlib画出精美数学的图片;看完本篇文章你将获得熟悉并简单使用matplotlib工具,会画基本得折现图,散点图,sin,cos图,一张画布画出多图等. 当然matplotlib得功能远不止这些,读者可以参照官网进行学习。 二 图像得组成 下面张图片来自matplotlib官网,简单说明一下图片得组成; figure:画布,一张图片得整体...

2020-01-04 16:27:26 624 1

原创 动态规划2-最长公共子序列

参考 http://open.163.com/newview/movie/free?pid=M6UTT5U0I&mid=M6V2U1HL4 问题是给定字符串x和y,求出两个当中最长的公共子序列。比如x=abcdef y=acefg,那么他们的最长公共子序列就是acef。就是求x的所有可能的子字符串与y所有的子字符串匹配,如果相同,那么就是一个公共子序列,然后求最长的一个。 建议观看上...

2020-01-03 16:27:26 1244

原创 k8s 开船记-故障公告:自建 k8s 集群在阿里云上大翻船

非常非常抱歉,新年上班第一天, 在今天阿里云上气候突变情况下,由于我们开船技术差,在今天 10:15~12:00 左右的访问高峰,我们竟然把船给开翻了,造成近2个小时整个博客站点无法访问,由此给您带来很大很大的麻烦,恳请您的谅解。 翻船经过如下。 翻墙前的船只情况 博客站点正在使用的 k8s 集群一共用了 9 台 worker 节点服务器,在访问低峰时用 5 台,另外 4 台处于关机状态,在...

2020-01-02 16:27:26 262

空空如也

空空如也

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

TA关注的人

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