机器学习二维系统相变

本文基于凝聚态物理中Ising模型的相变理论,利用机器学习技术(如卷积网络)对其相变进行分类。通过蒙特卡洛模拟生成数据集,区分有序(有磁性,序参量非零)与无序(无磁性,序参量为零)状态,完成数据集处理、模型组网、训练及验证,实现对Ising模型相变的有效区分。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

机器学习二维系统相变 - 创想鸟

机器学习二维系统相变 - 创想鸟        

Abstract

凝聚态物理是研究诸如电子、原子核、原子、磁偶极子、量子比特等组成的复杂系统。其复杂性体现在随粒子数指数增长的相空间,让人想到了机器学习中的纬度诅咒。尽管存在这样的诅咒,机器学习依然可以在数据集上体现出很好的分类、回归性质。这里,我们用现代的机器学习技术(全链接、卷积网络),用以分类众多不同的哈密顿体系相与相变。通过调用库,神经网络可以训练用于区分序参量。

这是2017年Nature phsics上的一篇文献,其证明了机器学习方法可以在凝聚态物理中处理相变问题。区别于高能物理,凝聚态物理是研究多体系统的物理,也是公认研究人数最多,范围最广的物理分支。相变理论又因其存在临界现象,又是凝聚态物理中最有趣的一个分支。二阶朗道相变理论给出了自发对称性,让人感到物理美的地方。文献里主要是在研究二维铁磁系统,也就是Ising model。对Ising model做了二分类,分为有磁性和无磁性。方法简单暴力,而且精度很高。文献里的模型,没啥特殊的物理意义(复现最大的意义就是让我复习一下统计物理+paddle……)。接下来介绍一些Ising model的基本理论,随后对其进行分类。(项目中不给出任何公式,大家是非科班生,不必执迷于物理意义的部分。这里仅仅给出定性的描述。要给出一个很好的物理图像,需要掌握很多么门物理专业的课程。作者自己都不敢说自己这些基础的物理图像做得多好。)

一 相变理论

系综理论Ising Model蒙特卡洛模拟

系综理论

由概率理论为基础的统计力学,完全不同于经典力学方法。这种引入统计手段为描述力学性质的方法,为20世纪初量子力学的诞生埋下伏笔。正是这样的背景,统计力学和经典理论、量子理论不同,却又相同,量子物理结合电动力学发展出的量子电动力学,非常好得描述了单粒子系统的性质。量子物理结合统计力学,也就是我们的凝聚态物理。分析力学中大家寻找哈密顿量,又或者是构造拉格朗日函数,就得到了系统含时演化的所有信息。量子力学中大家解薛定谔方程,也是为了找到一个波函数,用于完全描述系统。统计物理里也一样,这次我们寻找的函数叫做配分函数。配分函数代表了每一个state在整个phase space里出现的概率。

举个栗子:抛硬币

一个硬币

0000000000000000000000000000000000000000000000000000000000000(手动分割线)

机器学习二维系统相变 - 创想鸟        

0000000000000000000000000000000000000000000000000000000000000(手动分割线)

假如你手里有一个硬币,显而易见,其state有俩种:正面朝上和反面向下。那么你咋能知道每一个state出现的概率呢?其一种思路是拿着这个硬币一直抛,最终得到俩个state出现的频率,最终趋于概率(大数定律)。还有一种思路,拿一箱子硬币,然后晃箱子。开箱后开始计数,一次性得到概率。我们假设俩种方法得到的结果一致,也就是含时平均等于系综平均,又称为各态遍历假说。这是统计理论的支柱,靠着这一条基本假设,解决了多粒子系统力学耦合无法描述的问题。

我们就假设,手上有一百个这样相同边界条件的系统。那么其中某一个特定state出现了几次,就是这个state在space里的概率密度。上文的硬币,明显就是1/2。

Ising Model

Ising Model是最简单又好用的统计模型。其存在量子物理中的自旋,可又是建立在经典系统理论上。那ta到底讲了个啥?来做一个小实验。拿起一个磁铁,然后用打火机烧一烧。随后发现,磁铁的磁性竟然消失了!!?这其中到底发生了什么??

我们的Ising model正是在说这样的事情。我们说有磁性的磁铁,变成了没有磁性的废铁,这一过程发生了相变。引入物理量,磁化强度作为序参量,描述这一现象。当温度低于临界值,磁化强度不为0,当高于某一温度,磁化强度恒为0。我们称这一过程,发生了相变。Ising Model,把所有原子视为固定的。(固体活动范围小,忽略)。那么电子也是固定的。但是电子存在自旋,每一个电子都贡献一个磁场强度,最后就是一个大磁铁了。

机器学习二维系统相变 - 创想鸟        

这是数据集中的一张有序的图片。

机器学习二维系统相变 - 创想鸟        

这是无序的图片

黑色代表自旋向上,白色代表自旋向下,每一个像素点代表一个电子。 有序(序参量不为0)、无序给人的映像很直观,就是字面意思。有序代表秩序,无序则代表混沌。无序情况下熵值高,不确定性大。有序表现为聚集,自旋向下的聚成一块,自旋向上的聚为一块。对于论文复现,我们知道到这就够了。下面贴上Ising Model的蒙特卡洛模拟代码,用以生成这样的图片。值得一提的是,我们假设2.269度为相变临界点。高于2.269则无序(顺磁),低于则有序(铁磁)。

交代清楚任务,我们便要开始进行机器学习。首先的任务是进行蒙特卡洛仿真,模拟二维Ising model。运行这一段代码生成数据集,但时间过长,至少需要一个星期才能跑完。我把自己运行好的数据集上传到了data里,想要自己生成数据集的可以运行代码观察一下热容在临界点附近的突变。时间来不及可以直接略过。

#这一段代码是从网上直接copy的,原网址:https://rajeshrinet.github.io/blog/2014/ising-model/from __future__ import divisionimport numpy as npfrom numpy.random import randimport matplotlib.pyplot as plt#----------------------------------------------------------------------def initialstate(N):       ''' generates a random spin configuration for initial condition'''    state = 2*np.random.randint(2, size=(N,N))-1    return statedef mcmove(config, beta):    '''Monte Carlo move using Metropolis algorithm '''    for i in range(N):        for j in range(N):                a = np.random.randint(0, N)                b = np.random.randint(0, N)                s =  config[a, b]                nb = config[(a+1)%N,b] + config[a,(b+1)%N] + config[(a-1)%N,b] + config[a,(b-1)%N]                cost = 2*s*nb                if cost < 0:                    s *= -1                elif rand() 1.2) & (T<3.8)];   #筛选出在温度范围内的温度点nt = np.size(T)             #计算出剩余温度点数量Energy       = np.zeros(nt);   Magnetization  = np.zeros(nt)SpecificHeat = np.zeros(nt);   Susceptibility = np.zeros(nt)#用以统计能量、磁化强度、相变潜热、磁化率四个物理量#---------------------------------------------------------------------for m in range(len(T)):    E1 = M1 = E2 = M2 = 0    config = initialstate(N)    iT=1.0/T[m]; iT2=iT*iT;        for i in range(eqSteps):         # equilibrate        mcmove(config, iT)           # Monte Carlo moves        #从非平衡态过度到平衡态    for i in range(mcSteps):        mcmove(config, iT)                           Ene = calcEnergy(config)     # calculate the energy        Mag = calcMag(config)        # calculate the magnetisation        E1 = E1 + Ene        M1 = M1 + Mag        M2 = M2 + Mag*Mag         E2 = E2 + Ene*Ene        Energy[m]         = n1*E1        Magnetization[m]  = n1*M1        SpecificHeat[m]   = (n1*E2 - n2*E1*E1)*iT2        Susceptibility[m] = (n1*M2 - n2*M1*M1)*iT#计算四张图f = plt.figure(figsize=(18, 10)); # plot the calculated values    sp =  f.add_subplot(2, 2, 1 );plt.plot(T, Energy, 'o', color="#A60628");plt.xlabel("Temperature (T)", fontsize=20);plt.ylabel("Energy ", fontsize=20);sp =  f.add_subplot(2, 2, 2 );plt.plot(T, abs(Magnetization), 'o', color="#348ABD");plt.xlabel("Temperature (T)", fontsize=20);plt.ylabel("Magnetization ", fontsize=20);sp =  f.add_subplot(2, 2, 3 );plt.plot(T, SpecificHeat, 'o', color="#A60628");plt.xlabel("Temperature (T)", fontsize=20);plt.ylabel("Specific Heat ", fontsize=20);sp =  f.add_subplot(2, 2, 4 );plt.plot(T, Susceptibility, 'o', color="#348ABD");plt.xlabel("Temperature (T)", fontsize=20);plt.ylabel("Susceptibility", fontsize=20);

   

二 模型实现

数据集处理模型组网模型训练模型验证

1.数据集处理

从非平衡态过度到平衡态需要走很多蒙特卡罗步,耗时极长。为了方便大家复现,我把自己生成的数据也打包上传到了项目里。

In [1]

!unzip /home/aistudio/data/data110989/dataset.zip -d /home/aistudio/work/data

   In [2]

import osimport numpy as npfrom PIL import Imageimport matplotlib.pyplot as pltimport paddle# 生成图像列表################################################################拿出来保存数据的路径data_path = '/home/aistudio/work/data'character_folders = os.listdir(data_path)###############################################################################################################################当已经存在图像列表时,把图像列表删掉,以便于重新写一个列表。if(os.path.exists('./train_data.txt')):    os.remove('./train_data.txt')if(os.path.exists('./test_data.txt')):    os.remove('./test_data.txt')###############################################################################################################################character_folders是列表,是data_pathfor character_folder in character_folders:    with open('./train_data.txt', 'a') as f_train:        with open('./test_data.txt', 'a') as f_test:            if character_folder == '.DS_Store':                continue     #continue 跳出本次循环            character_imgs = os.listdir(os.path.join(data_path,character_folder))            count = 0             for img in character_imgs:                if img == '.DS_Store':                    continue                if count%10 == 0:                    f_test.write(os.path.join(data_path,character_folder,img) + 't' + character_folder + 'n')                else:                    f_train.write(os.path.join(data_path,character_folder,img) + 't' + character_folder + 'n')                count +=1print('列表已生成')###############################################################

   In [3]

 with open('train_data.txt',"r") as f:            path_sample=f.readline()         #拿出来train_data里保存的第一个路径。            sample=path_sample.split("t")   #t是空格,这里的文本默认有一个空格 以区分路径与标签             label=sample[1]              sample=sample[0]                 #刚才取出来的列表,第一个元素是路径。(python是从0开始)第二个是标签。我们拿前一个            img=Image.open(sample)            plt.imshow(img)            img=np.array(img)            print(img)            plt.show()            print(label)                     #打印标签

   In [4]

import numpy as npfrom paddle.io import Datasetclass MyDataset(Dataset):    """    数据集类的定义    """    def __init__(self, mode='train_data',transform=None):        """        初始化函数        """        super(MyDataset,self).__init__()        self.data = []        self.transform=transform        with open(f'{mode}.txt') as f:            for line in f.readlines():                info = line.strip().split('t')     #t指缩进   strip是去掉字符串前后的一些特殊符号                if len(info) > 0:                    self.data.append([info[0].strip(), info[1].strip()])                           def __getitem__(self, index):        """        根据索引获取单个样本        """        image_file, label = self.data[index]        img = Image.open(image_file)          img = np.array(img)                                  if self.transform is not None:               img=self.transform(img)        if label=="有序":            label=1        else:            label=0                return img, label    def __len__(self):        """        获取样本总数        """        return len(self.data)

   In [6]

import paddle.nn.functional as Ffrom paddle.vision.transforms import Compose, Resize, ToTensor, Normalize #compose的功能是,把要做的预处理以列表组合起来。#这里用了图像归一化处理和调整图像大小,还可以调用其他的。transform = Compose([ToTensor("CHW")]) #CHW可以理解为BGR格式。           #ToTensor是将输入的numpy数据转为paddle的数据类型,暂时可以不管这个。

   In [7]

train_dataset = MyDataset(mode='train_data',transform=transform)test_dataset = MyDataset(mode='test_data',transform=transform)

   

2.模型组网

In [8]

class MyModel(paddle.nn.Layer):    def __init__(self):        super(MyModel, self).__init__()        #(1)加一个卷积层。四个参数分别是(输入图像通道,卷积后输出图像通道数,卷积核大小,卷积步长)        #一个filter经过一次抓取,生成一个feature map.不同的filter抓取不同特征。这里有2个filter        #输出的尺寸:输入数据的大小-卷积核大小+2×边界填充0的数量)/移动步长+1        #[(256-5+2*0)/1]+1=252                 self.conv1 = paddle.nn.Conv2D(in_channels=1,                                         out_channels=6,                                      kernel_size=5,                                      stride=1)        #(2)加一个池化层。         #输出的尺寸:(输入数据的大小-过滤器大小)/移动步长+1        #[(252-4)/2]+1=125        self.pool1 = paddle.nn.MaxPool2D(kernel_size=4,                                         stride=2)        #(3)        #这一层的功能是把张量拉平成一维向量。输入是多少,输出就是多少,改变的仅仅是形状。        self.flatten=paddle.nn.Flatten(start_axis=1,stop_axis=-1)        #(4)加一个线性层。        #线性层的输入是6*125*125  6是因为我们的conv1有6个out_channels         self.fc1=paddle.nn.Linear(6*125*125,100)        #再叠一个relu        self.relu1=paddle.nn.ReLU()        self.fc2=paddle.nn.Linear(100,50)        self.fc3=paddle.nn.Linear(50,10)        self.fc4=paddle.nn.Linear(10,2)    #正向传播过程    def forward(self, x):     #调用之前的网络        x = self.conv1(x)        x = self.pool1(x)        x = self.flatten(x)             x = self.fc1(x)            x = self.relu1(x)        x = self.fc2(x)        x = self.fc3(x)        x = self.fc4(x)        return x

   In [9]

model=paddle.Model(MyModel())model.prepare(paddle.optimizer.Adam(parameters=model.parameters()),    #指定优化方法,这里选择了Adam              paddle.nn.CrossEntropyLoss(),                            #选择损失函数,这里是交叉熵              paddle.metric.Accuracy())                                #评估,计算正确率

   In [10]

model.summary((1,1,256,256))

   

3.模型训练

In [11]

model.fit(train_dataset,    #使用的数据          epochs=10,         #训练的轮数          batch_size=50,   #单次送进多少个数据                   verbose=1)        #用进度条的形式打印日志

   

4.模型验证

In [ ]

model.evaluate(test_dataset,verbose=1)

   

以上就是机器学习二维系统相变的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/46939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
TikTok声音不同步怎么办 音画延迟修复与操作方法
上一篇 2025年11月7日 20:57:04
让我们揭秘打造聊天App开发的花费!
下一篇 2025年11月7日 20:57:09

相关推荐

  • mysql怎么添加哈希索引 mysql创建哈希索引的使用场景

    mysql怎么添加哈希索引 mysql创建哈希索引的使用场景mysql怎么添加哈希索引 mysql创建哈希索引的使用场景mysql怎么添加哈希索引 mysql创建哈希索引的使用场景mysql怎么添加哈希索引 mysql创建哈希索引的使用场景

    mysql中可以显式添加哈希索引的场景仅限于memory存储引擎,1.创建memory表时通过using hash语法指定主键或辅助索引;2.对已有memory表使用alter table添加哈希索引。对于innodb等磁盘引擎,无法手动创建哈希索引,但其内部会自动管理自适应哈希索引(ahi)以优化…

    2026年9月23日 用户投稿
    000
  • VSCode配置MacOS C环境 详细图解VSCode搭建C++开发

    在mac++os上用vscode配置c/c++环境的关键是安装xcode command line tools以获取clang编译器和lldb调试器,然后安装vscode的c/c++扩展,接着创建项目文件夹和源文件,通过配置tasks.json定义编译任务,确保使用clang编译当前文件并生成可执行…

    2026年9月23日
    100
  • Springboot项目引入xxl-job

    要将xxl-job集成到spring boot项目中,可以按照以下步骤进行操作: 首先,从Gitee拉取xxl-job的源码,并将其配置为Docker镜像部署到服务器上。 # 执行Maven打包mvn clean install构建Docker镜像,镜像名称中不允许使用下划线docker build…

    2026年9月23日
    000
  • Snagit的AI工具怎么裁剪图片?教你精准完成图片裁剪方法

    Snagit的AI工具怎么裁剪图片?教你精准完成图片裁剪方法Snagit的AI工具怎么裁剪图片?教你精准完成图片裁剪方法Snagit的AI工具怎么裁剪图片?教你精准完成图片裁剪方法Snagit的AI工具怎么裁剪图片?教你精准完成图片裁剪方法

    Snagit虽无一键AI裁剪,但通过魔棒、智能移动等智能工具辅助选区,结合裁剪功能可高效精准裁剪;关键在于利用颜色识别与对象分离技术提升效率,避免纯手动操作,再通过调整比例、放大细节、善用撤销等功能优化结果。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R…

    2026年9月23日 用户投稿
    000
  • Java javac 命令与当前工作目录解析

    在Java编译环境中,javac命令的“当前目录”指的是命令被执行的物理位置,而非源文件所在的目录。理解这一概念对于正确配置和管理Java项目的编译路径至关重要,特别是当默认的classpath设置为.时,它决定了编译器查找类文件的起点。 1. javac 命令与当前工作目录的定义 在操作系统中,当…

    2026年9月23日
    100
  • 苹果 iPhone Air 今日正式发售:仅支持 eSIM,起售价 7999 元

    10 月 22 日消息,苹果全新 iphone air 于今日上午 8:00 正式开售,起售价定为 7999 元。值得关注的是,该机型仅支持 esim 功能,用户需持本人有效身份证件前往运营商实体营业厅完成实名核验与服务激活。现阶段仍处于商用试验阶段,暂未开放线上办理通道。 iPhone Air 搭…

    2026年9月23日
    200
  • VSCode调试JavaScript代码(详细图解,前端必学技能)

    掌握VSCode调试JavaScript需先安装Node.js和VSCode,创建项目及app.js文件后,配置launch.json,设置断点并启动调试,通过变量面板和控制台检查值,结合条件断点、日志点、监听表达式等技巧提升效率;调试浏览器代码需安装Chrome或Edge调试插件,配置url和we…

    2026年9月23日
    200
  • 抖店怎么绑定抖音直播号?抖音小店绑定抖音账号

    随着短视频行业的迅速发展,抖音已经成长为国内最具影响力的短视频平台之一。而抖音直播带货的兴起,为众多商家开辟了全新的销售渠道。作为抖音电商平台的重要一环,抖店为商家提供了高效便捷的电商服务。本文将为您全面解析如何绑定抖音直播号,助您顺利开启电商新阶段。 一、抖店绑定抖音直播号的重要性 1. 提升转化…

    2026年9月23日
    200
  • Bash Shell 中单引号和双引号的区别

    Bash Shell 中单引号和双引号的区别Bash Shell 中单引号和双引号的区别Bash Shell 中单引号和双引号的区别Bash Shell 中单引号和双引号的区别

    在 linux 命令行中,引号是处理文件名中的空格和特殊字符的常用工具。引号在 shell 脚本中具有“特殊功能”,可能让初学者感到困惑。让我们详细探讨不同类型的引号字符及其在 shell 脚本中的用法。 有四种不同类型的引号字符: 单引号 ‘双引号 “反斜杠 反引号 ` 除…

    2026年9月23日 用户投稿
    500
  • Linux中如何查看服务日志?journalctl与syslog使用指南

    Linux中如何查看服务日志?journalctl与syslog使用指南Linux中如何查看服务日志?journalctl与syslog使用指南Linux中如何查看服务日志?journalctl与syslog使用指南Linux中如何查看服务日志?journalctl与syslog使用指南

    排查linux服务问题时,首选journalctl或syslog类系统查看日志。journalctl适用于systemd系统,可查看内核消息、服务启动输出等,支持按时间、单元、优先级过滤;syslog适用于传统系统,需服务主动发送日志,支持集中管理。掌握两者使用能有效定位问题。 在Linux系统中排…

    2026年9月23日 用户投稿
    100
  • Java语法基础中main方法为什么必须是public static void

    Main方法必须声明为public static void以确保JVM能无访问限制地通过类名直接调用,且不依赖对象实例或返回值,符合JVM规范对程序入口的强制要求。 Main方法是Java程序的入口点,它的标准声明形式为:public static void main(String[] args)。…

    2026年9月23日
    200
  • mysql安装后怎么授权 mysql用户权限设置操作教程

    mysql安装后怎么授权 mysql用户权限设置操作教程mysql安装后怎么授权 mysql用户权限设置操作教程mysql安装后怎么授权 mysql用户权限设置操作教程mysql安装后怎么授权 mysql用户权限设置操作教程

    创建用户并授权需用create user和grant命令,常见权限包括select、insert、update、delete、create、drop和all privileges,修改权限可用grant或revoke,设置时应注意作用范围、远程访问限制和密码安全。1. 创建用户使用create us…

    2026年9月23日 用户投稿
    1000
  • ElevenLabs的AI混合工具怎么用?生成逼真语音的详细操作教程

    ElevenLabs的AI混合工具核心在于VoiceLab功能,结合Voice Design与Instant Voice Cloning实现声音的精细调控与克隆。通过参数调整和高质量音频输入,用户可从零设计或克隆声音,并经反复迭代优化情感表达与自然度。其优势在于对声音细节的精准控制、克隆的真实感及灵…

    2026年9月23日
    100
  • 优化 Laravel Nova 动作响应消息的持久性与交互性

    本文探讨了 Laravel Nova 动作响应消息(toast 提示)持续时间过短的问题,尤其对于耗时较长的操作,默认提示难以满足用户反馈需求。我们提出并详细介绍了如何利用 Laravel Nova 4 的通知功能,实现持久化且可交互的用户通知,从而有效解决传统 toast 消息的局限性,提升用户体…

    2026年9月23日
    400
  • Reflection AI 完成 20 亿美元融资,打造“开放智能”

    美国人工智能初创企业 reflection ai 宣布成功募集 20 亿美元资金,其中英伟达领衔投资 8 亿美元,推动公司估值跃升至 80 亿美元。这家成立仅一年的科技新星,致力于打造“人人可及的前沿开放智能(open intelligence)”。 Reflection AI 表示,已集结一支由顶…

    2026年9月23日
    500
  • Java语法基础中变量声明和赋值有什么区别

    变量声明定义类型和名称,赋值赋予具体数据,二者可合并为初始化。声明如int age;,赋值如age=25;,局部变量使用前必须赋值,否则编译错误。 在Java语法中,变量的声明和赋值是两个不同的操作,虽然它们经常一起出现,但各自有不同的作用。 变量声明:定义变量的存在 变量声明是指告诉编译器你将要使…

    2026年9月23日
    500
  • mysql安装完如何优化 mysql基础性能调优配置建议

    mysql安装完如何优化 mysql基础性能调优配置建议mysql安装完如何优化 mysql基础性能调优配置建议mysql安装完如何优化 mysql基础性能调优配置建议mysql安装完如何优化 mysql基础性能调优配置建议

    安装完 mysql 后需进行基础配置调优以提升性能,主要包括以下五点:1. 设置 innodb_buffer_pool_size 为物理内存的50%~80%,如16g内存可设为12g;2. 调整 max_connections 至合理并发数如500,并设置 wait_timeout 和 intera…

    2026年9月23日 用户投稿
    400
  • [272]如何把Python脚本导出为exe程序

    [272]如何把Python脚本导出为exe程序[272]如何把Python脚本导出为exe程序[272]如何把Python脚本导出为exe程序[272]如何把Python脚本导出为exe程序

    文章目录:一. PyInstaller简介二. PyInstaller在Windows下的安装三. 打包四. 小实例(Windows下) 附加:pyinstaller简介 PyInstaller能够将Python脚本打包成可执行程序,使得在没有Python环境的机器上也可以运行这些程序。 PyIns…

    2026年9月23日 用户投稿
    100
  • VSCode搭建Flutter开发环境(移动开发,完整配置指南)

    本文详细指导如何在VSCode中搭建高效的Flutter开发环境,包括安装JDK、配置JAVA_HOME、安装Android Studio并设置ANDROID_HOME、安装VSCode及Flutter和Dart插件、配置FLUTTER_HOME环境变量,通过flutter doctor检查并解决A…

    2026年9月23日
    100
  • mysql安装后怎么变量 mysql系统变量配置与修改

    mysql安装后怎么变量 mysql系统变量配置与修改mysql安装后怎么变量 mysql系统变量配置与修改mysql安装后怎么变量 mysql系统变量配置与修改mysql安装后怎么变量 mysql系统变量配置与修改

    要查看和修改mysql系统变量,可通过sql命令或配置文件操作。一、查看变量用show variables或查询information_schema.global_variables;二、常见需调整变量包括max_connections、innodb_buffer_pool_size、wait_ti…

    2026年9月23日 用户投稿
    600

发表回复

登录后才能评论
关注微信