语雀导出md文档快速部署到hexo上:
处理语雀导出md文档为hexo需求的md格式:
以前我是用语雀来写文档的!现在也是,只不过语雀导出md文档直接部署到hexo上有如下问题:
导出的图片加了防盗链,部署到github上是无法访问的!
导出的文章没有分类和标签
为了好看, 文章的封面设置又麻烦
我抽空就写了一个python脚本!脚本的流程为:语雀导出的md到指定的文件夹中->脚本处理指定图片文件夹的内容->脚本读取并处理md文档->脚本把处理好的md文档剪切到_post文件夹中!
py源码如下,注意更换相关文件夹的路径:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151 ...
深入了解 JDK自带工具- jps
本文将对JVM自带的工具jps(Java Process Status)进行深入详细的分析与讲解。我们会探讨它的基本功能、如何使用、以及在实际场景中的应用。本文将深入分析jps工具的用法、输出信息的含义以及如何在日常开发和维护中受益于它。
jps简介
JPS(Java Process Status)是Java JDK自带的一款命令行工具,用于查看当前所有运行在JVM上的java进程。它位于JDK的bin目录下,当我们启动一个Java程序时,会启动一个JVM进程,使用JPS便可以查看当前系统中的所有Java进程和它们的状态。开发者可以用它快速获取Java应用程序进程的基本信息,如进程ID(LVMID)和主类名称。这个工具在查找特定Java进程、诊断问题、或是启动其他JDK工具时非常有用。
基本用法
JPS命令格式:jps [options] [hostid]其中,options参数是可选的,hostid参数也是可选的。如果不输入任何参数,则JPS将显示当前所有的Java进程。下面我们来详细介绍一下JPS命令的常用选项:
-l:输出主类或jar文件的完整路径
-q:只输出进程号
-m:输 ...
深入Quartz
Github:https://github.com/ThinkMugz/springboot-demo-major,需要的伙伴儿自取。
本文主要有以下内容:
Quartz的基本认知和源码初探
Quartz的基本使用
Quartz的进阶使用,包括Job中注入Mapper层、Quartz的持久化
在Java领域,有很多定时任务框架,这里简单对比一下目前比较流行的三款:
网络资源:
Quartz文档:https://www.w3cschool.cn/quartz_doc/
xxl-job博客:https://www.cnblogs.com/xuxueli/p/5021979.html
1 初识Quartz
如果你的定时任务没有分布式需求,但需要对任务有一定的动态管理,例如任务的启动、暂停、恢复、停止和触发时间修改,那么Quartz非常适合你。
Quartz是Java定时任务领域一个非常优秀的框架,由OpenSymphony(一个开源组织)开发,这个框架进行了优良地解耦设计,整个模块可以分为三大部分:
Job:顾名思义,指待定时执行的具体工作内容;
Trigger:触发器,指定运行 ...
流Stream的Map-Reduce操作
写在前面
Stream 的 Map-Reduce 操作是Java 函数式编程的精华所在,同时也是最为复杂的部分。但一旦你啃下了这块硬骨头,那你就真正熟悉Java的函数式编程了。
如果你有大数据的编程经验,你会对术语 Map-Reduce 十分熟悉亲切。如果你不熟悉大数据编程,也无所谓,通过本文的学习,相信你会对 Map-Reduce 会有一定的理解。下面我们将开始一次有趣的历程。
如有疑问,欢迎加群讨论。
本文的示例代码可从gitee上获取:https://gitee.com/cnmemset/javafp
Stream的map操作
map操作又称为映射操作,是处理Stream的重要操作。它的作用是将当前Stream中的每个元素都映射转换为另一个元素,从而得到一个新的Stream。转换前后的元素类型也可以不同。
下面介绍 Stream 中常用的 Map 方法。
map()
map的方法签名是:
1<R> Stream<R> map(Function<? super T, ? extends R> mapper);
map方法是一个中间操作,作用是将当 ...
流Stream并行编程
写在前面
在本系列文章的第一篇,我们提到了函数式编程的优点之一是“易于并发编程”。
Java作为一个多线程的语言,它通过 Stream 来提供了并发编程的便利性。
题外话:
严格来说,并发和并行是两个不同的概念。
“并发(Concurrency)”强调的是在同一时间开始执行多个任务,通常会涉及多线程之间的上下文切换;
“并行(Parallelism)”强调的是将一个大任务分解为多个小任务后,再同时执行这些小任务,得到多个中间结果后再汇总为一个最终结果。
但在多CPU和分布式的时代,并发和并行的概念联系越来越紧密。至少在Java的Stream中,我们可以将并发和并行理解为同一个意思:基于多线程技术,对一个大任务分拆为多个小任务,分配到不同的线程中执行,得到多个中间结果后再汇总为一个最终结果。
本文的示例代码可从gitee上获取:https://gitee.com/cnmemset/javafp
Stream的并行编程
并行编程是Stream的一个重要功能和特性。它的一个优点是:不管数据源是否线程安全,通过并行流(parallel stream)都可以轻松的实现并行编程。
Stream ...
流Stream基础
写在前面
如果说函数式接口和lambda表达式是Java中函数式编程的基石,那么stream就是在基石上的最富丽堂皇的大厦。
只有熟悉了stream,你才能说熟悉了Java 的函数式编程。
本文主要介绍Stream的基础概念和基本操作,让大家对Stream有一个初步的理解。
本文的示例代码可从gitee上获取:https://gitee.com/cnmemset/javafp
stream的概念
首先,看一个典型的stream例子:
12345678910public static void simpleStream() { List<String> words = Arrays.asList("hello", "world", "I", "love", "you"); int letterCount = words.stream() .filter(s -> s.length() > 3) // 过滤掉长度小于等于3 ...
springSecurity
springsecurity自动配置解析:
SecurityFilterAutoConfiguration:
spring security自动配置的源码简单分析 - 程序晓猿 - 博客园(详细但是也挺难的)
1@EnableConfigurationProperties({SecurityProperties.class})注解,Spring Boot会自动将这些属性加载到应用程序的上下文中,使得我们可以通过@Autowired注解或其他方式方便地访问和使用这些属性。
1表示SecurityFilterAutoConfiguration的自动配置必须要在
请求到达spring security的处理过程:
一个请求到达spring security后首先会被DelegatingFilterProxy这个过滤器拦截到,这是一个代理过滤器,它会使用内部的代理目标delegate 也就是从容器中获取名称是springSecurityFilterChain的过滤器(而这个过滤器是由由WebSecurity 构建的FilterChainProxy这个类型的过滤器来处理 ...
Redis尚硅谷课件
框架高级课程系列之Redis6
尚硅谷JavaEE教研组
NoSQL数据库简介
技术发展
技术的分类
1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN
2、解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis
3、解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch
1. **Web1.0时代**
Web1.0的时代,数据访问量很有限(数据量只是部署到一个服务器中,可是一个服务器的访问量是有上限的),用一夫当关的高性能的单点服务器可以解决大部分问题。
1. **Web2.0时代**
随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。
1. **解决CPU及内存压力**
1. **解决IO压力**
NoSQL数据库
NoSQL数据库概述
NoSQL(NoSQL = Not Only SQ ...
大话http_
1.了解http协议:
http:超文本传输协议,允许将超文本标记语言从web服务器传送到客户端浏览器,是属于应用层的面向对象协议。
TCP3次握手:
DNS域名解析:
当我们在浏览器键入一个网址的时候,浏览器会在本地hosts文件找有没有,该域名和网址的映射,没有就在DNS服务器寻找,也没有就在上级的DNS服务器,直达根服务器hosts文件:host查询到的ip和域名的映射关系高于dns;
http协议结构和通信原理:
http协议特点:深入理解HTTP协议
1.简单快速:客户向服务器发送请求时,只需要传输路径和方法;请求方法有get,head,post,每种方法规定了客户与服务器联系的类型不同;http协议简单,服务器程序规模小,通信速度快。2.灵活:http允许传递任意类型的数据对象,正在传输的类型用,Content-Type标志3.无连接:无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求并收到应答后就断开连接,节省传输时间4.无状态:是指对于事务的处理能力没有记忆能力,如果后面的内容需要前面的内容,则必须重新传送
http报文结构:HTTP报文(面试 ...
基础概念:
1.网关:
网关是什么意思?3分钟了解网关的作用是一种网间连接器,协议转换器,**它是信息从一个网络发往另一个网络需经过的一道“关口”。**仅用于两个高层协议不同的网络互联。如果网络A中的主机发现数据包的目的地址不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某台主机。假设网络A的IP地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0,那么网络A向网络B发送数据包的过程如下图所示。(上图中的255.255.255.0是掩码地址)网关的IP地址是用来实现不同网络之间的通信的。网关是一种网络设备,它可以将数据包从一个网络转发到另一个网络中的设备。网关的IP地址就是它的网络接口的地址,它用于标识网关在网络中的位置。网关的IP地址可以是任意的,只要符合IP地址的分配规则就行。但是为了方便管理和区分,一般会将一个网段的第一个或最后一个IP地址作为网关的IP地址。
2.域名和 ...