当前位置: 首页 > news >正文

在windows的ubuntu LTS中安装及使用EZ-InSAR进行InSAR数据处理

EZ-InSAR(曾被称为MIESAR,即Matlab界面用于易于使用的合成孔径雷达干涉测量)是一个用MATLAB编写的工具箱,用于通过易于使用的图形用户界面(GUI)进行干涉合成孔径雷达(InSAR)数据处理,利用开源软件包(ISCE+StaMPS/MintPy)进行处理。该工具箱现在可以使用ISCE生成SAR干涉图,并使用StaMPS或MintPy进行Persistent Scatters (PS) 或 Small-Baselines (SBAS) 方法的位移时间序列分析,安装过程如下。

1、安装ubuntu LTS

在这里插入图片描述
2、安装ubuntu远程桌面

sudo apt-get install xserver-xorg-core
sudo apt-get -y install xserver-xorg-input-all

重启桌面,每次第一次使用时都需要启动下

sudo  /etc/init.d/xrdp  restart

启动成功后会出现在这里插入图片描述
使用windows远程桌面进行链接
在这里插入图片描述
输入ubuntu的账号和密码
在这里插入图片描述
进入后如图
在这里插入图片描述
3、安装python环境,建议安装mamba,这里介绍下其与conda环境的区别。

conda与mamba的区别
Mamba底层依赖于conda,conda是单线程,Mamba做了优化可多线程下载,Mamba兼容conda的命令。
使用​​多线程下载​​repository data和packages; Mamba使用​​libsolv加速解决依赖关系​​
Mamba的核心部分是通过C++实现,以获得最大执行效率;
最重要的是​​Mamba可与conda完美兼容​​ (将conda执行命令中的conda换做mamba即可)。

安装代码

curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
bash Mambaforge-Linux-x86_64.sh 
sudo apt install gcc g++ gawk tcsh build-essential make git
pip install wget gitpython tree mamba

创建python环境

sudo apt install python3.8-venv
python -m venv InSARenv
source InSARenv/bin/activate

4、ubuntu中安装matlab
安装参考链接:https://zhuanlan.zhihu.com/p/572662952
安装后需要用到下面的工具箱,确保都安装好,用ver检查

Curve Fitting Toolbox
Financial Toolbox
Image Processing Toolbox
Mapping Toolbox
Optimization Toolbox
Parallel Computing Toolbox
Signal Processing Toolbox
Statistics and Machine Learning Toolbox

5、安装InSAR处理所需环境

创建安装路径及下载安装包

# A. Define the path where you want the packages to be installed (Default:Your HOME path-"$HOME") EZINSAR_HOME="$HOME"           		  #Set the install path tools_insar=$EZINSAR_HOME/tools_insar
tool_DIR=$tools_insar/proc_insar
sudo mkdir -p $tool_DIR# B. Download the source code (EZ-InSAR, ISCE, MintPy, StaMPS, TRAIN)
## Download EZ-InSAR source file, and put the unzipped EZ-InSAR into the "EZINSAR" directory in $tool_insar.sudo git clone https://github.com/alexisInSAR/EZ-InSAR.git $tools_insar/EZ-InSAR
sudo mv $tools_insar/EZ-InSAR $tools_insar/EZINSAR## Download the InSAR processor codes 
sudo git clone https://github.com/isce-framework/isce2.git $tool_DIR/isce2  
sudo git clone https://github.com/insarlab/MintPy.git      $tool_DIR/MintPy 
sudo git clone https://github.com/insarwxw/StaMPS.git      $tool_DIR/StaMPS
sudo git clone https://github.com/dbekaert/TRAIN.git       $tool_DIR/StaMPS/TRAIN# C. Edit the configuration file
## 1) - Copy the configure template file "config_InSARenv.template" from the "EZINSAR/EZINSAR_BIN/docs/" directory into "$tools_insar";  
##    - Check and replace the PATH variable "$EZINSAR_HOME" in "config_InSARenv.rc" (Line #3). 
##    - Check and replace the Path varialbe $APS_toolbox in TRAIN 
##    - The other variables do not need to be modified if you strictly follow this install instruciton.sudo cp $tools_insar/EZINSAR/EZINSAR_BIN/docs/config_InSARenv.template $tools_insar/config_InSARenv.rcsudo sed -i "/EZINSAR_HOME=/c\EZINSAR_HOME=$EZINSAR_HOME"  $tools_insar/config_InSARenv.rc
sudo sed -i "/APS_toolbox=/c\APS_toolbox=$tool_DIR/StaMPS/TRAIN" $tool_DIR/StaMPS/TRAIN/APS_CONFIG.sh## 2) Add the following lines in your "$HOME/.bashrc" file. 
##    Note you have to change the variable "$EZINSAR_HOME" if it is installed in a differnt PATH (e.g., /usr/local). # EZ-InSAR & InSARenv
EZINSAR_HOME="$HOME"           		 
export tools_insar="$EZINSAR_HOME/tools_insar"
alias load_insar='conda activate InSARenv; source $tools_insar/config_InSARenv.rc'# **IMPORTANT**: Run `load_insar` in the terminal to load the "InSARenv" environmental and PATH variables before running EZ-InSAR each time.

5、安装ISCE2

ISCE(InSAR Scientific Computing Environment)是一个用于地球表面形变监测和地震研究的开源软件工具包。它主要用于分析合成孔径雷达干涉测量(InSAR)数据,这些数据可以通过卫星或飞机获取,用于监测地表的微小变形,如地壳运动、火山活动、地震后的变形等。

ISCE提供了一系列用于处理InSAR数据的工具和库,以及用于数据预处理、核心干涉计算、变形建模和可视化的功能。这使得地球科学家和地球监测研究人员能够更好地理解地表的形变过程,从而更好地理解地质和地球物理现象。

ISCE是一个由NASA Jet Propulsion Laboratory(JPL)开发和维护的开源项目,它在地球科学领域广泛使用,并且在处理合成孔径雷达数据时具有很高的灵活性和可扩展性。这个工具包通常用于研究地壳变形、冰川变化、火山活动等领域的研究。这里安装较费时间。

mamba install -c conda-forge isce2

6、安装MintPy
MintPy(Miami INsar Time-series software in PYthon)是一个用于合成孔径雷达干涉测量(InSAR)数据处理和分析的开源软件工具包。它是由佛罗里达大学(University of Florida)的研究人员开发的,旨在帮助科学家和工程师处理和分析InSAR数据,以了解地表的形变情况。

MintPy提供了一系列功能,包括数据预处理、干涉计算、时序分析、形变建模和可视化工具。用户可以使用MintPy来处理卫星或飞机获取的雷达干涉数据,以监测地壳运动、地震、火山活动、地下水抽取等引起的地表形变。该工具包具有用户友好的界面,并且支持多种不同的InSAR数据格式。

MintPy是一个强大且灵活的工具,适用于各种地球科学研究领域,包括地质学、地球物理学、环境科学等。它可以帮助研究人员从InSAR数据中提取有关地表变化的重要信息,并用于了解地球上不同地区的地形演化和变化趋势。此外,MintPy是一个开源项目,因此用户可以自由访问和定制其代码以满足特定需求。

# Install the mintpy requirements first and then the source code.
# 
cd $tool_DIR
mamba install -c conda-forge --file ./MintPy/requirements.txt#Close and restart the shell for changes to take effect
python -m pip install -e ./MintPy

7、安装StaMPS
StaMPS(Stanford Method for Persistent Scatterers)是一种用于分析合成孔径雷达干涉测量(InSAR)数据的计算方法和工具包。它是由斯坦福大学的研究人员开发的,用于提取并分析具有较高干涉稳定性的地表散斑(Persistent Scatterers),这些散斑通常是建筑物、桥梁、电线塔等地表特征。

StaMPS的主要目标是识别和监测这些Persistent Scatterers的变化,从而了解地表的形变情况。StaMPS通过多次采集卫星雷达数据,识别在不同时期观测中散斑位置的相对稳定性,以便精确测量地表的形变、沉降或抬升。这对于地质研究、地震监测、城市规划和环境监测等应用非常有用。

StaMPS工具包包括一系列用于数据处理、干涉计算、变形建模和可视化的工具和算法。它通常用于处理高分辨率的卫星雷达数据,如TerraSAR-X、COSMO-SkyMed和Sentinel-1等。StaMPS已经在地球科学研究领域得到广泛应用,特别是在地壳运动、地震监测、城市沉降等领域,为科学家提供了有关地表变化的重要信息。

需要注意的是,StaMPS是一个相对复杂的工具,需要一定的专业知识来正确使用和解释结果。因此,它通常由地球科学领域的专家和研究人员使用。

### check which version of gcc
gcc -v  
#$ gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --config gcc
sudo update-alternatives --config g++ 
# A. Compile the files in the "src" directory in StaMPScd $tool_DIR/StaMPS/src
sudo make
sudo make install# B. Install "snaphu" & "triangle"  
# After the installation, run `which snaphu` && `which triangle` in the terminal to check their paths. 
# If the echo paths are not "/usr/bin", then modify the varialbes "SNAPHU_BIN" and "TRIANGLE_BIN" in the "config_InSARenv.rc" to the correct values.sudo apt install snaphu 
sudo apt install triangle-bin

8、安装EZ-InSAR

EZ-InSAR最大程度地减少了用户下载、参数化和处理SAR数据的工作,因此使那些对InSAR不太熟悉但仍然可以自行生成和分析地表位移的人能够轻松使用。EZ-InSAR还是大西洋地质灾害风险管理平台(AGEO)项目的一项贡献,该项目通过欧洲区域发展基金(European Regional Development Fund)资助,旨在帮助管理大西洋地区的地质风险。

这个工具箱的主要优点在于它的用户友好性,它使不熟悉InSAR技术的用户能够利用开源工具进行地表形变分析。它的目标是让更多的人能够使用InSAR技术,以更好地了解地表的变化和可能的地质风险。

mamba install fiona geopandas rasterio
cd $tool_DIR
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo unzip awscliv2.zip
sudo ./aws/install

在安装文件夹下的EZINSAR_BIN中修改文档pathinformation.txt中内容,将account-name、password改为ASF网站的账号和密码,下载Sentinel-1 数据用。

ASFID 	account-name
ASFPWD  password 

9、测试安装成功否
刷新安装环境,加载环境

source $HOME/.bashrc
load_insar  # warm up conda environment
echo $PATH
echo $TOOL_DIR $DATA_DIR $WEATHER_DIR

测试ISCE-2

topsApp.py -h

如下则安装成功
在这里插入图片描述

测试MintPy

smallbaselineApp.py -h

如下则安装成功
在这里插入图片描述
测试PySolid

solid_earth_tides.py -h

如下则安装成功
在这里插入图片描述

测试PyAPS

tropo_pyaps3.py -h

如下则安装成功
在这里插入图片描述
测试StaMPS

mt_prep_isce

如下则安装成功
在这里插入图片描述
10、启动EZ-InSAR
进入远程桌面,在命令窗口中输入:

load_insar

加载运行环境,再输入

matlab

启动matlab环境

如下:
在这里插入图片描述

11、使用EZ-InSAR
在matlab中输入EZ_InSAR,启动软件
在这里插入图片描述
在2中选择运行文件夹,点击后进入处理界面
在这里插入图片描述
具体使用参考手册:
https://github.com/alexisInSAR/EZ-InSAR/blob/Version_2_0_3_Beta/EZINSAR_BIN/docs/EZ_InSAR_manual_v2_0_3_beta.pdf

12、ubuntu环境迁移
由于默认ubuntu安装在c盘,会导致c盘存储不足的情况,因此建议迁移

  • 准备工作
    打开CMD,输入wsl -l -v查看wsl虚拟机的名称与状态。
    了解到本机的WSL全称为Ubuntu-22.04,以下的操作都将围绕这个来进行。
    输入 wsl --shutdown 使其停止运行,再次使用wsl -l -v确保其处于stopped状态。
  • 导出/恢复备份
    在D盘创建一个目录用来存放新的WSL,比如我创建了一个 D:\Ubuntu_WSL 。
    导出它的备份(比如命名为Ubuntu.tar)

wsl --export Ubuntu-22.04 D:\Ubuntu_WSL\Ubuntu.tar

确定在此目录下可以看见备份Ubuntu.tar文件之后,注销原有的wsl

wsl --unregister Ubuntu-22.04

将备份文件恢复到D:\Ubuntu_WSL中去

wsl --import Ubuntu-22.04 D:\Ubuntu_WSL D:\Ubuntu_WSL\Ubuntu.tar

这时候启动WSL,发现好像已经恢复正常了,但是用户变成了root,之前使用过的文件也看不见了。

  • 恢复默认用户
    在CMD中,输入 Linux发行版名称 config --default-user 原本用户名

Ubuntu2204 config --default-user cham

请注意,这里的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu2204。

相关文章:

在windows的ubuntu LTS中安装及使用EZ-InSAR进行InSAR数据处理

EZ-InSAR(曾被称为MIESAR,即Matlab界面用于易于使用的合成孔径雷达干涉测量)是一个用MATLAB编写的工具箱,用于通过易于使用的图形用户界面(GUI)进行干涉合成孔径雷达(InSAR)数据处理…...

腾讯mini项目-【指标监控服务重构】2023-08-25

今日已办 traefik proxy jaeger Prometheus prometheus | Prometheus 配置完依然无法实现 web-url的前缀访问【待解决】 Set span storage type : elasticsearch services:elasticsearch:image: elasticsearch:7.17.12container_name: elasticsearchnetworks:- backend # …...

数据挖掘(1)概述

一、数据仓库和数据挖掘概述 1.1 数据仓库的产生 数据仓库与数据挖掘: 数据仓库和联机分析处理技术(存储)。数据挖掘:在大量的数据中心挖掘感兴趣的知识、规则、规律、模式、约束(分析)。数据仓库用于决策分析: 数据仓库:是在数…...

YApi Pro

1.介绍 说明:YApi Pro 是一款高效、易用、功能强大的 API 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。它可以帮助开发者轻松创建、发布、维护 API,同时为用户提供了优秀的交互体验,开发人员可以更加高效地完…...

AUTOSAR RTE介绍(更新版230925)

RTE是什么 AUTOSAR RTE(Run Time Environment)实现了AUTOSAR系统中的虚拟功能总线(VFB),提供了SWC(Software Component)之间的访问接口和SWC对于BSW资源的访问接口。RTE为SWC中的Runnable提供与其他SWC或者BSW模块通信的接口,RTE将Runnable映射到OS Task中,并且管理Runna…...

深度学习笔记_1、定义神经网络

1、使用了PyTorch的nn.Module类来定义神经网络模型;使用nn.Linear来创建全连接层。(CPU) import torch.nn as nn import torch.nn.functional as F from torchsummary import summary# 定义神经网络模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()…...

【Java 进阶篇】MySQL 事务详解

在数据库管理中,事务是一组SQL语句的执行单元,它们被视为一个整体。事务的主要目标是保持数据库的一致性和完整性,即要么所有SQL语句都成功执行,要么所有SQL语句都不执行。在MySQL中,事务起到了非常重要的作用&#xf…...

Spring修炼之旅(3)自动装配与注解开发

一、自动装配说明 1.1概述 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean。 1.2装配机制 Spring中bean有三种装配机制,分别是: 在xml中显式配置; 在java中显式配置; 隐式…...

嵌入式Linux应用开发-基础知识-第十六章GPIO和Pinctrl子系统的使用

嵌入式Linux应用开发-基础知识-第十六章GPIO和Pinctrl子系统的使用 第十六章 GPIO 和 Pinctrl 子系统的使用16.1 Pinctrl 子系统重要概念16.1.1 引入16.1.2 重要概念16.1.3 示例16.1.4 代码中怎么引用pinctrl 16.2 GPIO子系统重要概念16.2.1 引入16.2.2 在设备树中指定引脚16.2…...

Ubuntu系统下使用apt-get安装Mysql8

记录一下在Ubuntu20.04 64位系统下面使用apt-get方式安装mysql8关系型数据库 Centos下使用yum安装Mysql8(Mysql5.7)以及常见的配置和使用 首先肯定是检查下当前Ubuntu系统是否已经安装过mysql数据库 一般拿到新的云服务器是没有安装的 rootmyw:~# whe…...

jenkins联动显示或隐藏参数

1. 添加组件 Active Choices Plug-in 如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可 Active Choices Active Choices | Jenkins plugin 2. 效果如下: sharding为空时&#xf…...

Error: Activity class {xxx.java} does not exist

git切换到不同的branch之后,报下面的错误: Error: Activity class {xxx.java} does not exist 解决方案: 首先clean 然后会删除build目录 然后点击:Invalidate Caches Android Studio重启,然后重新build即可。...

保护模式阶段测试-模拟3环0环调用

保护模式阶段测试-模拟3环0环调用 最近又复习了一下保护模式相关的内容,然后打算搞个能够把段页的大部分知识能够串联起来的测试代码 最终想到的一个项目如下: 三环部分: 0.编写一个函数读取高2g的地址内容 1.通过设备通信到0环告诉0环我新…...

Dart笔记:stream_channel 包用法

标题1 标题2 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/133426961 【介绍】stream_channel是一个用…...

Java进阶必会JVM-深入浅出Java虚拟机

系列文章目录 送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 文章目录 系列文章目录前言一、推荐书籍二…...

1200*B. Sorted Adjacent Differences(构造)

Problem - 1339B - Codeforces 解析: 题目要求每相邻两个值差的绝对值相等或递增。 先排序,可以想到我们先取两侧的数肯定相距最远,然后靠中心每次取两个数,这样符合题目要求。 直接遍历,先取的是答案靠后的数据&…...

恼人的TCP套接字部分发送成功场景

源起 以前就知道套接字有可能出现部分发送成功的可能,直到近段时间一个典型的使用场景触发了明确的此问题,才予以重视,比较深入地考虑解决这个问题的方案! 分析 因为TCP的流式特征,如果出现部分发送成功&#xff0c…...

ROS2 中的轻量级、自动化、受控回放

一、说明 这篇文章描述了一种在 ROS2 中实现受控重播器的轻量级方法。用以测试中将现象重新播放一遍,以实现调参或故障定位的目的。所有源代码都可以在这里找到。该帖子也可在此处获得。 二、问题:不同步重播 任何曾经认真开发过 ROS2 的人都会知道这个问…...

Egg使用jwt拦截jtoken验证

安装 npm install egg-jwt注册插件 在config文件夹子下 plugin,js下 use strict;module.exports {//mysqlmysql: {enable: true,package: egg-mysql},//jwtjwt: {enable: true,package: egg-jwt} };使用中间件 在app文件下创建 middleware 文件夹 在middleware 文件下创建…...

装饰器模式详解和实现(设计模式 二)

装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地将对象添加到现有对象中,以提供额外的功能,同时又不影响其他对象。 实现示例 1.定义一个接口或抽象类,表示被装饰对象的公共接口 //抽…...

面试问到MySQL模块划分与架构体系怎么办

面试问到Mysql模块划分与架构体系怎么办 文章目录 1. 应用层连接管理器(Connection Manager)安全性和权限模块(Security and Privilege Module) 2. MySQL服务器层2.1. 服务支持和工具集2.2. SQL Interface2.3. 解析器举个解析器 …...

并查集及其优化

1.并查集 #define SIZE 100 int UFSets[SIZE];void Initial(int S[]) {for (int i 0; i < SIZE; i)S[i]-1; }int Find(int S[], int x) {//查while(S[x] > 0)x S[x];return x; }void Union(int S[], int Root1, int Root2) {//并if(Root1 Root2)return;S[Root2] Roo…...

LeetCode 周赛上分之旅 #48 一道简单的树上动态规划问题

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…...

mysql报错:Column Count Doesn‘t Match Value Count at Row 1

mysql中执行insert、update、delete报错&#xff1a;Column Count Doesnt Match Value Count at Row 1 的解决方案 通常情况&#xff1a;字段不匹配 如&#xff1a;student有id, name, age字段 -- 错误写法 INSERT INTO student VALUES(5,horse)-- 正确写法 INSERT INTO stu…...

安卓 kuaishou 设备did和egid 学习分析

did和egid注册 接口 https://gdfp.ksapisrv.com/rest/infra/gdfp/report/kuaishou/android did 是本地生成的16进制 或者 获取的 android_id public static final Random f16237a new Random(System.currentTimeMillis()); public static long m19668a() { return f1623…...

基于Vue+ELement实现增删改查案例与表单验证(附源码)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《ELement》。&#x1f3af;&#x1f3af; &#x1…...

webpack:使用externals配置来排除打包后的某个依赖插件IgnorePlugin的使用

背景 假设&#xff0c;我们写了一个库并使用 webpack 打包输出 bundle&#xff0c;但是这个库依赖一个第三方包&#xff0c;比如依赖 lodash&#xff0c;这时候我们不想把这个库打包进 bundle 里因为体积会变大&#xff0c;而且我们的主项目里已经安装了这个 lodash&#xff0…...

2023年中国工业脱水机行业供需分析:随着自动化和智能化技术的快速发展,销量同比增长4.9%[图]

工业脱水机行业是指专门从湿润的固体物料中去除水分的设备制造和相关服务。它广泛应用于食品加工、化工、制药、纺织、环保等行业&#xff0c;用于去除物料中的水分&#xff0c;提高产品质量和降低能耗。 工业脱水机行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研…...

[论文笔记]MacBERT

引言 今天带来MacBERT的阅读笔记。论文题目是 重新审视中文自然语言处理的预训练模型。 本篇主要是探讨中文预训练语言模型在非英文语言中的有效性,然后提出了一种简单而有效的模型,称为MacBERT,它在多个方面改进了RoBERTa,特别是采用纠错型掩码语言模型(MLM as correcti…...

AI发展目前最大挑战是什么?

影响AI成本的因素包括多个方面&#xff1a; 首先&#xff0c;AI技术的复杂性是其成本高昂的一个重要原因。AI技术需要进行大量数据处理、模型训练和优化&#xff0c;这需要耗费大量的计算资源和时间。同时&#xff0c;AI技术需要高水平的专业人才进行设计、开发和维护&#xf…...

网络营销是什么网络/seo模板建站

成本估算包括对完成项目工作可能需要的成本、应对已识别风险的应急储备&#xff0c;以及应对计划外工作的管理储备的量化估算。成本估算可以是汇总的或详细分列的。成本估算应覆盖项目所使用的全部资源&#xff0c;包括&#xff08;但不限于&#xff09;直接人工、材料、设备、…...

北京app开发公司官网/厦门seo推广

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid3351 解题报告&#xff1a;输入一个只有{跟}的字符串&#xff0c;有两种操作&#xff0c;一种是把{变成}&#xff0c;另一种是}变成{&#xff0c;问你要把这个字符串的括号变成合法的最少需要多少次操作。 在刷…...

wordpress文章发布保存都不行/建站网站

三大内容&#xff1a; Java并发编程Java高并发编程高并发系统设计 Java并发编程 1. 概览 2. 进程与线程 3. Java 线程 4. 共享模型之管程 5. 共享模型之内存 6. 共享模型之无锁 7. 共享模型之不可变 8. 共享模型之工具 并发编程—模式篇&#xff1a; 并发编程—应用篇&#…...

建设银行网站会员注销/自媒体培训学校

2007年9月1日 来到了上海&#xff0c;开始了博客园新的发展征途&#xff01; 在这一年快乐的征途中&#xff0c;有太多收获&#xff0c;而有一个收获让其他收获黯然失色。 从一个人到一个团队&#xff0c;这一年征途最激动人心的收获&#xff01; 转载于:https://www.cnblogs.c…...

网站后台修改不了/网站分为哪几种类型

作者&#xff1a;ShownSun 公众号&#xff1a;时沿科技 文章目录驱动程序动态加载与测试文件编译准备驱动程序测试程序动态加载过程驱动程序动态加载与测试 文件编译准备 说明&#xff1a;文中涉及到的目录应改为自己电脑的目录&#xff1b; 需要编译的文件分为两个部分&…...

邢台做网站推广/接推广一般多少钱

----------------------[感谢小昭提供的图片]1.缓存穿透定义&#xff1a;请求查询数据库中压根就不存在的数据&#xff0c;每次请求直接打在DB上&#xff0c;这种查询查询不存在数据的现象称为缓存穿透穿透带来的问题&#xff1a;请求过多全部都打在DB上&#xff0c;请求会在DB…...