AND
20230625 java.io.PrintStream
## 介绍 - java.io.PrintStream - public class PrintStream extends FilterOutputStream implements Appendable, Closeable - 对应的字符流是 PrintWriter - 可以作为装饰器包装 ` ......
20230625 java.io.PrintWriter
## 介绍 - java.io.PrintWriter - public class PrintWriter extends Writer - 对应的字节流是 `PrintStream` - 主要作用是文本输出 - 可以作为装饰器包装 `Writer` 和 `OutputStream` ,会装饰成 ......
20230625 java.io.RandomAccessFile
## 介绍 - java.io.RandomAccessFile - public class RandomAccessFile implements DataOutput, DataInput, Closeable - 同时实现了 DataInput 和 DataOutput 接口 - 可以在文件 ......
20230626 java.nio.file.Files
## 介绍 - java.nio.file.Files - public final class Files - 操作文件、目录、路径的工具类 ## API ### static - newInputStream - newOutputStream - newBufferedReader - new ......
Linux管理SpringBoot应用shell脚本实现
Liunx系统如何部署和管理SpringBoot项目应用呢?最简单的方法就是写个shell脚本。 Spring Boot是Java的一个流行框架,用于开发企业级应用程序。下面我们将学习如何在Linux服务器上部署Spring Boot应用,并通过一个脚本实现启动、停止、重启等操作。 步骤1: 准 ......
在同事的代码中学习-责任链模式
# 前言 不知道大家有没有发现,设计模式学习起来其实不容易,并不是说它难,主要是它表达的是思想层面或者说抽象层面的东西,如果你没有实践经历过,感觉就是看了就懂,过了就忘。 所以本人现在也不多花费时间去专门学习设计模式,而是平时在看一些框架源码时,多留意,多学习别人的设计方法和实现思路,在平时工作中, ......
Python基础入门学习笔记 024 递归:汉诺塔
递归求解汉诺塔 •对于游戏的玩法,我们可以简单分解为三个步骤 –将前63个盘子从X移动到Y上。 –将最底下的第64个盘子从X移动到Z上。 –将Y上的63个盘子移动到Z上。 •问题一:将X上的63个盘子借助Z移到Y上; •问题二:将Y上的63个盘子借助X移到Z上。 •对于游戏的玩法,我们可以简单分解为 ......
webman:配置端口/日志等(v1.5.7)
一,文档地址: https://www.workerman.net/doc/webman/others/security.html https://www.workerman.net/doc/webman/request.html https://www.workerman.net/doc/webm ......
webman:全局中间件:记录访问日志(v1.5.7)
一,官方文档地址: https://www.workerman.net/doc/webman/middleware.html 二,php代码 1,配置中间件: config/middleware.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ......
直播APP开发,协议盘点(五):实时传输协议RTP
实时传输协议RTP为直播APP开发必须要做的事情之一,能保证数据传输的实时性、顺序性、稳定性与正确性,保证了平台的运行服务,用户使用直播APP的体验,实时传输协议RTP的搭建有着重要的意义。 ......
java字符串乱码判断
public static boolean errCodes(String str){ return !(java.nio.charset.Charset.forName("GBK").newEncoder().canEncode(str)); } //扩展判断是否为中文 public static ......
oracle 实例信息查询
SQL> desc gv$instance; Name Null? Type INST_ID NUMBER INSTANCE_NUMBER NUMBER INSTANCE_NAME VARCHAR2(16) HOST_NAME VARCHAR2(64) VERSION VARCHAR2(17) ST ......
点击实现文字复制
// 1. 创建一个方法文件 fun.js export const copyToClipboard = (text, callback) => { if (navigator.clipboard) { // clipboard api 复制 navigator.clipboard.writeTex ......
利用svg标签绕过xss校验
SVG中的<use>元素用于重用其他元素,主要用于联接<defs>和alike,而我们却用它来引用外部SVG文件中的元素元素通过其id被引用,在<use>标签的xlink:href属性中以'#'井字符开头,外部元素的引用同样如此基本结构如下所示: test.html <svg> <use xlink ......
Centos排查流量异常进程
简介有时候当服务器出现流量出入过高的时候,需要去如何排查是哪些进程在使用,本文主要记录如何通过相关命令来进行排查。 1、基本知识 1.1、iftop介绍 一般涉及到流量的监控,经常会使用iftop,首先安装iftop: yum install iftop -y 使用iftop命令,界面如下: 界面上 ......
Python基础入门学习笔记 025 字典:当索引不好用时
映射 创建和访问字典 >>> dict4 = dict(小甲鱼='让编程改变世界',李宁='一切皆有可能')>>> dict4{'小甲鱼': '让编程改变世界', '李宁': '一切皆有可能'} >>> dict4['爱迪生'] = '天才是99%的汗水加1%的灵感'>>> dict4{'小甲鱼': ......
webman:用thinkorm访问数据库(v1.5.7)
一,官方文档地址: https://www.workerman.net/doc/webman/db/thinkorm.html 二,安装组件 liuhongdi@lhdpc:/data/webman/imageadmin$ composer require -W webman/think-orm . ......
webman:用thinkcache访问redis(v1.5.7)
一,官方文档地址: https://www.workerman.net/doc/webman/db/thinkcache.html 二,安装组件 liuhongdi@lhdpc:/data/webman/imageadmin$ composer require -W webman/think-cac ......
1G 2G 3G 4G 发展史
G就是英语单词generation的首字母,就是生物或技术领域“代”的意思,和网速没有任何关系。 4G就是第四代移动通信技术,5G就是第五代移动通信技术。 2G理论网速是150Kbps,折合下载速度15-20K/s;3G理论网速为1-6Mbps,折合下载速度120K/s-600K/s4G理论网速为1 ......
Shell学习笔记
#!/bin/bashecho "Hello World!" for i in $(ls /home);doecho $idone name='zpb'str="Are you \"$name\"?"echo $str ${#name} #转义字符、字符长度 greeting='Are you ${ ......
社区版idea实现热部署
一、概述 在日常开发过程中经常性得要修改及调试代码,而每次修改及调试代码都需要重启服务。项目如果比较大,频繁的重启服务是比较耗费时间的。那么有没有一种方式能够在不重启服务的情况下就可以使更改的代码生效? 当然是有的,那就是SpringBoot提供的热部署功能。下面来看看具体如何做。这里只记录手动热部 ......
Python基础入门学习笔记 022 函数:递归是神马
汉诺塔游戏 树结构的定义 谢尔宾斯基三角形 递归求阶乘 •写一个求阶乘的函数 –正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。 –例如所给的数是5,则阶乘式是1×2×3×4×5,得到的积是120,所以120就是4的阶乘。 •假设我们n的值传入是5,那么: 实例:求阶乘 1 def facto ......
Python基础入门学习笔记 023 递归:这帮小兔崽子
坑爹的兔子 斐波那契数列的迭代实现 我们都知道兔子繁殖能力是惊人的,如下图: 我们可以用数学函数来定义: 课间练习:假设我们需要求出经历了20个月后,总共有多少对小兔崽子?(迭代 vs 递归) 1 def fab(n): 2 n1 = 1 3 n2 = 1 4 n3 = 1 5 6 if n < 1 ......
Lombok 常用注解·····
Lombok 是一个 Java 库,它提供了一组注解,可以帮助开发人员简化 Java 代码。以下是 Lombok 常用的注解: import lombok.*; import lombok.extern.slf4j.Slf4j; /** * @Auther: TianWei_1881158095 ......
Linux:tar、压缩、解压
压缩文件扩展名: .tar:tar程序打包的数据,没经过压缩 .tar.gz:tar程序打包,并经过gzip压缩 .tgz .gz:gzip程序压缩的文件 .Z:Compress程序压缩的文件 .bz2:bzip2程序压缩的文件 .xz:xz程序压缩的文件 Linux上最常见的压缩指令为gzip、b ......
webman:配置日志(v1.5.7)
一,官方文档: https://www.workerman.net/doc/webman/log.html 二,代码: 1,配置: config/log.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ......
【MySQL数据库总结】
# [【一】MySQL初识](https://www.cnblogs.com/dream-ze/p/17517792.html) - 存储数据的演变过程 - SQL语句的由来 - 库/表/记录/表头/表单 - MySQL安装 - 初识SQL语句 # [【二】MySQL基础](https://www. ......
Java常见的队列
# 队列分类 1. 阻塞队列 阻塞队列要实现接口:BlockingQueue 2. 非阻塞队列 ## LinkedBlockingQueue常用方法 1. LinkedBlockingQueue是是一个阻塞的线程安全的队列,底层采用链表实现。遵循FIFO(先进先出)。 2. LinkedBlocki ......
详情讲解canvas实现电子签名
签名的实现功能 我们要实现签名: 1.我们首先要鼠标按下,移动,抬起。经过这三个步骤。 我们可以实现一笔或者连笔。 按下的时候我们需要移动画笔,可以使用 moveTo 来移动画笔。 e.pageX,e.pageY来获取坐标位置 移动的时候我们进行绘制 ctx.lineTo(e.pageX,e.pag ......