精华内容
下载资源
问答
  • 原子杂质和其他原子缺陷会显著改变固体的局域振动响应,并最终改变其宏观性能。近日,英国达斯伯里superSTEM实验室Q. M. Ramasse教授(通讯作者)在电子显微镜中使用高分辨率电子能量损失谱(STEM-EELS),显示石墨...

    这一发现实现了在具有单原子灵敏度的电子显微镜中振动光谱的前景,并在物理、化学和材料科学领域具有广泛的意义!

    单原子杂质和其他原子级缺陷会显著改变固体的局域振动响应,并最终改变其宏观性能。近日,英国达斯伯里superSTEM实验室Q. M. Ramasse教授(通讯作者)在电子显微镜中使用高分辨率电子能量损失谱(STEM-EELS),显示石墨烯中单独的硅杂质会引起振动响应的特征性发生局域改变。相关论文以题为“Single-atom vibrational spectroscopy in the scanning transmission electron microscope”于2020年3月6日发表在Science上。

    论文链接

    https://science.sciencemag.org/content/367/6482/1124

    841e81a25bbefc7a544fbc6295ee5259.png

    自19世纪以来,人们一直在研究由杂质的存在引起的动力系统模型频率的改变,产生了现在称为瑞利定理的经典定理。然而,现代晶体缺陷模型理论是在20世纪40年代随着Lifschitz的开创性工作而建立起来的。随后主要是基于光学光谱进行了许多研究,确定了两种缺陷诱导模型,称为局域模式和共振模式。缺陷模型可以控制材料的性能,如电和热传输,或者更普遍的为电子或声子散射过程。进一步可以利用这种方法来抑制热传播,调整二维薄膜的超导性,或影响导电聚合物的光电性能。虽然单原子缺陷原子局域光谱特征的存在早已被讨论过,然而传统的振动光谱通常是更大的范围内的平均信息。

    近日,扫描透射电子显微镜(STEM)中的振动电子能量损失光谱(EELS)成为探测材料振动响应的有力手段,在空间分辨率上优于其他实验表征技术。同时,针尖增强拉曼光谱(TERS)和非弹性电子隧穿谱(IETS)提供了高空间和能量分辨率,但其严格限于表面实验,因此对一系列应用提出了挑战。应用STEM-EELS能够利用多功能光学探针技术提供突破性的能力,且STEM-EELS与传统振动光谱的具有互补性。然而,振动STEM-EELS的最终目的是能够达到单原子或分子水平,如同现代显微镜能够进行电子结构分析一样。

    在本工作中,作者使用STEM-EELS测量单层石墨烯(Si@Gr)中单个三价Si原子的局域振动特征。一系列的第一性原理计算表明,所测得的光谱特征来源于缺陷引起的局域声子模型,即缺陷模式和整体连续体混合产生的共振态,其能量可以直接与实验匹配。这一发现实现了在具有单原子灵敏度的电子显微镜中振动光谱的前景,并在物理、化学和材料科学领域具有广泛的意义。

    8f18abb49d5b60a4d58ea38bf5e508e8.png

    图1.石墨烯中Si杂质的实验原理图和相应的振动STEM-EELS。(A)测试的原理图;(B)硅杂质和无缺陷石墨烯的振动EELS;(C,D) HAADF实验区域概述;(E)B中所示的硅杂质和无缺陷石墨烯EELS的差分光谱的细节图;(F)计算出的差分PPDOS与实验差分光谱的比较

    8d140c92b6fc9a61e9862fc2e047fd9d.png

    图2.振动信号。(A) 计算了声子DOS在Si和C原子上的平面内分量;(B)标记为1至6的C原子和Si杂质(红色球体)的位置示意图;(C)在等效原子位置上获得的实验光谱。

    1b3e7b5b6e36fe9429f384a0ec1713be.png

    图3. Si振动的局域修正。(A)灰度直方图显示了投影在平面内Si原子分量上;(B) 13原子局部的原子模型(Si原子以红色显示), 模式A和B的相对原子位移表示为箭头,长度与位移振幅成正比。

    总的看来,由点缺陷引起的局域和共振模式已被广泛讨论,前者的特点是频率位于未受扰动的晶体和原子振幅的连续体之外,随着与缺陷距离的增加,其速度比预期的要快。对比之下,后者发生于被允许的频率之上,共振模式的识别由于其独特的特性而延迟,在这种特性下,振幅不会远离缺陷消失,而是延伸到整个晶体之上。

    同时, STEM-EELS技术的特点是单原子缺陷敏感性和同位素选择性,以及在低温下工作的能力。利用此技术,一种单一的功能化同位素可以通过其振动特征在原子尺度上被发现。尽管还会遇到一些挑战,但这为进一步应用于固态科学开辟了一条道路,其中STEM的电子束可用于组装原子级功能器件和光谱探测产生的晶格动力学及其与其他准粒子的耦合关系。(文:Caspar)

    本文来自微信公众号“材料科学与工程”。欢迎公众号合作转载,未经许可谢绝转发至其他平台。

    展开全文
  • 原子杂质和其他原子缺陷会显著改变固体的局域振动响应,并最终改变其宏观性能。近日,英国达斯伯里superSTEM实验室Q. M. Ramasse教授(通讯作者)在电子显微镜中使用高分辨率电子能量损失谱(STEM-EELS),显示石墨...

    这一发现实现了在具有单原子灵敏度的电子显微镜中振动光谱的前景,并在物理、化学和材料科学领域具有广泛的意义!

    单原子杂质和其他原子级缺陷会显著改变固体的局域振动响应,并最终改变其宏观性能。近日,英国达斯伯里superSTEM实验室Q. M. Ramasse教授(通讯作者)在电子显微镜中使用高分辨率电子能量损失谱(STEM-EELS),显示石墨烯中单独的硅杂质会引起振动响应的特征性发生局域改变。相关论文以题为“Single-atom vibrational spectroscopy in the scanning transmission electron microscope”于2020年3月6日发表在Science上。

    论文链接

    https://science.sciencemag.org/content/367/6482/1124

    a83be83e6a93abf04881ef74df181ff8.png

    自19世纪以来,人们一直在研究由杂质的存在引起的动力系统模型频率的改变,产生了现在称为瑞利定理的经典定理。然而,现代晶体缺陷模型理论是在20世纪40年代随着Lifschitz的开创性工作而建立起来的。随后主要是基于光学光谱进行了许多研究,确定了两种缺陷诱导模型,称为局域模式和共振模式。缺陷模型可以控制材料的性能,如电和热传输,或者更普遍的为电子或声子散射过程。进一步可以利用这种方法来抑制热传播,调整二维薄膜的超导性,或影响导电聚合物的光电性能。虽然单原子缺陷原子局域光谱特征的存在早已被讨论过,然而传统的振动光谱通常是更大的范围内的平均信息。

    近日,扫描透射电子显微镜(STEM)中的振动电子能量损失光谱(EELS)成为探测材料振动响应的有力手段,在空间分辨率上优于其他实验表征技术。同时,针尖增强拉曼光谱(TERS)和非弹性电子隧穿谱(IETS)提供了高空间和能量分辨率,但其严格限于表面实验,因此对一系列应用提出了挑战。应用STEM-EELS能够利用多功能光学探针技术提供突破性的能力,且STEM-EELS与传统振动光谱的具有互补性。然而,振动STEM-EELS的最终目的是能够达到单原子或分子水平,如同现代显微镜能够进行电子结构分析一样。

    在本工作中,作者使用STEM-EELS测量单层石墨烯(Si@Gr)中单个三价Si原子的局域振动特征。一系列的第一性原理计算表明,所测得的光谱特征来源于缺陷引起的局域声子模型,即缺陷模式和整体连续体混合产生的共振态,其能量可以直接与实验匹配。这一发现实现了在具有单原子灵敏度的电子显微镜中振动光谱的前景,并在物理、化学和材料科学领域具有广泛的意义。

    6af51769259ef646c3bc027a37ddfe5c.png

    图1.石墨烯中Si杂质的实验原理图和相应的振动STEM-EELS。(A)测试的原理图;(B)硅杂质和无缺陷石墨烯的振动EELS;(C,D) HAADF实验区域概述;(E)B中所示的硅杂质和无缺陷石墨烯EELS的差分光谱的细节图;(F)计算出的差分PPDOS与实验差分光谱的比较

    9ff6ebf7b7995d9125a11e2ad7fd39db.png

    图2.振动信号。(A) 计算了声子DOS在Si和C原子上的平面内分量;(B)标记为1至6的C原子和Si杂质(红色球体)的位置示意图;(C)在等效原子位置上获得的实验光谱。

    9a25aae3305cb1927e79413bf86480dc.png

    图3. Si振动的局域修正。(A)灰度直方图显示了投影在平面内Si原子分量上;(B) 13原子局部的原子模型(Si原子以红色显示), 模式A和B的相对原子位移表示为箭头,长度与位移振幅成正比。

    总的看来,由点缺陷引起的局域和共振模式已被广泛讨论,前者的特点是频率位于未受扰动的晶体和原子振幅的连续体之外,随着与缺陷距离的增加,其速度比预期的要快。对比之下,后者发生于被允许的频率之上,共振模式的识别由于其独特的特性而延迟,在这种特性下,振幅不会远离缺陷消失,而是延伸到整个晶体之上。

    同时, STEM-EELS技术的特点是单原子缺陷敏感性和同位素选择性,以及在低温下工作的能力。利用此技术,一种单一的功能化同位素可以通过其振动特征在原子尺度上被发现。尽管还会遇到一些挑战,但这为进一步应用于固态科学开辟了一条道路,其中STEM的电子束可用于组装原子级功能器件和光谱探测产生的晶格动力学及其与其他准粒子的耦合关系。(文:Caspar)

    本文来自微信公众号“材料科学与工程”。欢迎公众号合作转载,未经许可谢绝转发至其他平台。

    展开全文
  • DEBUG——正点原子的串口程序中关于printf小缺陷的问题 这篇文章是针对我大概半个多月前遇到的一个关于串口的bug,之前一直不太明白这个bug问题出现在哪,还以为是关于printf()自身的原因。今天因为我编程序过程中...

    DEBUG——正点原子的串口程序中关于printf小缺陷的问题

    这篇文章是针对我大概半个多月前遇到的一个关于串口的bug,之前一直不太明白这个bug问题出现在哪,还以为是关于printf()自身的原因。今天因为我编程序过程中必须要用到printf()函数输出数据,所以就仔细地琢磨了一下,终于找到了BUG出现的原因。

    一.问题出现

    首先我们先看正点原子的一段例程

      if(USART_RX_STA&0x8000)
      {        
       len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
       printf("\r\n您发送的消息为:\r\n");//POINT1
       for(t=0;t<len;t++)//POINT2
       {
        USART_SendData(USART1, USART_RX_BUF[t]);         //向串口1发送数据
        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
       }
       printf("\r\n\r\n");//插入换行
       USART_RX_STA=0;
      }

    这段是正点原子的例程,从代码上看它实现的大体功能是,当接收到数据后单片机先向串口打印:
    1.另起一行(第一个\r\n)
    2.“您发送的消息为:”
    3.再另起一行(第二个\r\n)
    然后向串口发送接收到的数据,最终将发送数据标志位清零理想打印效果应该跟下图类似(代码稍作改变)
    在这里插入图片描述
    但实际打印效果确是如下图所示:
    在这里插入图片描述
    BUG就好像串口直接忽略了单片机发送的printf()中的第二个回车换行符。

    二.问题解决

    通过查看串口调试助手的16进制信息发现串口调试助手在接收第二个回车换行符(0D 0A)时,没有接收到0A符号,具体原因是因为下面语句:

    while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束

    这一句话功能是等待数据发送完成。但由于我们在printf()和for循环之间没有等待这一句代码,使得printf()最后一个字符还没有发送成功就被for循环中用户要发送数据中的第一个字节数据代替了,使得printf()中的0A没有发送出去,带着没有换行效果。
    具体解决方法:在printf()和for循环之间将等待数据发送完成代码这一句代码加上,这要发送效果就达到我们的理性效果

    if(USART_RX_STA&0x8000)
      {        
       len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
       printf("\r\n您发送的消息为:\r\n");
       while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
       for(t=0;t<len;t++)
       {
        USART_SendData(USART1, USART_RX_BUF[t]);         //向串口1发送数据
        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
       }
       printf("\r\n\r\n");//插入换行
       USART_RX_STA=0;
      }

    这样程序才是正确的。

    展开全文
  • CAS虽然高效地解决了原子操作,但是还是存在一些缺陷的 ,主要表现在三个方法:循环时间太长、只能保证-个共享变量原子操作、ABA问题。 ●循环时间太长 如果CAS一直不成功呢?这种情况绝对有可能发生。如果自旋CAS长时间...

    CAS缺陷


    CAS虽然高效地解决了原子操作,但是还是存在一些缺陷的 ,主要表现在三个方面:循环时间太长、只能保证一个共享变量原子操作、ABA问题。
    循环时间太长
            如果CAS一直不成功呢?这种情况绝对有可能发生。如果自旋CAS长时间地不成功,则会给CPU带来非常大的开销。在JUC中有些地方就限制了CAS自旋的次数,例如BlockingQueue的SynchronousQueue,
    只能保证一个共享变量原子操作
            看了CAS的实现就知道这只能针对一个共享变量,如果是多个共享变量就只能使用锁了。
    ABA问题
            CAS需要检查操作值有没有发生改变,如果没有发生改变则更新。但是存在这样一种情况 :如果一个值原来是A,变成了B,然后又变成了A.那么在CAS检查的时候会发现没有改变,但是实质上它已经发生了改变,这就是所谓的ABA问题。

    CAS的ABA隐患问题的解决

            对于ABA问题其解决方案是加上版本号。即在每个变量都加上一个版本号,每次改变时加1 ,即  A->B->A    变成 1A -> 2B -> 3A。

            Java提供了AtomicStampedReference(添加版本戳)来解决。AtomicstampedReference通过包装 [E, Integer] 的元组来对对象标记版本戳stamp ,从而避免ABA问题。对于上面的实例应该线程1会失败。


    J.U.C之atomic包


    atomic包介绍
            通过前面CAS的学习,我们了解到AtomicInteger的工作原理:它们的内部都维护者一个对应的基本类型的成员变量value ,这个变量是被volatile关键字修饰的,保证多线程环境下看见的是同一个(可见性) 。              AtomicInteger在进行一些原子操作的时候 ,依赖Unsafe类里面的CAS方法,原子操作就是通过自旋方式,不断地使用CAS函数进行尝试直到达到自己的目的。

            除了AtomicInteger类以外还有很多其他的类也有类似的功能,在JUC中有一个包java.util.concurrent.atomic存放原子操作的类, atomic里的类主要包括: 
                ●基本类型
                         使用原子的方式更新基本类型
                         AtomicInteger :整形原子类
                         AtomicLong :长整型原子类
                         AtomicBoolean :布尔型原子类

                             AtomicInteger主要API如下: 
                                 get()//直接返回值
                                 getAndAdd(int)//增加指定的数据,返回变化前的数据
                                 getAndDecrement() //减少1 ,返回减少前的数据_
                                 getAndIncrement() //增加1 ,返回增加前的数据
                                 getAndSet(int)//设置指定的数据,返回设置前的数据
        
                                 addAndGet(int)//增加指定的数据后返回增加后的数据
                                 decrementAndGet() //减少1 ,返回减少后的值
                                 incrementAndGet() //增加1 ,返回增加后的值
                                 lazySet(int)//仅仅当get时才会set
                                 compareAndSet(int, int)//尝试新增后对比 ,若增加成功则返回true否则返回false

                                     AtomicLong主要API和AtomicInteger ,只是类型不是int ,而是long

                ●引用类型
                         AtomicReference :引用类型原子类
                         AtomicStampedRerence :原子更新引用类型里的字段原子类
                         AtomicMarkableReference : 原子更新带有标记位的引用类型

                ●数组类型
                         使用原子的方式更新数组里的某个元素
                                 AtomicIntegerArray :整形数组原子类
                                 AtomicLongArray ;长整形数组原子类
                                 AtomicReferenceArray :引用类型数组原子类

                                 AtomicIntegerArray主要API如下:
                                         addAndGet(int, int)//执行加法,第一个参数为数组的下标, 第二个参数为增加的数量,返回增加后的结果
                                         compareAndSet(int, int, int)// 对比修改,参1数组下标,参2原始值,参3修改目标值,成功返回true否则false
                                         decrementAndGet(int)//参数为数组下标,将数组对应数字减少1,返回减少后的数据
                                         incrementAndGet(int)//参数为数组下标,将数组对应数字增加1,返回增加后的数据
                                         getAndAdd(int, int)// 和addAndGet类似,区别是返回值是变化前的数据
                                         getAndDecrement(int)//和decrementAndGet类似 ,区别是返回变化前的数据
                                         getAndIncrement(int)//和incrementAndGet类似 ,区别是返回变化前的数据
                                         getAndSet(int, int)// 将对应下标的数字设置为指定值,第二个参数为设置的值,返回是变化前的数据

                                             AtomicintegerArray主要API和AtomicLongArray ,只是类型不是int ,而是long

                ●对象的属性修改类型
                         AtomicIntegerFieldUpdater.原子更新整形字段的更新器
                                 AtomicL ongFieldUpdater :原子更新长整形字段的更新器
                                 AtomicStampedReference :原子更新带有版本号的引用类型。
                ●JDK1.8新增类
                         DoubleAdder :双浮点型原子类
                         LongAdder :长整型原子类
                         DoubleAccumulator :类似DoubleAdder ,但要更加灵活(要传入一个函数式接口)
                         LongAccumulator :类似LongAdder ,但要更加灵活(要传入-个函数式接口)
                    虽然涉及到的类很多,但是原理和AtomicInteger都是一样,使用CAS进行的原子操作,其方法和使用都是大同小异的。

    展开全文
  • 对于并发缺陷的分类目前国内许多是分死锁、数据竞争、原子违背、顺序违背。 或者在并发缺陷中又细分 concurrency vulnerability :死锁和数据竞争。 感觉各个作者有自己的分类方法???? 以下引用的中文解释来自<...
  • 每种实现都有一些不严谨的地方,甚至有可能是错误的实现,包括在代码中,如果不能正确的使用分布式锁,可能造成严重的生产环境故障,本文主要对目前遇到的各种分布式锁以及其缺陷做了一个整理,并对如何选择合适的...
  • 每种实现都有一些不严谨的地方,甚至有可能是错误的实现,包括在代码中,如果不能正确的使用分布式锁,可能造成严重的生产环境故障,本文主要对目前遇到的各种分布式锁以及其缺陷做了一个整理,并对如何选择合适的...
  • 本文主要对目前遇到的各种分布式锁以及其缺陷做了一个整理,并对如何选择合适的Redis分布式锁给出建议。 一、各个版本的Redis分布式锁 1、V1.0 tryLock(){ SETNX Key 1 EXPIRE Key Seconds } release(){ DELETE Key...
  • 每种实现都有一些不严谨的地方,甚至有可能是错误的实现,包括在代码中,如果不能正确的使用分布式锁,可能造成严重的生产环境故障,本文主要对目前遇到的各种分布式锁以及其缺陷做了一个整理,并对如何选择合适的...
  • 每种实现都有一些不严谨的地方,甚至有可能是错误的实现,包括在代码中,如果不能正确的使用分布式锁,可能造成严重的生产环境故障,本文主要对目前遇到的各种分布式锁以及其缺陷做了一个整理,并对如何选择合适的...
  • 关注并星标每周阅读港科夜闻建立新视野 开启新思维/近日要闻一览/▼1、香港科大等团队:富缺陷石墨烯稳定原子级分散Cu催化剂研究取得新进展。近日,香港科大王宁教授、中国科学院金属研究所沈阳...
  • 成果介绍由于独特的...通过将硫族元素空位引入TMDs晶格,由缺陷引起的原子掺杂是调制其特性的有前途策略。因此,需要开发可调谐和可扩展的合成路线以实现空位调制的TMDs。有鉴于此,近日,韩国蔚山国立科学技术学...
  • 一、使用AtomicLong的缺陷AtomicLong通过CAS提供了非阻塞的原子性操作。使用AtomicLong时,在高并发环境下,大量线程会同时去竞争更新同一个原子变量,但是由于同时只有一个线程的CAS操作会成功,这就造成了大量线程...
  • 原子变量自增的实现

    千次阅读 2018-01-06 20:28:57
    原子变量自增大致有两种方式;一种是基于CPU硬件支持,而另一种为软件层面自旋实现;两者各有各的优势;理论上说软件 层面的现实是最通用的,不过它也带来了一些棘手的问题...是软件层面实现存在的一种缺陷。 下面先
  • 哈佛大学科学家创造了世界上最小的无线电接收器, 这个小型无线电装置具有建立在原子尺度上的部件,使用粉红色钻石中微小的原子尺度缺陷
  • 在我们的旅行中,我们以可用的质量缺陷数据为指导,提出了一种调和较轻核素无法解释的结合能的新方法,并给出了逐步建立所有已知同位素的附加规则。 虽然规则看起来很合理,但是出来的图像只是对现有原子核内部结构...
  • 此外,我们测量原子并发性的方法也可能适用于其他固体系统,例如微腔内的量子点和钻石中的氮空位(NV)缺陷中心,它们也可能引起法拉第旋光。 所有这些优点为将来的分布式量子计算提供了重要的应用。
  • c# 原子读写锁

    千次阅读 2018-11-03 00:05:06
    我个人是以原子锁方式实现,主要用于并发读,独占写,并以写优先。关于优先的设计,应该有几种策略,就是读优先还是写优先还是均衡。我以写优先的原因在于,如果此时存在有待写入的数据,那么认为之前的数据已经过时...
  • 原子操作CAS-预备知识

    2019-07-27 14:39:42
    什么是原子操作 不可被中断的一个或一系列操作。 CAS原理 比较与交换。CAS操作包含三个参数:内存位置、预期原值和新值。如果内存位置的值与预期原值相匹配,那么就会给该内存位置赋上新值,否则,不做任何...
  • 文章目录一、原子操作1.1 Java中原子操作实现方式1.1.1 悲观锁(阻塞同步)1.1.2 乐观锁(非阻塞同步)1.2 原子操作示例1.2.1 JDK原子操作类型1.2.1 示例二、CAS2.1 CAS的实现原理2.1.1 总线加锁2.1.1 缓存加锁2.2 CAS的...
  • 非完全消化-火焰原子吸收光谱法测定芦荟中的锰,马超,宋东明,传统植物样品预处理方法存在耗时较长和易造成元素挥发损失等缺陷,为避免上述不足,将非完全消解法应用于火焰原子吸收光谱法成功
  • 原子化学势的计算

    2020-04-10 21:58:48
    可以参考一个以前的帖子http://muchong.com/bbs/viewthread.php?tid=10823604怎么计算“缺陷形成能”公式中的化学势 1.要注意化学势是一个约束条件,不能是任意取值的。在很多计算形成能的论文中都可以看到一个公式...
  • 谱分析可以克服这些缺陷。利用现代谱估计法和高阶谱法分别估计原子钟数据的功率谱,并对功率谱进行拟合, 可分析原子钟的噪声特性。理论分析及实验结果表明,高阶谱分析能有效处理实际信号中的非平稳非高斯问题。
  • 论述了使用原子力显微镜测量超光滑光学表面的优点及其在光学领域中的重要应用, 列举了用这种方法测试得到的超光滑光学表面微轮廓图及纳米量级的微缺陷, 以及这些表面镀膜前后表面形态结构和微粗糙度的变化。...
  • 文中从太阳能电池片电致发光图像分析的角度出发,研究了电池片缺陷分类和局部...最终得出以下结论:电池片不同的缺陷会造成不同的EL图像,原子缺陷的电池片EL图像缺陷并不明显,大部分物理级缺陷都能通过EL检测出来。
  • (一)先聊聊AtomicLong的基本概念,然后聊一下他的缺陷问题,然后引出LongAdder的优点 (1)大家都使用过AtomicInteger、AtomicLong等这几类原子性的工具类,具体怎么用我就不说了,就说一下他们的大概的基本实现...
  • 石墨晶界缺陷的扫描隧道显微镜研究,秦晋,安康,碳原子在石墨的同一平面内以六角晶格周期结构形式存在,但在缺陷处,会有五元环和七元环代替六角结构出现。这种缺陷结构会改变晶

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 284
精华内容 113
关键字:

原子缺陷