图片和base64的互转

代码如下:package com.sunyard.flowpre.service.txdapp;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Service;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import java.io.*;/** * @author :haoc.xu * @date :2021/1/7
分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

CMS收集器和G1收集器的区别

区别一:使用的范围不一样CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用。G1收集器收集范围是老年代和新生代。不需要结合其他收集器使用。区别二:使用的算法不一样CMS收集器是使用“标记-清除”算法进行的垃圾回收。G1收集器使用的是“标记-整理”算法进行的垃圾回收。区别三:CMS收集器和G1收集器的优劣性CMS收集器以最小的停顿时间为目标的收集器,容易产生内存碎片。G1收集器不会产生内存碎片。区别四:垃圾回收的过程不一样CMS收集器:初始标记→并发标记
分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

谈谈自己对于hashcode和equals的理解

一直以来,对于hashcode都只停留在知道的层面。只知道机械性的背诵:可能hashcode相同但是equals不相同,不过equals相同hashcode一定相同。重写equals一定重写hashcode。今天再去学习的时候,突然有了自己新的理解,在这里记录一下。首先,hash是一种算法,而hashcode就是通过这种算法算出的值,有一个对应的表叫做hash表。举个例子,就是有懂大楼叫做hash表,每个对象就是不同的住户,而hashcode就是大楼的楼层,也就是对应的hash表中的值。当有一个
分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

IDEA使用Java8新特性前的配置修改

分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

java可以开启线程吗?

开不了可以从源码中看出来,首先写一个简单的测试类public class Test01 { public static void main(String[] args) { new Thread().start(); }}然后Ctrl+左键进入start方法 public synchronized void start() { /** * This method is not invoked for the main method
分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

iOS经典面试题之分析GCD的dispatch_group任务执行问题

① dispatch_group 异步执行任务现有以下调度组 dispatch_group 执行多个任务,将 dispatch_group_notify 放在调度组异步执行任务,那么它们的任务执行顺序是怎么样的呢? dispatch_group_t group = dispatch_group_create(); dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_group_enter(group);
分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

线程有几个状态

由源码可知:6个 public enum State { //新生 /** * Thread state for a thread which has not yet started. */ NEW, //运行 /** * Thread state for a runnable thread. A thread in the runnable * st
分类: 其他 发布时间: 04-06 10:34 阅读次数: 0

PL/SQL基本用法

PL/SQL什么是PL/SQL?PL/SQL的语法结构PL/SQL块的基本结构PL/SQL块的分类PL/SQL的变量类型标识符变量的命名方法插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入...
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

线程中wait和sleep的区别

1、来自不同的类wait来自Object类sleep来着Thread类2、锁的释放wait会释放锁sleep带着锁一切休眠,休眠期间什么操作都做不了3、使用的范围不同wait必须在同步代码块中使用sleep可以在任何地方使用4、是否需要捕获异常wait不需要捕获异常sleep必须捕获异常...
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

.NET中进程的基本使用

.NET中进程的基本使用进程1、输出所有进程2、打开系统工具3、打开指定路径的文件4、小练习 (打开指定文件)进程一个应用程序就是一个进程,而一个进程又是由多个线程组成的。进程帮助我们在内存中分配应用程序执行所需要的的空间我们可已通过进程来直接操作应用程序1、输出所有进程using System;using System.Diagnostics; //Process using System.IO; //Pathnamespace ConsoleApp3{ class Prog
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

String的replaceAll方法的参数中含有特殊字符的处理方法

在想要替换字符串中指定的部分字符串的时候,往往会使用replaceAll方法。但是如果参数中含有特殊字符,比如$的时候,就需要使用Matcher.quoteReplacement方法,案例如下图:
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

1.初识C#

初识C#及其开发环境1.1C#概述C#是一种面向对象的编程语言,主要开发可以运行在.NET平台上的程序。C#的语言体系都构建在.NET上。1.1.1 C#语言及其特点C#识微软公司设计的一种编程语言,是从C和C++派生出来的一种简单、现代、面向对象和类型安全的编程语言,并且能够与.NET框架完美结合,去掉了指针操作。语法简洁,不允许直接操作内存,去掉了指针。彻底的面向对象,C#具有面向对象所有的一切特性:封装、继承、多台。与Web紧密结合,C#支持绝大部分的Web标准,例如HTML、XML、
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

redis常用的数据结构

1、String字符串String 数据结构是简单的 key-value 类型,value 不仅可以是 String,也可以是数字(当数字类型用 Long 可以表示的时候encoding 就是整型,其他都存储在 sdshdr 当做字符串)。使用 Strings 类型,可以完全实现目前 Memcached 的功能,并且效率更高。还可以享受 Redis 的定时持久化(可以选择 RDB 模式或者 AOF 模式),操作日志及 Replication 等功能。下图描述了字符串常用的三个命令:命令行为基
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

2.C#程序结构

C#程序结构1.1 命名空间1.2类1.3MAIN方法
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

Redis实际应用场景

Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储;它的数据模型非常独特,用的是单线程。另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不需要转到Redis。1、显示最新的项目列表下面这个语句常用来显示最新项目,随着数据多了,查询毫无疑问会越来越慢。SELECT * FROM 表名 WHERE ... ORDER BY time DESC LIMIT 10 在Web应用中,“列出最新的回复”之类的查询非常普遍,这通常会带来可扩展性问题。
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

4. 表达式与运算符

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

为什么Redis是单线程的

1、官方答案因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。2、性能指标关于redis的性能,官方网站也有,普通笔记本轻松处理每秒几十万的请求。3、详细原因(1)不需要各种锁的性能消耗Redis的数据结构并不全是简单的Key-Value,还有list,hash等复杂的结构,这些结构有可能会进行很细粒度的操作,比如在很长的列表后面添加一个元素,在hash当
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

分布式锁和同步器

1、可重入锁(Reentrant Lock)基于Redis的Redisson分布式可重入锁RLockJava对象实现了java.util.concurrent.locks.Lock接口。同时还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。RLock lock = redisson.getLock("anyLock");// 最常见的使用方法lock.lock();大家都知道,如果负责储存这个分布式锁的Redisson节点宕机以后,而且这个锁正好处于锁住的状态
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

【LaTeX应用】tikzpicture绘图,两个tikzpicture并列间距调整

\begin{tikzpicture} \node[draw,minimum width=40mm, minimum height=6mm] (m1) {message}; \node[draw,minimum width=10mm, minimum height=6mm, left =(0mm of m1.east)] (m2) {0}; \node[draw, minimum width=30mm, minimum height=6mm, below of = m1, node di...
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0

【LaTeX应用】绘图,流程图,折线

绘制图形的时候,可能需要有折线,这个简单的应用就可以满足这点,代码逻辑非常简单\begin{tikzpicture}[ nodex/.style = {draw, minimum width=20mm, minimum height=8mm}, nodey/.style = {draw, minimum width=10mm, minimum height=8mm}, ] \node[nodex] (n1) {msg}; \node[nodex, right = (0mm of n..
分类: 其他 发布时间: 04-06 10:33 阅读次数: 0