一、异步调用方式分析
今天在写代码的时候,想要调用异步的操作,这里我是用的java8的流式异步调用,但是使用过程中呢,发现这个异步方式有两个方法,如下所示:

在这里插入图片描述

区别是一个 需要指定线程池,一个不需要。

那么指定线程池有哪些好处呢?直观的说有以下两点好处:

可以根据我们的服务器性能,通过池的管理更好的规划我们的线程数。
可以对我们使用的线程自定义名称,这里也是阿里java开发规范所提到的。
1.1 java8异步调用默认线程池方式
当然常规使用默认的也没什么问题。我们通过源码分析下使用默认线程池的过程。

 public static CompletableFuture<Void> runAsync(Runnable runnable) {return asyncRunStage(asyncPool, runnable);}
复制代码

看下这个asyncPool是什么?

如下所示,useCommonPool如果为真,就使用ForkJoinPool.commonPool(),否则创建一个new ThreadPerTaskExecutor():

   private static final Executor asyncPool = useCommonPool ?ForkJoinPool.commonPool() : new ThreadPerTaskExecutor();
复制代码

看看useCommonPool 是什么?

 private static final boolean useCommonPool =(ForkJoinPool.getCommonPoolParallelism() > 1);
复制代码
  /*** 公共池的目标并行度级别*/public static int getCommonPoolParallelism() {return commonParallelism;}
复制代码

最终这个并行级别并没有给出默认值

static final int commonParallelism;
复制代码

通过找到这个常量的调用,我们看看是如何进行初始化的,在ForkJoinPool中有一个静态代码块,启动时会对commonParallelism进行初始化,我们只关注最后一句话就好了,:

    // Unsafe mechanicsprivate static final sun.misc.Unsafe U;private static final int  ABASE;private static final int  ASHIFT;private static final long CTL;private static final long RUNSTATE;private static final long STEALCOUNTER;private static final long PARKBLOCKER;private static final long QTOP;private static final long QLOCK;private static final long QSCANSTATE;private static final long QPARKER;private static final long QCURRENTSTEAL;private static final long QCURRENTJOIN;static {// initialize field offsets for CAS etctry {U = sun.misc.Unsafe.getUnsafe();Class<?> k = ForkJoinPool.class;CTL = U.objectFieldOffset(k.getDeclaredField("ctl"));RUNSTATE = U.objectFieldOffset(k.getDeclaredField("runState"));STEALCOUNTER = U.objectFieldOffset(k.getDeclaredField("stealCounter"));Class<?> tk = Thread.class;PARKBLOCKER = U.objectFieldOffset(tk.getDeclaredField("parkBlocker"));Class<?> wk = WorkQueue.class;QTOP = U.objectFieldOffset(wk.getDeclaredField("top"));QLOCK = U.objectFieldOffset(wk.getDeclaredField("qlock"));QSCANSTATE = U.objectFieldOffset(wk.getDeclaredField("scanState"));QPARKER = U.objectFieldOffset(wk.getDeclaredField("parker"));QCURRENTSTEAL = U.objectFieldOffset(wk.getDeclaredField("currentSteal"));QCURRENTJOIN = U.objectFieldOffset(wk.getDeclaredField("currentJoin"));Class<?> ak = ForkJoinTask[].class;ABASE = U.arrayBaseOffset(ak);int scale = U.arrayIndexScale(ak);if ((scale & (scale - 1)) != 0)throw new Error("data type scale not a power of two");ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);} catch (Exception e) {throw new Error(e);}commonMaxSpares = DEFAULT_COMMON_MAX_SPARES;defaultForkJoinWorkerThreadFactory =new DefaultForkJoinWorkerThreadFactory();modifyThreadPermission = new RuntimePermission("modifyThread");common = java.security.AccessController.doPrivileged(new java.security.PrivilegedAction<ForkJoinPool>() {public ForkJoinPool run() { return makeCommonPool(); }});// 即使线程被禁用也是1,至少是个1int par = common.config & SMASK;commonParallelism = par > 0 ? par : 1;}
复制代码

如下所示,默认是7:

在这里插入图片描述

所以接着下面的代码看:

  private static final boolean useCommonPool =(ForkJoinPool.getCommonPoolParallelism() > 1);
复制代码

这里一定是返回true,证明当前是并行的。

 private static final Executor asyncPool = useCommonPool ?ForkJoinPool.commonPool() : new ThreadPerTaskExecutor();
复制代码

上面会返回一个大小是七的的默认线程池

在这里插入图片描述

其实这个默认值是当前cpu的核心数,我的电脑是八核,在代码中默认会将核心数减一,所以显示是七个线程。

        if (parallelism < 0 && //默认是1,小于核心数(parallelism = Runtime.getRuntime().availableProcessors() - 1) <= 0)parallelism = 1;if (parallelism > MAX_CAP)parallelism = MAX_CAP;
复制代码

下面我们写个main方法测试一下,10个线程,每个阻塞10秒,看结果:

    public static void main(String[] args) {// 创建10个任务,每个任务阻塞10秒for (int i = 0; i < 10; i++) {CompletableFuture.runAsync(() -> {try {Thread.sleep(10000);System.out.println(new Date() + ":" + Thread.currentThread().getName());} catch (InterruptedException e) {e.printStackTrace();}});}try {Thread.sleep(30000);} catch (InterruptedException e) {e.printStackTrace();}}
复制代码

结果如下所示,前面七个任务先完成,另外三个任务被阻塞10秒后,才完成:

Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-5
Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-4
Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-2
Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-7
Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-3
Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-6
Mon Sep 13 11:20:57 CST 2021:ForkJoinPool.commonPool-worker-1
-----------------------------------------------------------  
Mon Sep 13 11:21:07 CST 2021:ForkJoinPool.commonPool-worker-2
Mon Sep 13 11:21:07 CST 2021:ForkJoinPool.commonPool-worker-5
Mon Sep 13 11:21:07 CST 2021:ForkJoinPool.commonPool-worker-4
复制代码

结论:当我们使用默认的线程池进行异步调用时,如果异步任务是一个IO密集型,简单说处理时间占用长,将导致其他使用共享线程池的任务阻塞,造成系统性能下降甚至异常。甚至当一部分调用接口时,如果接口超时,那么也会阻塞与超时时长相同的时间;实际在计算密集的场景下使用是能提高性能的。

二、使用自定义的线程池
上面说到如果是IO密集型的场景,在异步调用时还是使用自定义线程池比较好。

针对开篇提到的两个显而易见的好处,此处新增一条:

可以根据我们的服务器性能,通过池的管理更好的规划我们的线程数。
可以对我们使用的线程自定义名称,这里也是阿里java开发规范所提到的。
不会因为阻塞导致使用共享线程池的其他线程阻塞甚至异常。
我们自定义下面的线程池:

/*** @description: 全局通用线程池* @author:weirx* @date:2021/9/9 18:09* @version:3.0*/
@Slf4j
public class GlobalThreadPool {/*** 核心线程数*/public final static int CORE_POOL_SIZE = 10;/*** 最大线程数*/public final static int MAX_NUM_POOL_SIZE = 20;/*** 任务队列大小*/public final static int BLOCKING_QUEUE_SIZE = 30;/*** 线程池实例*/private final static ThreadPoolExecutor instance = getInstance();/*** description: 初始化线程池** @return: java.util.concurrent.ThreadPoolExecutor* @author: weirx* @time: 2021/9/10 9:49*/private synchronized static ThreadPoolExecutor getInstance() {// 生成线程池ThreadPoolExecutor executor = new ThreadPoolExecutor(CORE_POOL_SIZE,MAX_NUM_POOL_SIZE,60,TimeUnit.SECONDS,new LinkedBlockingQueue<>(BLOCKING_QUEUE_SIZE),new NamedThreadFactory("Thread-wjbgn-", false));return executor;}private GlobalThreadPool() {}public static ThreadPoolExecutor getExecutor() {return instance;}
}
复制代码

调用:

public static void main(String[] args) {// 创建10个任务,每个任务阻塞10秒for (int i = 0; i < 10; i++) {CompletableFuture.runAsync(() -> {try {Thread.sleep(10000);System.out.println(new Date() + ":" + Thread.currentThread().getName());} catch (InterruptedException e) {e.printStackTrace();}},GlobalThreadPool.getExecutor());}try {Thread.sleep(30000);} catch (InterruptedException e) {e.printStackTrace();}
}

复制代码
输出我们指定线程名称的线程:

Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-1
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-10
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-2
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-9
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-5
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-6
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-3
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-7
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-8
Mon Sep 13 11:32:35 CST 2021:Thread-Inbox-Model-4
复制代码

三、题外话,动态线程池
3.1 什么是动态线程池?
在我们使用线程池的时候,是否有的时候很纠结,到底设置多大的线程池参数是最合适的呢?如果不够用了怎么办,要改代码重新部署吗?

其实是不需要的,记得当初看过美团的一篇文章,真的让人茅塞顿开啊,动态线程池。

ThreadPoolExecutor这个类其实是提供对于线程池的属性进行修改的,支持我们动态修改以下的属性:

在这里插入图片描述

从上至下分别是:

线程工厂(用于指定线程名称)
核心线程数
最大线程数
活跃时间
拒绝策略。
在美团的文章当中呢,是监控服务器线程的使用率,当达到阈值就进行告警,然后通过配置中心去动态修改这些数值。

我们也可以这么做,使用@RefreshScope加nacos就可以实现了。

3.2 实践
我写了一个定时任务,监控当前服务的线程使用率,小了就扩容,一段时间后占用率下降,就恢复初始值。

其实还有很多地方需要改进的,请大家多提意见,监控的是文章前面的线程池GlobalThreadPool,下面调度任务的代码:

/*** @description: 全局线程池守护进程* @author:weirx* @date:2021/9/10 16:32* @version:3.0*/
@Slf4j
@Component
public class DaemonThreadTask {/*** 服务支持最大线程数*/public final static int SERVER_MAX_SIZE = 50;/*** 最大阈值Maximum threshold,百分比*/private final static int MAXIMUM_THRESHOLD = 8;/*** 每次递增最大线程数*/private final static int INCREMENTAL_MAX_NUM = 10;/*** 每次递增核心线程数*/private final static int INCREMENTAL_CORE_NUM = 5;/*** 当前线程数*/private static int currentSize = GlobalThreadPool.MAX_NUM_POOL_SIZE;/*** 当前核心线程数*/private static int currentCoreSize = GlobalThreadPool.CORE_POOL_SIZE;@Scheduled(cron = "0 */5 * * * ?")public static void execute() {threadMonitor();}/*** description: 动态监控并设置线程参数** @return: void* @author: weirx* @time: 2021/9/10 13:20*/private static void threadMonitor() {ThreadPoolExecutor instance = GlobalThreadPool.getExecutor();int activeCount = instance.getActiveCount();int size = instance.getQueue().size();log.info("GlobalThreadPool: the active thread count is {}", activeCount);// 线程数不足,增加线程if (activeCount > GlobalThreadPool.MAX_NUM_POOL_SIZE % MAXIMUM_THRESHOLD&& size >= GlobalThreadPool.BLOCKING_QUEUE_SIZE) {currentSize = currentSize + INCREMENTAL_MAX_NUM;currentCoreSize = currentCoreSize + INCREMENTAL_CORE_NUM;//当前设置最大线程数小于服务最大支持线程数才可以继续增加线程if (currentSize <= SERVER_MAX_SIZE) {instance.setMaximumPoolSize(currentSize);instance.setCorePoolSize(currentCoreSize);log.info("this max thread size is {}", currentSize);} else {log.info("current size is more than server max size, can not add");}}// 线程数足够,降低线程数,当前活跃数小于默认核心线程数if (activeCount < GlobalThreadPool.MAX_NUM_POOL_SIZE&& size == 0&& currentSize > GlobalThreadPool.MAX_NUM_POOL_SIZE) {currentSize = GlobalThreadPool.MAX_NUM_POOL_SIZE;currentCoreSize = GlobalThreadPool.CORE_POOL_SIZE;instance.setMaximumPoolSize(currentSize);instance.setCorePoolSize(currentCoreSize);}}
}
复制代码

3.3 动态线程池有什么意义?
有的朋友其实问过我,我直接把线程池设置大一点不就好了,这种动态线程池有什么意义呢?

其实这是一个好问题。在以前的传统软件当中,单机部署,硬件部署,确实,我们能使用的线程数取决于服务器的核心线程数,而且基本没有其他服务来争抢这些线程。

但是现在是容器的时代,云原生的时代。

多个容器部署在一个宿主机上,那么当高峰期的时候,某个容器就需要占用大量的cpu资源,如果所有的容器都将大部分资源占据,那么这个容器必然面临阻塞甚至瘫痪的风险。

当高峰期过了,释放这部分资源可以被释放掉,用于其他需要的容器。。

再结合到目前的云服务器节点扩容,都是需要动态扩缩容的的,和线程相似,在满足高可用的情况下,尽量的节约成本。

最后
如果你觉得此文对你有一丁点帮助,点个赞。或者可以加入我的开发交流群:1025263163相互学习,我们会有专业的技术答疑解惑

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star:http://github.crmeb.net/u/defu不胜感激 !

PHP学习手册:https://doc.crmeb.com
技术交流论坛:https://q.crmeb.com

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 中国水溶性肥料市场趋势报告、技术动态创新及市场预测

    【出版商】贝哲斯咨询 【免费目录下载】水溶性肥料是一种可溶于水的复合肥料&#xff0c;较易被农作物吸收&#xff0c;与常规化肥相比&#xff0c;其吸收利用率较高。 水溶性肥料市场的企业竞争态势 该报告涉及的主要国际市场参与者有Agrium Inc.、Israel Chemical Ltd.(ICL…...

    2024/4/14 2:24:28
  2. 全球及中国柔性透明导电薄膜行业竞争状况及供需前景预测报告2022-2027

    全球及中国柔性透明导电薄膜行业竞争状况及供需前景预测报告2022-2027 【报告编号】: BG416310 【出版时间】: 2022年1月 【出版机构】: 中智正业研究院 内容简介&#xff1a; 1 柔性透明导电薄膜市场概述 1.1 柔性透明导电薄膜行业概述及统计范围 1.2 按照不同厚度&#xff…...

    2024/4/14 2:24:43
  3. 集成学习的偏差和方差

    简介&#xff1a; 我们经常用过拟合、欠拟合来定性地描述模型是否很好地解决了特定的问 题。从定量的角度来说&#xff0c;可以用模型的偏差&#xff08;Bias&#xff09;与方差&#xff08;Variance&#xff09;来描述模型的性能。集成学习往往能够“神奇”地提升弱分类器的性…...

    2024/4/14 2:24:33
  4. HTB-Wander

    文章目录概述声明题目概述题目解答概述 HackTheBox 是一个经典的在线靶机平台&#xff0c;提供了大量漏洞演练和CTF演练场景。 本次记录的是HTB Tracks 系列的 Intro to Printer Exploitation&#xff0c;即打印机相关漏洞的场景合集。随着攻防对抗的升级&#xff0c;打印机也…...

    2024/4/16 21:53:08
  5. 强化学习的探索和利用

    一&#xff0e; 简述 在和环境不断交互的过程中&#xff0c;智能体在不同的状态下不停地探索&#xff0c;获取不同的动作的反馈。探索&#xff08;Exploration&#xff09;能够帮助智能体通过不断试验获得反馈&#xff0c;利用&#xff08;Exploitation&#xff09;是指利用已…...

    2024/4/14 2:24:13
  6. 男士化妆品行业调研报告 - 市场现状分析与发展前景预测

    出版商&#xff1a;贝哲斯咨询 获取报告样本&#xff1a; 企业竞争态势 该报告涉及的主要国际市场参与者有TOM FORD、MEN PEN、BLACK MONSTER、Clinique、Menaji Worldwide、DTRT、Shiseido、Beiersdorf Ireland、CHANEL、Odyssey、Oriflame、Kao、Clarins、BABOR、Amway、LO…...

    2024/4/18 10:41:48
  7. 强化学习的基本求解方法(一)

    1. 简介 上一节主要介绍了强化学习的基本概念&#xff0c;主要是通过设定场景带入强化学习的策略、奖励、状态、价值进行介绍。有了基本的元素之后&#xff0c;就借助马尔可夫决策过程将强化学习的任务抽象出来&#xff0c;最后使用贝尔曼方程进行表述。本次内容主要是介绍强化…...

    2024/4/14 2:24:18
  8. Python文件路径相关操作

    路径 1.转义 windows路径使用的是\&#xff0c;linux路径使用的是/。 特别的&#xff0c;在windows系统中如果有这样的一个路径 D:\nxxx\txxx\x1&#xff0c;程序会报错。因为在路径中存在特殊符 \n&#xff08;换行符&#xff09;和\t&#xff08;制表符&#xff09;&#…...

    2024/4/19 15:28:31
  9. 强化学习的基本求解方法(二)

    1. 简介 时间差分法主要基于时间序列的差分数据进行学习&#xff0c;其分为固定策略和非固定策略两种。固定策略时间差分法以Sarsa算法为代表&#xff1b;非固定策略以Q-Learning算法为代表。 2. Sarsa算法 Sarsa(state-action-reward-state-action)算法的目的是估计动作值函…...

    2024/4/18 6:44:07
  10. 技巧:我们在编写测试时,应该注意什么

    背景 最近项目在测试阶段陆陆续续的测出了一些bug.这个情况刚出现的时候,让笔者很困惑——平时我们的每个feature代码都是跟随着大量看起来考虑很周全的case进入代码仓库的,然而事实还是打了我们的脸.故在本文,笔者将会从最近的所学所想来谈谈编写测试的时候我们应该注意什么. …...

    2024/5/6 22:58:58
  11. 中国无链自行车行业市场供需与战略研究报告

    【出版商】贝哲斯咨询 【免费目录下载】无链自行车属于自行车的结构改进&#xff0c;它结合了人体动力和电子动力。然而不像其它类似的机车&#xff0c;它真实地摆脱了链条的限制&#xff0c;将脚踩动力直接转换成为驱动车轮行进的电能。 无链自行车市场的企业竞争态势 该报告…...

    2024/4/14 2:24:23
  12. 中国橡木家具行业市场供需与战略研究报告

    【出版商】贝哲斯咨询 【免费目录下载】橡木家具是一种多用途的硬木&#xff0c;具有调色板&#xff0c;纹理和纹理&#xff0c;可以轻松地适应各种装饰美学&#xff0c;并且可以以多种不同的样式找到。这种家具是重质硬木&#xff0c;坚固耐用&#xff0c;具有美丽的纹理&…...

    2024/4/19 18:32:51
  13. 中国水溶性聚合物行业市场供需与战略研究报告

    【出版商】贝哲斯咨询 【免费目录下载】水溶性聚合物是一种强亲水性的高分子材料&#xff0c;能溶解或溶胀于水中形成水溶液或分散体系。 水溶性聚合物市场的企业竞争态势 该报告涉及的主要国际市场参与者有BASF、SNF、Ashland、Arkema、Kemira、KURARAY、DuPont、The Dow Ch…...

    2024/4/14 2:24:43
  14. tcp 图片+图片名传输通信

    ###服务器端server.py import socket import os import sys import structdef socket_service_image():try:s socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)# s.bind((127.0.0.1, 6666))s.bind((192.168.0.115,…...

    2024/5/6 18:49:47
  15. 全球及中国泡沫铜行业需求规模及发展趋势预测报告(新版)2022-2027

    全球及中国泡沫铜行业需求规模及发展趋势预测报告&#xff08;新版&#xff09;2022-2027 【报告编号】: BG416190 【出版时间】: 2022年1月 【出版机构】: 中智正业研究院 内容简介&#xff1a; 1 泡沫铜市场概述 1.1 泡沫铜行业概述及统计范围 1.2 按照不同产品类型&#x…...

    2024/4/14 2:25:04
  16. 浇水和水软管计时器行业调研报告 - 市场现状分析与发展前景预测

    出版商&#xff1a;贝哲斯咨询 获取报告样本&#xff1a; 企业竞争态势 该报告涉及的主要国际市场参与者有Orbit Irrigation Products、NORMA Group、Melnor、CLABER Spa (inter itali、Rain Bird Corporation、RAINROBOT、Gilmour、Toro、Hunter Industries、Nelson Irrigat…...

    2024/4/14 2:25:14
  17. 『迷你教程』 程序员入门NLP中文本的词嵌入

    文章目录什么是词嵌入&#xff1f;词嵌入算法如何使用词嵌入什么是词嵌入&#xff1f; 词嵌入是文本的学习表示&#xff0c;其中具有相同含义的单词具有相似的表示。 正是这种表示单词和文档的方法可能被认为是深度学习在具有挑战性的自然语言处理问题上的关键突破之一。 《N…...

    2024/4/14 2:25:29
  18. 中国玛瑙市场趋势报告、技术动态创新及市场预测

    出版商&#xff1a;贝哲斯咨询 获取报告样本&#xff1a; 企业竞争态势 该报告涉及的主要国际市场参与者有Yanghong Agate、HL Gemas、Xinchangbao Agate、Yangji Agate、Weicheng Agate、Shengli Agate、Miran Agate、Gemstone、Xinlitun Agate、Yasin And Sohil Agate、Tai…...

    2024/4/18 6:59:43
  19. Spring / Spring Boot 集成Quartz

    Spring / Spring Boot 集成QuartzSpring 集成Quartz添加依赖编写Job例子Spring Schema 配置方式Bean 方式配置Spring Boot 集成Quartz添加依赖配置编写例子使用数据库Spring 集成Quartz 添加依赖 在Spring 项目中添加依赖 <dependency><groupId>org.quartz-schedu…...

    2024/4/14 2:24:59
  20. Fritzing软件绘制Arduino面包板接线图传感器模块库文件073

    一、硬件材料 1*Arduino Nano开发板 1*声音传感器 1*常闭型震动传感器模块 1*12位WS2812圆环模块 二、硬件接线图...

    2024/4/20 6:39:50

最新文章

  1. 对于子数组问题的动态规划

    前言 先讲讲我对于这个问题的理解吧 当谈到解决子数组问题时&#xff0c;动态规划(DP)是一个强大的工具&#xff0c;它在处理各种算法挑战时发挥着重要作用。动态规划是一种思想&#xff0c;它通过将问题分解成更小的子问题并以一种递归的方式解决它们&#xff0c;然后利用这些…...

    2024/5/6 23:37:03
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. [Spring Cloud] gateway全局异常捕捉统一返回值

    文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…...

    2024/5/3 22:05:18
  4. 最新在线工具箱网站系统源码

    内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API&#xff0c;同时还自带免费API接口&#xff0c; 是一个多功能性工具程序&#xff0c;支持后台管理、上…...

    2024/5/3 2:32:18
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57