自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(286)
  • 资源 (15)
  • 收藏
  • 关注

原创 【leetcode】1156. 单字符重复子串的最大长度

片段拼接法求单字符重复子串的最大长度

2023-06-03 11:46:01 319

原创 【leetcode】1130. 叶值的最小代价生成树

动态规划、单调栈求解最小代价

2023-05-31 16:52:16 611

原创 【leetcode】剑指 Offer II 070. 排序数组中只出现一次的数字

对有序的数组找出现一次的数字

2023-05-30 21:08:05 609

原创 【leetcode】98. 验证二叉搜索树

4种思想,5种实现验证二叉搜索树

2023-05-27 17:22:34 802

原创 位操作集锦

位操作总结

2023-05-25 21:39:16 780

原创 【leetcode】1373. 二叉搜索子树的最大键值和

后序遍历解决二叉搜索树的最大节点之和

2023-05-20 16:42:28 599

原创 【leetcode】1079.活字印刷

活字印刷算法分析及实现

2023-05-19 15:23:42 510

原创 【简介】限流

常规限流算法解析

2023-05-17 16:25:49 560

原创 两两交换链表中的节点

链表节点两两交换

2023-05-02 15:11:47 60

原创 Redis问题排查导图

Redis问题排查导图,帮忙快速定位Redis问题

2023-04-27 17:14:48 85

原创 Protocol Buffer学习

日常工作中,虽然经常使用PB协议作为通信协议,也经常听说PB协议序列化/反序列化比JSON/XML更小更快,但对其内部原理不甚了解。正好这个周末有时间去深入学习PB协议的编解码,学习完之后不得不佩服谷歌大佬的牛逼,然后就有了此文。本文主要介绍PB协议序列化和反序列化,着重讲解了Varint和ZigZag编解码。

2022-03-20 19:36:11 974 1

原创 OverlayFs2设计学习

OverlayFs是一种堆叠文件系统,本文将介绍OverlayFs的一些特性,并介绍其中的一些实现技术。

2022-03-13 22:45:39 1843

原创 Mysql系列-Redo log日志

在Mysql Innodb中,Redo log是非常重要的事务日志。本文将带你了解Redo log是什么、Redo log组提交以及Redo log的刷盘机制等。

2021-05-30 07:35:06 373

原创 Redis学习总结 -- 主从复制

Redis主从复制进一步提高了数据安全性,也是Redis服务高可用的基础。在本文中,将一起学习Redis主从复制过程,并了解其中可能存在的问题,知其然知其所以然。

2020-02-02 19:57:04 200

原创 Redis学习总结 -- 持久化

持久化是Redis一项重要的功能,可以保证在异常情况下仅仅只有少量数据丢失。Redis的持久化方案有RDB和AOF,两者各有千秋。本文主要讨论RDB和AOF的实现原理与各自的优缺点。

2020-01-18 17:50:51 188

原创 LeetCode 671. Second Minimum Node In a Binary Tree

Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node's va...

2020-01-16 23:55:42 228

原创 Redis学习总结 -- ziplist

ziplist在Redis中使用非常广泛,List、Ordered Set、Hash中都可以看到ziplist的使用。ziplist本质上使用一块内存实现了双向链表,相比传统的双向链表,它更好的利用了“局部性原理”以及产生更少的内存碎片,因此ziplist的内存使用效率更高,性能更好。此外,在小整数(0~12)的存储上,ziplist会更加节省内存(后面会进行具体分析)。然而,ziplist在插...

2020-01-16 09:50:57 297

原创 LeetCode 1287. Element Appearing More Than 25% In Sorted Array

Given an integer array sorted in non-decreasing order, there is exactly one integer in the array that occurs more than 25% of the time.Return that integer.给一个非降序排列的整型数组,只存在一个整数,要求:该整数出现次数超过25%。最后结果...

2020-01-13 23:44:51 249

原创 Redis学习总结 -- SkipList

SkipListSkipList是什么?SkipList是一种随机化的数据结构,大多数情况下,插入、删除、查找的复杂度均为O(logN)(最坏情况下为O(N))。因为SkipList的性能可以和红黑树媲美,并且实现和维护简单,所以常常有一些项目会使用SkipList替代红黑树,比如LevelDB、Redis的Ordered Set。目前K-V数据结构常见的有Hash、红黑树、和SkipLi...

2020-01-11 16:16:00 241

原创 Redis学习总结- 内部数据结构

对于有一定用户量级的互联网服务,缓存往往是提升系统性能的有效手段。缓存虽好,但在使用中也有很多坑需要注意。在缓存一览一文中,对缓存读写过程中可能碰到的问题进行分析,并给出相应的解决方案。在业务开发中,往往并不需要自研一套缓存系统,而是结合自身业务特点选择目前成熟的缓存系统。Redis和Memcache是目前用的比较多的两大开源缓存框架(mongodb是非关系型文档数据库,并不是缓存框架),下面就...

2020-01-08 22:10:00 175

转载 Qt多线程学习

QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些线程相关的类...

2020-01-08 21:39:52 208

转载 高性能后台服务器架构设计

转载自:http://blog.sina.com.cn/s/blog_3fba24680102vpvx.html如何设计高性能的大型网站系统?在移动互联网时代,客户端应用开发本身,并不是体验的决胜之处,真正对团队挑战的地方,还在于后端,无论是承压能力,还是安全性等方面,如果这些地方过不了关,整个应用的基础是不扎实的。提高服务器性能最简单粗暴的方式,就是增加机器和升级硬件...

2020-01-08 21:30:49 427

原创 缓存一览

​在系统性能优化中,缓存是很重要的技术手段。通过将花费了大量资源或时间而得到的数据缓存起来的方式,来达到提高系统性能的目的。缓存可以分为本地缓存和分布式缓存,在本文中,我们主要讨论的是分布式缓存。缓存,一方面增加了成本,另一方面也增加了系统设计复杂度。在系统设计之初,往往并不需要缓存,而是随着系统规模变大,缓存才会被引入进来以提升系统性能。缓存虽然看起来很简单,但是用起来却并没有想象中的那么...

2020-01-06 00:31:34 518

原创 数据库索引总结

在业务开发过程中,Mysql是我们经常选择的数据存储方案,而索引又是Mysql中非常重要的内容。那么索引是什么?索引为什么会提升查询性能,反而又能影响更新性能呢?到底有没有必要建索引?索引使用过程需要注意哪些?

2020-01-02 00:03:18 487

转载 Go性能优化小结

基于原文Go性能优化小结整理内存优化小对象合并成结构体一次分配,减少内存分配次数Go runtime底层也采用内存池,但每个span大小为4k,同时维护一个cache。cache有一个0到n的list数组,list数组的每个单元挂载的是一个链表,链表的每个节点就是一块可用的内存,同一链表中的所有节点内存块都是大小相等的;但是不同链表的内存大小是不等的,也就是说list数组的一个单元存储的...

2019-12-21 15:44:29 244

转载 java项目中的classpath到底是什么

在java项目中,你一定碰到过classpath,通常情况下,我们是用它来指定配置/资源文件的路径。在刚开始学习的时候,自己也糊里糊涂,但是现在,是时候弄清楚它到底是指什么了。顾名思义,classpath就是class的path,也就是类文件(*.class的路径)。一谈到文件的路径,我们就很有必要了解一个java项目(通常也是web项目)它在真正运行时候,这个项目内部的目录、文件的结构;这样,...

2019-07-29 10:59:46 676

转载 epoll机制:epoll_create、epoll_ctl、epoll_wait、close

在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_S

2017-05-16 23:32:34 391

转载 js中几种实用的跨域方法原理详解

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/page.html同源检测的结果:要解决跨域的问题,我们可以使用以下几种方法:一、通过jsonp

2017-05-12 09:00:25 706

转载 跨域资源共享 CORS 详解

一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器

2017-05-12 08:59:28 396

转载 vmstat含义说明

Usage:vmstat [options] [delay [count]]OPTIONS       delay  The delay between updates in seconds.  If no delay is specified, only one report is printed with the average values since boot.

2017-05-04 20:20:04 795

转载 网络编程细节总结

TCP_NODELAY和TCP_CORK      TCP_NODELAY和TCP_CORK基本上控制了包的“Nagle化”,这里我们主要讲TCP_NODELAY.Nagle化在这里的含义是采用Nagle算法把较小的包组装为更大的帧。JohnNagle是Nagle算法的发明人,后者就是用他的名字来命名的,他在1984年首次用这种方法来尝试解决福特汽车公司的网络拥塞问题(欲了解详情请参看IE

2017-05-03 21:04:25 360

转载 高性能后台服务器架构设计

转载自:http://blog.sina.com.cn/s/blog_3fba24680102vpvx.html如何设计高性能的大型网站系统?在移动互联网时代,客户端应用开发本身,并不是体验的决胜之处,真正对团队挑战的地方,还在于后端,无论是承压能力,还是安全性等方面,如果这些地方过不了关,整个应用的基础是不扎实的。       提高服务器性能最简单粗暴的方式,就是增加机器和升级硬

2017-02-09 10:58:20 1902

原创 shell变量替换总结

Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换条件放在{}中.(1) ${value:-word}       当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值.(2) ${value:=word}       与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将word赋值给value(3) ${value:

2017-01-15 11:47:00 982

转载 Bash One-Liners Explained 译文(三)(转载自团子的小窝)

这是 Bash One-Liners Explained 系列的第三篇文章。在这一篇里,我会给大家介绍重定向相关的内容。我会选择用最合适的 Bash 方法,各种常见的语法和技巧,向各位阐明如何用 Bash 内置的命令和 Bash 编程语言来完成各式各样的任务。重定向其实是通过操作文件描述符来完成的,这样会更容易理解。当 Bash 启动时,会自动创建三个标准的文件描述符,它们分别是 st

2017-01-15 10:41:58 433

转载 脚本编程 Bash One-Liners Explained 译文(二)(转载自团子的小窝)

这是 Bash One-Liners Explained 系列的第二篇文章。在这一篇里,我会给你们介绍如何用 Bash 来完成各种各样的字符串操作。我会选择用最合适的 Bash 方法,各种常见的语法和技巧,向各位阐明如何用 Bash 内置的命令和 Bash 编程语言来完成各式各样的任务。1. 生成从 a 到 z 的字母表$ echo {a..z}这一行命令用到了括号展开(B

2017-01-15 10:28:52 467

转载 Bash One-Liners Explained 译文(一)(转载自团子的小窝)

Bash One-Liners Explained 是一系列介绍 Bash 命令技巧的文章,由国外牛人 Peteris Krumins 撰写。凭借扎实的功底和丰富的经验,作者总结了许多快速解决问题的技巧,并且每一条都只要用简洁的一行 Bash 命令就可以完成,同时每一行命令文中都给出了非常详尽的解释。Peteris Krumins 是一位高产的博主,在他的博客上有很多非常精彩的文章

2017-01-15 10:08:23 515

转载 shell中map的是使用

定义一个空mapdeclare -A map=()定义时初始化mapdeclare -A map=(["100"]="1" ["200"]="2")  输出所有keyecho ${!map[@]}  输出所有valueecho ${map[@]}  添加值map["300"]="3" 输出key对应的值echo ${m

2017-01-13 20:04:50 3831

转载 获取Linux内核未导出符号的几种方式

原文参考:http://www.cnblogs.com/bittorrent/p/3804141.html从Linux内核的2.6某个版本开始,内核引入了导出符号的机制。只有在内核中使用EXPORT_SYMBOL或EXPORT_SYMBOL_GPL导出的符号才能在内核模块中直接使用。然而,内核并没有导出所有的符号。例如,在3.8.0的内核中,do_page_fault就没有被导出。

2016-12-28 19:32:09 514

原创 Gearmand学习3:Plugin插件

gearmand中的插件是如何工作的呢?这里来带你先简单的了解下这里的插件有哪些,内部的工作机制是什么呢?

2016-12-17 21:44:45 563

原创 Gearmand学习2:main函数

学习开源的软件,最重要的要找到入库,从入口开始学习是至关重要的,就像一团杂乱无章的线团,只要我们能够找到线头,一切都是那么的简单,而入口main函数就是这团杂乱无章的线头。

2016-12-17 16:09:44 515

C++11标准文档英文版

C++11标准文档英文版,最新的C++标准,新增一些新增的特性,供大家学习研究用。引用ISO C++标准委员会

2013-12-09

数据结构与算法分析C语言描述 书中源码

数据结构与算法分析C语言描述 书中源码以及课后答案,绝对经典哦

2011-07-07

怎样制作VS2008.NET应用程序的安装包

制作VS2008.NET应用程序的安装包,方便快捷,简单详细

2011-06-30

posix多线程程序设计源码

posix 多线程程序设计源码,大家一起学习哦

2011-06-09

linux c 获取本机的mac地址

linux下利用c语言使用socket和io接口(ioctl)函数获取本机的mac地址

2011-06-06

visualSVN server

一个很好的版本控制工具,使用简单方便,有利于使用vs2008开发软件工具进行版本控制。

2011-05-18

vspdxp.exe

通过该软件连接指定的串口,并可以查看具体串口的运行状态。。。

2011-05-18

二分法查找递归与非递归

使用二分法搜索的技术去搜索一个数组中元素,其中包括递归方法和非递归方法。欢迎大家评阅后给我一点好的建议,谢谢哦。

2010-12-30

qt编写的加密解密程序(linux系统专用)配置密码见说明

加密解密软件,用户名与密码为yuzhiyuxia

2010-12-30

qt编写的加密解密程序(linux系统专用)配置密码见说明

本软件是一款用QT写成的加密解密的软件,还有些界面的设计不够完善,请见谅。用户名与密码均是yuzhiyuxia。在以后的使用中可以自己修改。

2010-12-30

eclipse插件安装

关于eclipse插件的集中安装方法,很不错的总结

2010-12-14

用高斯列主元消去法求行列式的值

在linux中编写一个工程:利用高斯列主元消去法求取行列式的值。

2010-03-07

利用高斯消元法求行列式的值

本程序是利用高斯列主元消去法求取行列式的值

2010-03-07

Yuzhiyuxia

第一步:输入插值节点控制数n,插值点序列,以及要计算的函数值x。 第二步:求解拉格朗日基函数

2009-12-19

空空如也

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

TA关注的人

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