编程笔记

  • RedisAPI原子性操作及原理解析

    在学习Redis的常用操作时,经常看到介绍说,Redis的set、get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? 原子性 原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。

  • Python OpenCV中的numpy与图像类型转换操作

    Python OpenCV存储图像使用的是Numpy存储,所以可以将Numpy当做图像类型操作,操作之前还需进行类型转换,转换到int8类型 import cv2 import numpy as np # 使用numpy方式创建一个二维数组 img = np.ones100,100 # 转换成int8类型 img = np.int8img # 颜色空间转换,单通道转换成多

  • react中hook介绍以及使用教程

    前言 最近由于公司的项目开发,就学习了在react关于hook的使用,对其有个基本的认识以及如何在项目中去应用hook。在这篇博客中主要从以下的几个点进行介绍: hook简介 hook中常用api的使用 hook在使用过程中需要去注意的地方 hook中怎样去实现class组件中的声明

  • C# 实现Table的Merge,Copy和Clone

    C#实现的对两个Table进行Merge,两表必须存在至少一个公共栏位作为连接项,否则连接就失去了意义。如下是对两个table进行Merge的详细代码: private void button1_Clickobject sender, EventArgs eButton点击触发事件 { #region Table的Merge DataTable dt

  • Spring Boot项目集成UidGenerato的方法步骤

    前言 UidGenerato 基于snowflake算法实现 UidGenerato 由百度开发,基于SnowFlake算法的唯一ID生成器。UidGenerato 已组件的形式工作在应用项目中,支持自定义workeid位数和初始化策略,从而适用docker等虚拟化环境下实例自动重启等场景。 准备一个maven项目,构建两个模块。分别

  • Java实现快速排序过程分析

    快速排序过程 没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”!光听这个名字是不是就觉得很高端呢。 假设我们现在对“52 39 67 95 70 8 25 52'”这个8个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数70作为基准数吧。接下

  • 详解Spring Boot工程集成全局唯一ID生成器 UidGenerator的操作步骤

    Spring Boot中全局唯一流水号ID生成器集成实验 概述 流水号生成器(全局唯一 ID生成器)是服务化系统的基础设施,其在保障系统的正确运行和高可用方面发挥着重要作用。而关于流水号生成算法首屈一指的当属 Snowflake 雪花算法,然而 Snowflake本身很难在现实项目中直接使用,因此实际应用时需要一种可落地的方案。 Ui

  • 编写shell脚本实现tomcat定时重启的方法

    最近我在学生价买的低配服务器上部署了一个很吃内存的网页,导致 tomcat 内存经常溢出而崩溃。 于是我上网找了一些教程编写了一个简单的每天定时启动 tomcat 的脚本,特此记录一下 我的环境是 centos 7 1、 在某个目录新建一个 .sh 脚本文件 vim tomcatStart.sh

  • python实现图像高斯金字塔的示例代码

    import cv2 import numpy as np import matplotlib.pyplot as plt # Grayscale def BGR2GRAYimg: # Grayscale gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] return gray

  • PHP数组实际占用内存大小原理解析

    一般来说,PHP数组的内存利用率只有 110, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存: ?php echo memory_get_usage , 'br'; $start = memory_get_usage; $a

  • Python 用__new__方法实现单例的操作

    介绍 init 方法通常用在初始化一个类实例时候,但其实它不是实例化一个类的时候第一个被调用 的方法。当使用 Studentid, name 这样的表达式来实例化一个类时,最先被调用的方法 其实是 new 方法。 new方法接受的参数虽然也是和init一样,但init是在类实例创建之后调用,而 new方法正是创建这个类实例的方法。 p

  • shell脚本自动安装jdk的方法示例

    1.安装准备 1.jdk-8u221-linux-x64.tar.gz jdk压缩包(需要放在opt目录下) 2.shell脚本 2.shell命令 Sed 对字符的处理 -p  显示,将某个选择的数据打印显示。通常 p 会与参数 sed -n 一起执行 -d  删除,显示模式空间删除指定行后的内容,不会对原文件数据

  • python 基于opencv 实现一个鼠标绘图小程序

    需求 在画布上用鼠标画图,可以画圆或矩形,按m键在两种模式下切换。左键按下时开始画图,移动到哪儿画到哪儿,左键释放时结束画图。 实现思想 用鼠标画图:需要定义鼠标的回调函数mouse_event 画圆或矩形:需要定义一个画图的模式mode

  • PHP isset empty函数相关面试题及解析

    用isset和empty判断下面的变量。 $str = ''; $int = 0 ; $arr = array; isset$str 返回的是 true 还是 false empty$int 返回什么 empty$arr

  • shell字符串匹配的实现

    一、简介 Bash Shell提供了很多字符串和文件处理的命令。如awk、expr、grep、sed等命令,还有文件的排序、合并和分割等一系列的操作命令。grep、sed和awk内容比较多故单独列出,本文只涉及字符串的处理和部分文本处理命令。 二、字符串处理 1、expr命令

  • Python3 用matplotlib绘制sigmoid函数的案例

    我就废话不多说了,大家还是直接看代码吧~ import matplotlib.pyplot as plt import numpy as np def sigmoidx: # 直接返回sigmoid函数 return 1. 1. + np.exp-x def plot_sigmoid: # param:起点,终点,间距 x = np.a

  • 使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例

    逻辑斯蒂映射在混沌数学中是一个很经典的例子,它可以说明混沌可以从很简单的非线性方程中产生。 逻辑斯蒂映射公式如下: x_n表示当前人口与最大人口数量的比值,mu为参数,相当于人口增长速率。 分叉图描绘的是不同mu情况下

  • python 实现Harris角点检测算法

    算法流程: 将图像转换为灰度图像 利用Sobel滤波器求出 海森矩阵 Hessian matrix : img src="https:img.nhooo.comstaticupload2103150410300.png?20201111102

  • Shell中使用grep、sed正则提取和替换字符串

    Linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o xargs会将find结果作为grep的输入,防止find结果过多无法处理 -P参数表明要应用正则表达式 -o表示只输出匹配

  • 使用Shell脚本如何启动/停止Java的jar程序

    本文介绍如何使用Shell脚本来开启和停止jar程序的后台运行,以及如何实现out大文件的切分。另外,补充一些后台运行的小知识。 启动脚本:start_upload.sh #!binsh nohup java -jar UploadSchedule.jar usrlocaltomcat9webappsupload-to-ossn

  • Java之InputStreamReader类的实现

    InputStreamReader 类 1、概述 转换流 java.io.InputStreamReader ,是Reader的子类,是从字节流到字符流的桥梁。 该类读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。 2、继承自父类的

  • Java INPUTSTREAM如何实现重复使用

    引语: 之前做项目的时候遇到一个问题,就是从网络中读取的图片要上传到oss,而且要对图片进行裁剪和压缩,其中上传和裁剪都要使用到图片的inputStream, 又因为inputstream不能重复读,导致裁剪是成功的,而上传是失败的.我们今天就提供两种方法来解决,inputStream不能重复读的问题. 问题分析: in

  • Java InputStream的多种使用详解

    以前写东西,尤其是网络传输方面总会碰到将某种格式的文本或者图片等转幻成数据流的方式来传输,那时候用的就直接网上找点就粘贴,也没什么搞懂到底是怎么个机理。后来抽点空就死啃了点这方面的文章,稍微懂了点,特意分享一下。 InputStream FileInputStream BufferInputStream InputStreamreader ByteArrayInputStream这些东西到

  • Java中的InputStreamReader和OutputStreamWriter源码分析_动力节点Java学院整理

    InputStreamReader和OutputStreamWriter源码分析 1. InputStreamReader 源码基于jdk1.7.40 package java.io; import java.nio.charset.Charset; import java.nio.cha

  • java 中InputStream,String,File之间的相互转化对比

    InputStream,String,File相互转化 1. String -- InputStream InputStream String2InputStreamString str{ ByteArrayInputStream stream = new Byt

  • Java InputStream skip()方法与示例

    InputStream类skip方法 skip方法在java.io包中可用。 skip方法用于从此InputStream跳过给定数量的数据字节。

  • Java InputStream reset()方法与示例

    InputStream类reset方法 reset方法在java.io包中可用。 reset方法用于将流重置mark到此InputStream中该方法最近

  • Java InputStream markSupported()方法与示例

    InputStream类markSupported方法 markSupported方法在java.io包中可用。 的markSupported方法被用来检查是否此流的载体m

  • Java InputStream mark()方法与示例

    InputStream类mark方法 mark方法在java.io包中可用。 mark方法用于标记此InputStream中的当前位置,当我们调用resetcode

  • Java InputStream close()方法与示例

    InputStream类close方法 close方法在java.io包中可用。 close方法用于关闭此InputStream并释放与此流链接的所有系统资源。

  • Java InputStream available()方法与示例

    InputStream类available方法 available方法在java.io包中可用。 available方法用于返回可从此InputStream读取的剩余可用字节数,而不会

  • Java InputStreamReader ready()方法与示例

    InputStreamReader类ready方法 ready方法在java.io包中可用。 ready方法用于检查此InputStreamReader是否准备就绪。

  • Java InputStreamReader getEncoding()方法及示例

    InputStreamReader类getEncoding方法 getEncoding方法在java.io包中可用。 getEncoding方法用于获取此InputStreamRead

  • Java InputStreamReader close()方法与示例

    InputStreamReader类close方法 close方法在java.io包中可用。 close方法用于关闭此InputStreamReader流并释放与此流链接的所有系统资源

  • javascript实现树形菜单的方法

    本文实例讲述了javascript实现树形菜单的方法。分享给大家供大家参考。具体如下: var ME={ ini:{i:true,d:{},d1:{},h:0,h1:0,h2:0}, html:functionda,f{ var s='ul'+f?' class="f"':''+''; forvar i=0,l=da.length;i&l

  • PHP结合Redis+MySQL实现冷热数据交换应用案例详解

    本文实例讲述了PHP结合Redis+MySQL实现冷热数据交换应用案例。分享给大家供大家参考,具体如下: 场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解

  • 详解关于iOS内存管理的规则思考

    关于iOS内存管理的规则思考 自己生成的生成的对象,自己持有。 非自己生成的对象,自己也能持有。 不在需要自己持有的对象时释放。 非自己持有的对象无法释放。 注:这里的自己是对象使用的环境,理解为编程人员本身也没有错 对象操作和Objective-C方法对应

  • JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系

    区别: javascript JavaScript 是因特网上最流行的浏览器脚本语言。很容易使用!你一定会喜欢它的! JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。 HTML DOM

  • apply和call方法定义及apply和call方法的区别

     如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的”偏见”,因为这对您来说绝对是一片新大陆。好了,不给大家唠嗑了,言归正传吧,先给大家讲下apply和call方法的定义。 具体内容如下所示:

  • javascript中window.open在原来的窗口中打开新的窗口(不同名)

    最近做一个JSP网页要求打开一个没有菜单工具栏的IE,想到用window.open 来打开。但是发现如果先前打开的窗体没有关掉,在打开一个窗体的时候就会在先前没有关闭的窗体上打开新的窗体,这样先前的窗口就被替换掉了。经过查找资料和测试发现如果在打开窗体的时候指定的窗体名和当前的某个窗体同名的时候就会在那个窗体上打开。例如下面的情况: window.open"view_svg.jsp?ukey