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

jvm系列(2)--类加载子系统

目录

  • 第2章-类加载子系统
    • 内存结构概述
      • 简图
      • 详细图
    • 类加载器子系统
    • 类加载器ClassLoader角色
    • 类加载过程
      • 概述
      • 加载阶段
      • 链接阶段
        • 验证(Verify)
        • 准备(Prepare)
        • 解析(Resolve)
      • 初始化阶段
        • 类的初始化时机
      • clinit()
        • 1,2,3说明
        • 4说明
        • 5说明
        • 6说明
    • 类加载器的分类
      • 概述
      • 虚拟机自带的加载器
        • 启动类加载器
        • 扩展类加载器
        • 系统类加载器
      • 用户自定义类加载器
        • 什么时候需要自定义类加载器?
        • 如何自定义类加载器?
      • 关于ClassLoader
        • 获取ClassLoader途径
    • 双亲委派机制
      • 双亲委派机制原理
      • 双亲委派机制代码演示
        • 举例1
        • 举例2
        • 举例3
      • 双亲委派机制优势
    • 沙箱安全机制
    • 其他
      • 如何判断两个class对象是否相同?
      • 对类加载器的引用

第2章-类加载子系统

内存结构概述

简图

详细图

英文版

中文版

注意:方法区只有HotSpot虚拟机有,J9,JRockit都没有

如果自己想手写一个Java虚拟机的话,主要考虑哪些结构呢?

  1. 类加载器
  2. 执行引擎

类加载器子系统

类加载器子系统作用:

  1. 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。

  2. ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。

  3. 加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)

类加载器ClassLoader角色

  1. class file(在下图中就是Car.class文件)存在于本地硬盘上,可以理解为设计师画在纸上的模板,而最终这个模板在执行的时候是要加载到JVM当中来根据这个文件实例化出n个一模一样的实例。
  2. class file加载到JVM中,被称为DNA元数据模板(在下图中就是内存中的Car Class),放在方法区。
  3. 在.class文件–>JVM–>最终成为元数据模板,此过程就要一个运输工具(类装载器Class Loader),扮演一个快递员的角色。

类加载过程

概述

public class HelloLoader {public static void main(String[] args) {System.out.println("谢谢ClassLoader加载我....");System.out.println("你的大恩大德,我下辈子再报!");}
}

它的加载过程是怎么样的呢?

  • 执行 main() 方法(静态方法)就需要先加载main方法所在类 HelloLoader
  • 加载成功,则进行链接、初始化等操作。完成后调用 HelloLoader 类中的静态方法 main
  • 加载失败则抛出异常

完整的流程图如下所示:

加载阶段

加载:

  1. 通过一个类的全限定名获取定义此类的二进制字节流

  2. 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构

  3. 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口

加载class文件的方式:

  1. 从本地系统中直接加载
  2. 通过网络获取,典型场景:Web Applet
  3. 从zip压缩包中读取,成为日后jar、war格式的基础
  4. 运行时计算生成,使用最多的是:动态代理技术
  5. 由其他文件生成,典型场景:JSP应用从专有数据库中提取.class文件,比较少见
  6. 从加密文件中获取,典型的防Class文件被反编译的保护措施

链接阶段

链接分为三个子阶段:验证 -> 准备 -> 解析

验证(Verify)

  1. 目的在于确保Class文件的字节流中包含信息符合当前虚拟机要求,保证被加载类的正确性,不会危害虚拟机自身安全
  2. 主要包括四种验证,文件格式验证,元数据验证,字节码验证,符号引用验证。

举例

使用 BinaryViewer软件查看字节码文件,其开头均为 CAFE BABE ,如果出现不合法的字节码文件,那么将会验证不通过。

准备(Prepare)

  1. 为类变量(static变量)分配内存并且设置该类变量的默认初始值,即零值
  2. 这里不包含用final修饰的static,因为final在编译的时候就会分配好了默认值,准备阶段会显式初始化
  3. 注意:这里不会为实例变量分配初始化,类变量会分配在方法区中,而实例变量是会随着对象一起分配到Java堆中

举例

代码:变量a在准备阶段会赋初始值,但不是1,而是0,在初始化阶段会被赋值为 1

public class HelloApp {private static int a = 1;//prepare:a = 0 ---> initial : a = 1public static void main(String[] args) {System.out.println(a);}
}

解析(Resolve)

  1. 将常量池内的符号引用转换为直接引用的过程

  2. 事实上,解析操作往往会伴随着JVM在执行完初始化之后再执行

  3. 符号引用就是一组符号来描述所引用的目标。符号引用的字面量形式明确定义在《java虚拟机规范》的class文件格式中。直接引用就是直接指向目标的指针、相对偏移量或一个间接定位到目标的句柄

  4. 解析动作主要针对类或接口、字段、类方法、接口方法、方法类型等。对应常量池中的CONSTANT Class info、CONSTANT Fieldref info、CONSTANT Methodref info等

符号引用

  • 反编译 class 文件后可以查看符号引用,下面带# 的就是符号引用

初始化阶段

类的初始化时机

  1. 创建类的实例
  2. 访问某个类或接口的静态变量,或者对该静态变量赋值
  3. 调用类的静态方法
  4. 反射(比如:Class.forName(“com.atguigu.Test”))
  5. 初始化一个类的子类
  6. Java虚拟机启动时被标明为启动类的类
  7. JDK7开始提供的动态语言支持:java.lang.invoke.MethodHandle实例的解析结果REF_getStatic、REF putStatic、REF_invokeStatic句柄对应的类没有初始化,则初始化

除了以上七种情况,其他使用Java类的方式都被看作是对类的被动使用,都不会导致类的初始化,即不会执行初始化阶段(不会调用 clinit() 方法和 init() 方法)

clinit()

  1. 初始化阶段就是执行类构造器方法<clinit>()的过程

  2. 此方法不需定义,是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来。也就是说,当我们代码中包含static变量的时候,就会有clinit方法

  3. <clinit>()方法中的指令按语句在源文件中出现的顺序执行

  4. <clinit>()不同于类的构造器。(关联:构造器是虚拟机视角下的<init>()

  5. 若该类具有父类,JVM会保证子类的<clinit>()执行前,父类的<clinit>()已经执行完毕

  6. 虚拟机必须保证一个类的<clinit>()方法在多线程下被同步加锁

IDEA 中安装 JClassLib Bytecode viewer 插件,可以很方便的看字节码。安装过程可以自行百度

1,2,3说明

举例1:有static变量

查看下面这个代码的字节码,可以发现有一个<clinit>()方法。

public class ClassInitTest {private static int num = 1;static{num = 2;number = 20;System.out.println(num);//System.out.println(number);//报错:非法的前向引用。}/*** 1、linking之prepare: number = 0 --> initial: 20 --> 10* 2、这里因为静态代码块出现在声明变量语句前面,所以之前被准备阶段为0的number变量会* 首先被初始化为20,再接着被初始化成10(这也是面试时常考的问题哦)**/private static int number = 10;public static void main(String[] args) {System.out.println(ClassInitTest.num);//2System.out.println(ClassInitTest.number);//10}
}

<clint字节码>:

 0 iconst_11 putstatic #3 <com/atguigu/java/ClassInitTest.num>4 iconst_25 putstatic #3 <com/atguigu/java/ClassInitTest.num>8 bipush 20	 //先赋20
10 putstatic #5 <com/atguigu/java/ClassInitTest.number>
13 getstatic #2 <java/lang/System.out>
16 getstatic #3 <com/atguigu/java/ClassInitTest.num>
19 invokevirtual #4 <java/io/PrintStream.println>
22 bipush 10	//再赋10
24 putstatic #5 <com/atguigu/java/ClassInitTest.number>
27 return

当我们代码中包含static变量的时候,就会有clinit方法

举例2:无 static 变量

加上之后就有了

4说明

在构造器中:

  • 先将类变量 a 赋值为 10
  • 再将局部变量赋值为 20

5说明

若该类具有父类,JVM会保证子类的<clinit>()执行前,父类的<clinit>()已经执行完毕

如上代码,加载流程如下:

  • 首先,执行 main() 方法需要加载 ClinitTest1 类
  • 获取 Son.B 静态变量,需要加载 Son 类
  • Son 类的父类是 Father 类,所以需要先执行 Father 类的加载,再执行 Son 类的加载

6说明

虚拟机必须保证一个类的<clinit>()方法在多线程下被同步加锁

public class DeadThreadTest {public static void main(String[] args) {Runnable r = () -> {System.out.println(Thread.currentThread().getName() + "开始");DeadThread dead = new DeadThread();System.out.println(Thread.currentThread().getName() + "结束");};Thread t1 = new Thread(r,"线程1");Thread t2 = new Thread(r,"线程2");t1.start();t2.start();}
}class DeadThread{static{if(true){System.out.println(Thread.currentThread().getName() + "初始化当前类");while(true){}}}
}

输出结果:

线程2开始
线程1开始
线程2初始化当前类/然后程序卡死了

程序卡死,分析原因:

  • 两个线程同时去加载 DeadThread 类,而 DeadThread 类中静态代码块中有一处死循环
  • 先加载 DeadThread 类的线程抢到了同步锁,然后在类的静态代码块中执行死循环,而另一个线程在等待同步锁的释放
  • 所以无论哪个线程先执行 DeadThread 类的加载,另外一个类也不会继续执行。(一个类只会被加载一次)

类加载器的分类

概述

  1. JVM严格来讲支持两种类型的类加载器 。分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defined ClassLoader)

  2. 从概念上来讲,自定义类加载器一般指的是程序中由开发人员自定义的一类类加载器,但是Java虚拟机规范却没有这么定义,而是将所有派生于抽象类ClassLoader的类加载器都划分为自定义类加载器

  3. 无论类加载器的类型如何划分,在程序中我们最常见的类加载器始终只有3个,如下所示

ExtClassLoader

AppClassLoader

public class ClassLoaderTest {public static void main(String[] args) {//获取系统类加载器ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();System.out.println(systemClassLoader);//sun.misc.Launcher$AppClassLoader@18b4aac2//获取其上层:扩展类加载器ClassLoader extClassLoader = systemClassLoader.getParent();System.out.println(extClassLoader);//sun.misc.Launcher$ExtClassLoader@1540e19d//获取其上层:获取不到引导类加载器ClassLoader bootstrapClassLoader = extClassLoader.getParent();System.out.println(bootstrapClassLoader);//null//对于用户自定义类来说:默认使用系统类加载器进行加载ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();System.out.println(classLoader);//sun.misc.Launcher$AppClassLoader@18b4aac2//String类使用引导类加载器进行加载的。---> Java的核心类库都是使用引导类加载器进行加载的。ClassLoader classLoader1 = String.class.getClassLoader();System.out.println(classLoader1);//null}
}
  • 我们尝试获取引导类加载器,获取到的值为 null ,这并不代表引导类加载器不存在,因为引导类加载器右 C/C++ 语言,我们获取不到
  • 两次获取系统类加载器的值都相同:sun.misc.Launcher$AppClassLoader@18b4aac2 ,这说明系统类加载器是全局唯一的

虚拟机自带的加载器

启动类加载器

启动类加载器(引导类加载器,Bootstrap ClassLoader)

  1. 这个类加载使用C/C++语言实现的,嵌套在JVM内部
  2. 它用来加载Java的核心库(JAVA_HOME/jre/lib/rt.jar、resources.jar或sun.boot.class.path路径下的内容),用于提供JVM自身需要的类
  3. 并不继承自java.lang.ClassLoader,没有父加载器
  4. 加载扩展类和应用程序类加载器,并作为他们的父类加载器
  5. 出于安全考虑,Bootstrap启动类加载器只加载包名为java、javax、sun等开头的类

扩展类加载器

扩展类加载器(Extension ClassLoader)

  1. Java语言编写,由sun.misc.Launcher$ExtClassLoader实现
  2. 派生于ClassLoader类
  3. 父类加载器为启动类加载器
  4. 从java.ext.dirs系统属性所指定的目录中加载类库,或从JDK的安装目录的jre/lib/ext子目录(扩展目录)下加载类库。如果用户创建的JAR放在此目录下,也会自动由扩展类加载器加载

系统类加载器

应用程序类加载器(也称为系统类加载器,AppClassLoader)

  1. Java语言编写,由sun.misc.LaunchersAppClassLoader实现
  2. 派生于ClassLoader类
  3. 父类加载器为扩展类加载器
  4. 它负责加载环境变量classpath或系统属性java.class.path指定路径下的类库
  5. 该类加载是程序中默认的类加载器,一般来说,Java应用的类都是由它来完成加载
  6. 通过classLoader.getSystemclassLoader()方法可以获取到该类加载器
public class ClassLoaderTest1 {public static void main(String[] args) {System.out.println("**********启动类加载器**************");//获取BootstrapClassLoader能够加载的api的路径URL[] urLs = sun.misc.Launcher.getBootstrapClassPath().getURLs();for (URL element : urLs) {System.out.println(element.toExternalForm());}//从上面的路径中随意选择一个类,来看看他的类加载器是什么:引导类加载器ClassLoader classLoader = Provider.class.getClassLoader();System.out.println(classLoader);System.out.println("***********扩展类加载器*************");String extDirs = System.getProperty("java.ext.dirs");for (String path : extDirs.split(";")) {System.out.println(path);}//从上面的路径中随意选择一个类,来看看他的类加载器是什么:扩展类加载器ClassLoader classLoader1 = CurveDB.class.getClassLoader();System.out.println(classLoader1);//sun.misc.Launcher$ExtClassLoader@1540e19d}
}

输出结果

**********启动类加载器**************
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/resources.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/rt.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/sunrsasign.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/jsse.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/jce.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/charsets.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/lib/jfr.jar
file:/C:/Program%20Files/Java/jdk1.8.0_131/jre/classes
null
***********扩展类加载器*************
C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext
C:\Windows\Sun\Java\lib\ext
sun.misc.Launcher$ExtClassLoader@29453f44

用户自定义类加载器

什么时候需要自定义类加载器?

在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。那为什么还需要自定义类加载器?

  1. 隔离加载类(比如说我假设现在Spring框架,和RocketMQ有包名路径完全一样的类,类名也一样,这个时候类就冲突了。不过一般的主流框架和中间件都会自定义类加载器,实现不同的框架,中间价之间是隔离的)
  2. 修改类加载的方式
  3. 扩展加载源(还可以考虑从数据库中加载类,路由器等等不同的地方)
  4. 防止源码泄漏(对字节码文件进行解密,自己用的时候通过自定义类加载器来对其进行解密)

如何自定义类加载器?

  1. 开发人员可以通过继承抽象类java.lang.ClassLoader类的方式,实现自己的类加载器,以满足一些特殊的需求
  2. 在JDK1.2之前,在自定义类加载器时,总会去继承ClassLoader类并重写loadClass()方法,从而实现自定义的类加载类,但是在JDK1.2之后已不再建议用户去覆盖loadClass()方法,而是建议把自定义的类加载逻辑写在findclass()方法中
  3. 在编写自定义类加载器时,如果没有太过于复杂的需求,可以直接继承URIClassLoader类,这样就可以避免自己去编写findclass()方法及其获取字节码流的方式,使自定义类加载器编写更加简洁。

代码示例

public class CustomClassLoader extends ClassLoader {@Overrideprotected Class<?> findClass(String name) throws ClassNotFoundException {try {byte[] result = getClassFromCustomPath(name);if (result == null) {throw new FileNotFoundException();} else {//defineClass和findClass搭配使用return defineClass(name, result, 0, result.length);}} catch (FileNotFoundException e) {e.printStackTrace();}throw new ClassNotFoundException(name);}//自定义流的获取方式private byte[] getClassFromCustomPath(String name) {//从自定义路径中加载指定类:细节略//如果指定路径的字节码文件进行了加密,则需要在此方法中进行解密操作。return null;}public static void main(String[] args) {CustomClassLoader customClassLoader = new CustomClassLoader();try {Class<?> clazz = Class.forName("One", true, customClassLoader);Object obj = clazz.newInstance();System.out.println(obj.getClass().getClassLoader());} catch (Exception e) {e.printStackTrace();}}
}

关于ClassLoader

ClassLoader 类介绍

ClassLoader类,它是一个抽象类,其后所有的类加载器都继承自ClassLoader(不包括启动类加载器)

sun.misc.Launcher 它是一个java虚拟机的入口应用

获取ClassLoader途径

public class ClassLoaderTest2 {public static void main(String[] args) {try {//1.ClassLoader classLoader = Class.forName("java.lang.String").getClassLoader();System.out.println(classLoader);//2.ClassLoader classLoader1 = Thread.currentThread().getContextClassLoader();System.out.println(classLoader1);//3.ClassLoader classLoader2 = ClassLoader.getSystemClassLoader().getParent();System.out.println(classLoader2);} catch (ClassNotFoundException e) {e.printStackTrace();}}
}

输出结果:

null
sun.misc.Launcher$AppClassLoader@18b4aac2
sun.misc.Launcher$ExtClassLoader@1540e19dProcess finished with exit code 0

双亲委派机制

双亲委派机制原理

Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任务委派模式

  1. 如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行;
  2. 如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器;
  3. 如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式。
  4. 父类加载器一层一层往下分配任务,如果子类加载器能加载,则加载此类,如果将加载任务分配至系统类加载器也无法加载此类,则抛出异常

双亲委派机制代码演示

举例1

1、我们自己建立一个 java.lang.String 类,写上 static 代码块

public class String {//static{System.out.println("我是自定义的String类的静态代码块");}
}

2、在另外的程序中加载 String 类,看看加载的 String 类是 JDK 自带的 String 类,还是我们自己编写的 String 类

public class StringTest {public static void main(String[] args) {java.lang.String str = new java.lang.String();System.out.println("hello,atguigu.com");StringTest test = new StringTest();System.out.println(test.getClass().getClassLoader());}
}

输出结果:

hello,atguigu.com
sun.misc.Launcher$AppClassLoader@18b4aac2

程序并没有输出我们静态代码块中的内容,可见仍然加载的是 JDK 自带的 String 类。

把刚刚的类改一下

package java.lang;
public class String {//static{System.out.println("我是自定义的String类的静态代码块");}//错误: 在类 java.lang.String 中找不到 main 方法public static void main(String[] args) {System.out.println("hello,String");}
}

由于双亲委派机制一直找父类,所以最后找到了Bootstrap ClassLoader,Bootstrap ClassLoader找到的是 JDK 自带的 String 类,在那个String类中并没有 main() 方法,所以就报了上面的错误。

举例2

package java.lang;public class ShkStart {public static void main(String[] args) {System.out.println("hello!");}
}

输出结果:

java.lang.SecurityException: Prohibited package name: java.langat java.lang.ClassLoader.preDefineClass(ClassLoader.java:662)at java.lang.ClassLoader.defineClass(ClassLoader.java:761)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)at java.net.URLClassLoader.access$100(URLClassLoader.java:73)at java.net.URLClassLoader$1.run(URLClassLoader.java:368)at java.net.URLClassLoader$1.run(URLClassLoader.java:362)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:361)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" 
Process finished with exit code 1

即使类名没有重复,也禁止使用java.lang这种包名。这是一种保护机制

举例3

当我们加载jdbc.jar 用于实现数据库连接的时候

  1. 我们现在程序中需要用到SPI接口,而SPI接口属于rt.jar包中Java核心api
  2. 然后使用双清委派机制,引导类加载器把rt.jar包加载进来,而rt.jar包中的SPI存在一些接口,接口我们就需要具体的实现类了
  3. 具体的实现类就涉及到了某些第三方的jar包了,比如我们加载SPI的实现类jdbc.jar包【首先我们需要知道的是 jdbc.jar是基于SPI接口进行实现的】
  4. 第三方的jar包中的类属于系统类加载器来加载
  5. 从这里面就可以看到SPI核心接口由引导类加载器来加载,SPI具体实现类由系统类加载器来加载

双亲委派机制优势

通过上面的例子,我们可以知道,双亲机制可以

  1. 避免类的重复加载

  2. 保护程序安全,防止核心API被随意篡改

    • 自定义类:自定义java.lang.String 没有被加载。
    • 自定义类:java.lang.ShkStart(报错:阻止创建 java.lang开头的类)

沙箱安全机制

  1. 自定义String类时:在加载自定义String类的时候会率先使用引导类加载器加载,而引导类加载器在加载的过程中会先加载jdk自带的文件(rt.jar包中java.lang.String.class),报错信息说没有main方法,就是因为加载的是rt.jar包中的String类。
  2. 这样可以保证对java核心源代码的保护,这就是沙箱安全机制。

其他

如何判断两个class对象是否相同?

在JVM中表示两个class对象是否为同一个类存在两个必要条件:

  1. 类的完整类名必须一致,包括包名
  2. 加载这个类的ClassLoader(指ClassLoader实例对象)必须相同
  3. 换句话说,在JVM中,即使这两个类对象(class对象)来源同一个Class文件,被同一个虚拟机所加载,但只要加载它们的ClassLoader实例对象不同,那么这两个类对象也是不相等的

对类加载器的引用

  1. JVM必须知道一个类型是由启动加载器加载的还是由用户类加载器加载的
  2. 如果一个类型是由用户类加载器加载的,那么JVM会将这个类加载器的一个引用作为类型信息的一部分保存在方法区中
  3. 当解析一个类型到另一个类型的引用的时候,JVM需要保证这两个类型的类加载器是相同的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4507370.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

数据仓库与数据挖掘 5

使用SQL server 建立多维数据模型 在上一个实验数据仓库与数据挖掘 4&#xff08;上&#xff09;&#xff0c;我们使用SqlServer2012 完成了ETL导入数据到数据仓库的过程。 本次实验在此基础上&#xff0c;完成多维数据建模。从而进行数据分析挖掘。 再次回顾一下&#xff0…...

mysql查询性别语句_mysql 语句根据身份证查询年龄,地址,性别

select case left(idcard,2)when 11 then 北京市when 12 then 天津市when 13 then 河北省when 14 then 山西省when 15 then 内蒙古自治区when 21 then 辽宁省when 22 then 吉林省when 23 then 黑龙江省when 31 then 上海市when 32 then 江苏省when 33 then 浙江省when 34 then…...

传奇修改ip和服务器,传奇私服服务器IPLocal插件的详细使用方法和技巧攻略

对于大多数传奇私服gm来说IPLocal插件相关技术一直都是非常陌生的一个领域&#xff0c;很多新手传奇私服gm甚至都不知道有这个东西的存在。其实出现这样的问题还是比较常见的&#xff0c;因为现在的大多数gm制作服务器时都是使用的网上半成品&#xff0c;所以不了解IPLocal插件…...

unity 我用到的序列号字段

1 [Range] 用滑动调显示范围 2 [SerializeField] 可以把私有数值显示 3 [HideInInspector]把共有隐藏 4 [Serializable]这个要在类的前面加 然后显示类 5 [Tooltip(" ")] 鼠标放上去有提示 6[RequireComponent(typeof(CharacterMotor)] 把脚本一起挂上去 Range [Ran…...

Linux搭建Eclipse che

文章目录安装docker&#xff1a;删除老版本的docker安装所需的软件包设置稳定的仓库&#xff08;阿里云的docker仓库&#xff09;下载服务器的包信息&#xff0c; 以便于下次查询某包的下属版本时&#xff0c;快速查找安装docker启动docker检测docker拉取镜像&#xff0c;启动E…...

VS2010串口通信详解

http://blog.csdn.net/whereyougo/article/details/40686279...

计算机三级 信息安全技术题库——选择题1

<------------纯手打内容并不能保证百分百没错字------------> 更新&#xff1a;考试过啦 虽然只是及格&#xff08; 感觉单靠买的题库的的话 良好应该没什么问题 但是优秀可能比较困难&#xff0c;感觉考试的题目也还是有挺多变动的 不过亲测四五天保证每天有四个小时的…...

Qt扫盲-QLabel使用总结

QLabel使用总结一、QLabel 显示内容二、注意事项1. 格式注意2. 不保留先前状态3. 格式对齐4. 伙伴焦点三、信号和槽函数使用1. 信号2. 槽函数总结&#xff1a;QLabel 其实就是一个用来只读显示的简易控件。适合数据量很小的内容显示。QLabel用于显示 文本或图像。 不提供用户交…...

【Linux】什么是CPU上下文切换?

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 文章目录什么是CPU上下文切换&#xff1f;一、CPU上下文切换的几类场景1.1 进程上下文切换1.1.1 特权模式切换1.1.2 进程上下文切换1.2 线程上下文切换1.3 中断上下文切…...

WiFi_Direct 直连开发实战

文章目录Wifi直连 开发背景WiFi直连 简介相关权限Wifi直连 服务端1、初始化直连及广播2、获取连接点列表3、Socket初始化4、创建组和移除组Wifi直连 客户端1、初始化直连及广播、2、获取连接点列表3、初始化客户端socket心得1、无法获取WIFI直连MAC地址2、两个手机无法连接wifi…...

【视频分享】尚硅谷Oracle视频教程

应该也有很多公司用的还是Oracle数据库&#xff0c;也有看到网友留言需要这方面的&#xff0c;今天就分享Oracle的相关视频&#xff0c;希望对你们有帮助。课程目录├─1-[尚硅谷]_宋红康_Oracle数据库的安装和配置.wmv├─10-[尚硅谷]_宋红康_sql-第4节_多表查询.wmv├─11-[尚…...

学习平滑滤波随手笔记

图像平滑的目的&#xff1a; ①使图像亮度区域平缓&#xff0c;突出图像的宽大区域&#xff0c;低频成分、主干成分&#xff0c;或抑制图像噪声和高频干扰成分 ②实则是低通滤波 ③平滑会导致图像边缘模糊 中值滤波将图像的每个像素用邻像素的中值代替&#xff0c;是一种非线性…...

mysql身份证唯一查询_Mysql查询SQL相关总结(根据生日以及身份证查询年龄以及性别区域等)...

1.根据生日查询年龄SELECT YEAR(CURDATE())-YEAR(birthDate)-(RIGHT(CURDATE(),5)与上面的结果相等sql&#xff1a;SELECT TIMESTAMPDIFF(YEAR,a.birthDate,CURDATE()) FROM 表名 a WHERE a.uid IN(159486);SELECT TIMESTAMPDIFF(YEAR,a.birthDate,NOW()) FROM 表名 a WHERE a.…...

Mapbox 与 Babylon.js 可视化 glsl 特效篇(十九)

我决定不从Babylonjs 基础来讲了 直接整合mapbox与babylonjs可视化来讲 我整合一个类库 后续不断更新中 npm i haibalai/mapbox-babylonjs 初始化mapbox-babylonjs 类库&#xff0c; map 是mapbox.gl 的map 对象 import { BabylonMapManager } from “haibalai/mapbox-baby…...

delphi视频聊天

用Delphi开发视频聊天软件 一、引言 我们知道视频聊天软件的关键技术在于采集视频&#xff0c;并实时传输给聊天软件在线的人。对于视频的采集&#xff0c;这里采用微软公司的关于数字视频的一个软件包VFW&#xff08;Video for Windows&#xff09;。相信很多人对它都很熟习&a…...

方差公式Var(x)=E(x^2)-[E(x)]^2,求期望值

E(x)已经是常数&#xff0c;再E一次E(E(x))还是E(x) 例1 求Var(3-x) 代入算即可。 例2 例3...

先睹为快HTML6来了,看看它的新特性吧

HTML&#xff0c;超文本标记语言&#xff0c;是一种用于创建网页的标准标记语言。自从引入 HTML 以来&#xff0c;它就一直用于构建互联网。与 JavaScript 和 CSS 一起&#xff0c;HTML 构成前端开发的三剑客。 尽管许多新技术使网站创建过程变得更简单、更高效&#xff0c;但 …...

VPC网络图解

主题&#xff1a;VPC网络 VPC 网络 您可以在 QingCloud 环境内预配置出一个专属的大型网络 - VPC 网络。在 VPC 网络内&#xff0c;您可以自定义 IP 地址范围、创建子网&#xff0c;并在子网内创建主机/数据库/大数据等各种云资源。 一个 VPC 网络可以连接 254 个 子网&#x…...

(二)Jenkins全局工具配置

目录 1、插件管理 2、Gitee安装 2.1、插件安装 2.2、查看Gitee状态 2.3、配置Gitee 2.4、获取私人令牌 2.5、测试连接 3、全局配置jdk、ant、maven 3.1、jdk配置 3.2、ant配置 3.3、maven配置 4、插件镜像下载地址配置 (一)Jenkins部署、基础配置介绍在windows下安…...

搭建内网DNS服务器教程

内网DNS服务器的软件有许多,比如Bind9,dnsmasq,PowerDNS等等 而这次搭建内网dns服务的软件CoreDNS,CoreDNS是Golang编写的一个插件式DNS服务器&#xff0c;也是Kubernetes 1.13 后所内置的默认DNS服务器.自己也考虑过使用Bind9,但配置感觉太麻烦了,故选择了比较简单灵活的Core…...

qt中文转字节_QT字符编码转换,可用于中文内码传输

串口、TCP、UDP传输中文字符时&#xff0c;先将字符串转内码。客户端接收到数据后&#xff0c;将内码转为字符串就&#xff2f;&#xff2b;了QByteArray CommonFunction::strToInterCode(constQString &str)//字符串转内码{QString strName str.toLocal8Bit();QByteArray…...

SNTP协议原理

SNTP是简单网络时间协议&#xff08;Simple Network Time protocol&#xff09;的简称&#xff0c;它是目前Internet网上实现时间同步的一种重要工程化方法。本文对SNTP协议的工作原理、工作模式、时间戳格式、信息帧格式进行了研究&#xff0c;最后对SNTP协议的应用提出一些有…...

直连DHCP获取WLAN实验

[SW1]vlan 100 [SW1]int g0/0/1 [SW1-GigabitEthernet0/0/1]p l t [SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all [SW1]int vlan 100 [SW1-Vlanif100]ip add 10.1.100.1 24 [SW1]vlan 101 [SW1-vlan101]int vlan 101 [SW1-Vlanif101]ip add 10.1.101.1 24 [AC6...

openocd Win10安装jlink->winUSB失败

Open OCD win10系统下转换jlink为 winUSB失败 昨日在搭建织女星开发板的Eclipse环境中发现 使用 UsbDriverTool置换jlink驱动为 winUSB时报错: 不能为驱动添加签名 驱动添加失败 原因为:win10系统强制每个驱动都需要为其添加签名,不添加签名者无法安装. 解决方法: 取消win10的…...

奔腾G7400怎么样 相当于什么水平

奔腾G7400采用14nm工艺&#xff0c;2核4线程&#xff0c;内存支持DDR4-3200&#xff0c;3.7GHz频率和6MB的缓存核显升级为Xe架构UHD 710。奔腾G7400怎么样这些点很得要 http://www.adiannao.cn/dy...

WLAN安全问题详解

今天继续给大家讲解WLAN安全相关内容&#xff0c;本文主要内容是无线局域网有哪些安全问题&#xff0c;可以采取哪些方式进行安全增强以及华为设备如何进行安全检测与反制。 一、WLAN安全风险 由于WLAN处于无线通信介质中&#xff0c;因此信息安全问题非常突出&#xff0c;大…...

我的减肥记录

2021年12月,在项目上线之后,我离职了 裸辞,33,android开发 困扰我已久的肥胖问题不能再耽搁了 看着体重快变化率要以指数级增长时,我辞职了 计划用过年在内的三个月时间,报个封闭式减肥训练营减肥,出营刚好金三银四 此时体重210斤 这个决定并不是突然做出的,也不是很仓促,而是…...

c# 生成文字图片和合并图片的示例

生成文字图片&#xff1a; /// <summary>/// 生成文字图片/// </summary>/// <param name"text"></param>/// <param name"isBold"></param>/// <param name"fontSize"></param>public Image …...

2014年回忆录(8年前)

一眨眼已经2022年了&#xff0c;8年前&#xff08;2014年&#xff09;我还在上大三&#xff0c;这一年真的很重要&#xff0c;我本来能发表一篇中文核心期刊&#xff0c;已经到了交钱录用阶段了&#xff0c;但是我咨询老师&#xff0c;他说这个很垃圾&#xff0c;于是我放弃了。…...

滚珠开关和震动开关的区别

滚珠震动开关由于有着灵便且灵巧的促发性&#xff0c; 变成很多电子设备中必不可少的电子元器件。以电气设备权威专家技术专业角度来剖析&#xff0c; 還是分成弹黄开关与滚珠开关两类看来。两类开关常有2个较为关键的指标值特点&#xff0c;灵敏度和专一性。 弹黄开关的灵敏度…...

Win7+修改管理员账户Administrator名字的方法

修改Administrator名字 第一步&#xff1a;【WinR】输入【gpedit.msc】 第二步&#xff1a;【按图依次打开】->【双击打开】->【重命名系统管理员账户】 第三步&#xff1a;【改成自己喜欢的名字】 查看效果&#xff1a;【用户文件夹】不再是【Administrator】了 但是【…...

网页登录共享文件服务器方案,文件共享方法、系统、浏览器及服务器技术方案...

【技术实现步骤摘要】本专利技术涉及互联网&#xff0c;尤其涉及一种文件共享方法、系统、浏览器及服务器。技术介绍目前&#xff0c;浏览器在实现网页分享时&#xff0c;通常采用的做法是:先打开网页&#xff0c;然后&#xff0c;在用户登录帐号后&#xff0c;再根据用户请求将…...

虹科电子高速数字化仪解决方案

虹科电子高速数字化仪解决方案主要用于电子信号的获取、产生和分析。 虹科提供采样率每秒百万次至十亿次&#xff0c;8/12/14/16位模拟分辨率的高速数字化仪、高精度数字化仪和任意波形发生器&#xff0c;共计超过400种产品。符合目前最常用的行业标准&#xff0c;包含PCIe&am…...

Mime类型整理(video,audio,image)

Mime audio/video/image .aif audio/aiff .aif audio/x-aiff .aifc audio/aiff .aifc audio/x-aiff .aiff audio/aiff .aiff audio/x-aiff .asf application/vnd.ms-asf .asf video/x-ms-asf .asm text/x-asm .asx application/x-mplayer2 .asx video/x...

C#基础教程(十三)消息队列——MSMQ

Net使用消息队列&#xff0c;借助windows组件来存储要完成的一系列任务&#xff0c;不用程序使用同一个队列&#xff0c;方便不同程序之间的数据共享和协作。 队列分事务性队列和非事务性队列&#xff0c;默认创建的是非事务性队列。那么什么是事务性队列呢?事务性队列将消息…...

AutoCAD 2000-14的序列号大全

AutoCAD 2014的序列号&#xff1a;666-69696969 密钥&#xff1a;001F1 AutoCAD 2012的序列号&#xff1a;666-69696969 密钥&#xff1a;001D1 AutoCAD 2011的序列号&#xff1a;356-72378422 密钥&#xff1a;001C1 AutoCAD 2010的序列号&#xff1a;356-72378422 密钥&am…...

小米路由pro php,6月30日:小米路由器PRO(R3P)适配OPENWRT,使用原生MT76开源驱动!

Sun Jun 30 14:55:31 2019 daemon.notice hostapd: wlan1: interface state UNINITIALIZED->COUNTRY_UPDATESun Jun 30 14:55:31 2019 daemon.notice hostapd: wlan1: interface state COUNTRY_UPDATE->HT_SCANSun Jun 30 14:55:33 2019 daemon.notice hostapd: wlan1:...

智能垃圾桶(九)——震动传感器(树莓派pico实现)

文章目录 一、模块展示二、模块说明2.1 使用说明三、代码展示四、效果展示4.1 实物展示4.2 代码效果展示一、模块展示 二、模块说明 此传感器有3个引脚,其中VCC需要接3.3-5V的电压,中间引脚接地,DO引脚是信号输出引脚,我们通过其进行倾斜感应。如上图所示,此传感器自带电…...

分享一款绘制时序图的实用小工具

转自 | 果果小师弟今天分享一款实用小工具&#xff1a;WaveDrom&#xff0c;它是一个免费开源的在线数字时序图渲染引擎。它可以使用JavaScript, HTML5和SVG来将时序图的WaveJSON描述转成SVG矢量图形&#xff0c;从而进行显示。WaveDrom可以嵌入到任何网页中。WaveDrom编辑器可…...

matlab精确重心法选址,重心法选址问题资料.ppt

重心法选址问题资料基于重心法的中转站选址问题 作者&#xff1a;陈传营 -*- 某企业有2个生产厂(P1&#xff0c;P2)服务于三个目标市场(M1&#xff0c;M2&#xff0c;M3)&#xff0c;地理坐标如图所示。各节点的运输总量及运输费率如表所示。 (1)如果要修建一个中转仓库&#x…...

按网络管理模式 计算机网络可分为,计算机网络应用 按网络管理模式分类

计算机网络应用按网络管理模式分类在计算机网络中包括许多不同的节点在协同工作&#xff0c;其中有作为服务器工作的、有作为客户机服从服务器管理而工作的、也有不受彼此制约共同工作的。因此&#xff0c;按照网络管理的模式可以将其分为服务器/客户机(Server/Client)网络和对…...

快速减肥的5个方法

快速减肥的5个方法 Five ways of losing weight quickly Five ways of losing weight quickly快速减肥的5个方法Do you want to lose weight? One of the easiest ways to lose weight is to alter small parts of your life to become healthier. 你想减肥吗&#xff1f;最简…...

Allegro如何打印光绘层操作指导Plot模式

Allegro如何打印光绘层操作指导Plot模式 Allegro支持把视图打印成pdf格式的文件,下面介绍用plot模式打印,具体操作如下 打开光绘设置 确保光绘设置都是正确的 选择file-plot setup 出现打印设置的参数,常规默认即可,如果需要打印黑白的,选择Black and white 选择ok …...

Ps安装教程及笔记

Photoshop 安装ps 双击Set-up.exe文件 选择继续 等待安装 安装完成 认识Photoshop photoshop软件是Adobe公司旗下最为出名的图像处理软件之一&#xff0c;可跨平台操作使用。PS的专长用于图像处理&#xff0c;而不是图形创作。图像处理是对已有的位图图像进行编辑加工处理以…...

xilinx FPGA各系列的区别

官网...

IT行业道德伦理 介绍

IT行业飞速发展&#xff0c; 已是当下最热门的行业之一。IT从业者多如繁星&#xff0c;他们应该遵循怎样的行业道德规范呢&#xff1f;我将在此为大家作简单介绍。 一、美国计算机伦理协会制定的“计算机伦理十戒”    • 你不应该用计算机去伤害他人    • 你不应该去…...

【FLY】Android(12)源码目录结构

|-- art // Android RunTime&#xff0c;一种App运行模式&#xff0c;区别与传统的Dalvik虚拟机&#xff0c;旨在提高Android系统的流畅性|-- adbconnection // adb连接相关|-- benchmark // 测试程序基准|-- build // 编译文件&#xff0c;art编译格式为apex|-- cmdline // 命…...

PS制作易拉宝方法

一、前期准备 1、画布尺寸设置 直接新建或者调整别人的画布。调整别人的画布的时候选择上方工具栏 图像 —> 画布大小&#xff0c;然后选择裁剪方式&#xff0c;向上裁剪向下裁剪都可以 2、网格线和参考线准备好 1&#xff09;网格线显示 Ctrl &#xff0c;再次按下Ctrl …...

电脑卸载了bandzip,但是在文件的打开方式里面还是有bandzip,注册表里又搜不到相关文件,如何解决?

原因&#xff1a; 没有卸载干净&#xff0c;找到注册表把卸载残留删除&#xff08;才开始我是在注册表里面直接搜索bandzip&#xff0c;但是搜不出来&#xff0c;只好大致个个找了一下&#xff09; 解决办法&#xff1a; 1.按住电脑winr打开运行对话框&#xff0c;输入reged…...

计算机一寸照编辑教程,Photoshop教您快速的制作标准一寸证件照教程

今天刚学会的&#xff0c;把制作过程分享给大家&#xff0c;对急需证件照的朋友&#xff0c;只要有一部相机&#xff0c;有电脑安装了PS软件&#xff0c;就可很快自己完成一寸照片的制作。首先将相机卡里的照片存放在电脑硬盘里&#xff1a;(PS群①:133051614 手绘画画1群:8831…...

ARP断网欺骗攻击利用工具

ARP&#xff08;Address Resolution Protocol&#xff09;即地址解析协议&#xff0c;是根据IP地址 获取物理地址&#xff08;MAC地址&#xff09;的TCP/IP协议。主要原理是主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机&#xff0c;并接收返回消息&…...

Python 中的json模块dumps参数详解

1.什么是JSON 维基百科中的定义: JSON&#xff08;JavaScript Object Notation&#xff0c;JavaScript对象表示法&#xff09;是一种由道格拉斯克罗克福特构想和设计、轻量级的资料交换语言&#xff0c;该语言以易于让人阅读的文字为基础&#xff0c;用来传输由属性值或者序列…...

python-request库基本应用

获取百度链接 现在python中添加request库&#xff0c;之后输入以下代码 import requests ainput("请输入需要搜索的内容&#xff1a;") kw {wd: a} response requests.get("http://www.baidu.com/s?", paramskw) print (response.url) 结果如下&…...

Android 下拉刷新和上拉加载

有一个比较好用的这个自定义view&#xff0c;方便以后直接使用&#xff0c;我记得是在GitHub上down下来的&#xff0c;我找不到地址了&#xff0c;所以直接粘贴&#xff0c;原作者发现告诉我地址&#xff0c;我注明 package com.example.orion.htmltext1.View;import android.v…...

图解悲观锁和乐观锁

这篇文章讲什么 这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁&#xff0c;什么是乐观锁。不同于其他文章&#xff0c;本文会配上相应的图解让大家更容易理解。通过该文&#xff0c;你会学习到如下的知识 什么是悲观锁&am…...

json的dump和dumps的区别

json的dump和dumps的区别 dumps是将dict转化成str格式&#xff0c;loads是将str转化成dict格式。dump和load也是类似的功能&#xff0c;只是与文件操作结合起来了。In [1]: import jsonIn [2]: a {name: wang, age: 29}In [3]: b json.dumps(a)In [4]: print b, type(b) {&qu…...

LDAP协议以及SPN扫描

文章目录LDAP协议利用LDAP进行信息收集SPN扫描SPN扫描流程LDAP协议 LDAP采用C/S架构的轻量级目录访问协议。AD是活动目录&#xff0c;LDAP则是访问活动目录的协议。其他的不用知道太多 利用LDAP进行信息收集 条件&#xff1a;能访问DC的389端口&#xff0c;且已知一个域内账…...

VPC详解

VPC(virtual PortChannel&#xff0c;虚拟链路聚合) VPC技术允许将连接到两个Nexus系列交换机的物理链路视作一条逻辑端口聚合链路&#xff0c;再连接到其他设备。其他设备包括&#xff1a;Nexus 2000 系列的 Fabric Extender&#xff08;后文暂且翻译为结构扩展器&#xff09;…...

android 5 .0下拉回弹,自定义CoordinatorLayout.Behavior 实现下拉回弹

先看效果123.gifpackage com.tospur.exmind.testrecycerviewwithtopandbottomrefresh.refresh;import android.content.Context;import android.graphics.Rect;import android.support.design.widget.CoordinatorLayout;import android.support.v4.view.ViewCompat;import andr…...

案例教程:一步步教你ps制作二寸照片

下面是ps制作二寸照片具体操作步骤&#xff1a; 1.在photoshop教程中打开需要人像&#xff0c;因为大小尺寸不符合规定&#xff0c;所以用裁剪工具进行裁剪。 在工具箱中找到裁剪工具&#xff0c;或者按下C键&#xff0c;然后在上面的属性栏进行如下设置&#xff1a;按照二寸照…...

PHP电镀镍光亮剂,电镀镍光亮剂代号集全

电镀镍光亮剂代号AA-BP(磺基丁二酸酯钠盐)镍低泡润湿剂; 200&#xff0d;1000mg/L; 10g/KAH.A-MP磺基丁二酸二乙酯钠盐镍低泡润湿剂; 20&#xff0d;200mg/L; 2 g/KAH.ALO3(炔醇基磺酸钠盐)镍走位剂、抗杂剂10&#xff0d;100mg/L, 12g/KAHALS(烯丙基磺酸钠)辅助光亮剂&#xf…...

电镀清洗水中提取黄金的方法?

‍吸金树脂&#xff0c;能够精度的回收提取水溶液里面的黄金&#xff0c;且交换量大。当金的品味在1毫克/升以下时&#xff0c;一升树脂少都可以吸附50-60克左右的黄金&#xff0c;当金的品味更&#xff0c;一升树脂可以提取上百克的黄金。黄金的纯度可以做到95%左右&#xff0…...

JS获取浏览器信息,JS获取操作系统,JS获取本机IP

获取浏览器信息&#xff0c;操作系统&#xff0c;本机IP init();//浏览器信息ip() // ip//获取操作系统类型function browserRedirect() {var sUserAgent navigator.userAgent;var isWin (navigator.platform "Win32") || (navigator.platform "Windows&quo…...

ip地址访问vue运行项目

ip地址访问vue运行项目 在未进行配置下&#xff0c;通过ip地址访问vue运行项目&#xff0c;是无法访问的。 vue项目想要通过ip地址访问运行项目&#xff0c;需执行以下操作。 1.查看本机IP地址。winR打开cmd命令&#xff0c;输入ipconfig/all查看本机ip地址。 2.修改package…...

vue 前端获取用户登录地址 ip 设备型号

在做一个获取用户登录ip时遇到了点问题&#xff0c;在后台获取时出现了获取到的ip地址是我服务器的地址&#xff08;原因未知&#xff0c;没找到&#xff09;&#xff0c;&#xff0c;就想着在前端直接获取到 然后发送给后端&#xff0c;这样就不会出现ip地址是服务器地址的尴尬…...

通过js获取内网ip和外网ip的简单方法 ...

转载自https://www.cnblogs.com/wjyz/p/10638584.html 1&#xff0c;获取内网ip function getIP(callback) {let recode {};let RTCPeerConnection window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;// 如果不存在则使用一个ifr…...

Java限制IP访问页面 实现方式

Java限制IP访问页面 实现方式 最近遇到一个需求&#xff0c;一个只能内网访问的网站&#xff0c;需要限制ip访问。就是网站内的部分文章只有白名单内的ip才能打开。因为是静态化的网站&#xff0c;所有文章都是静态html页面。所以首先想到的就是直接js获取访问者ip然后再判断是…...

java获取IP地址和MAC地址方式

java获取IP地址和MAC地址方式 前端和后台都可以获取 ip获取方式比较简单&#xff0c;就不做分析了&#xff0c;主要说mac的获取 前端获取的方式与局限性&#xff1a;尝试好几种方式&#xff0c;这种是最易实现、最简单的方式&#xff0c;确实能获取该浏览器客户端的mac地址 局…...

实现win7与vmware linux共享

实现win7与vmware linux共享&#xff0c;常采用SMB服务。 采用SMB服务时&#xff0c;有两种实现方法。 1、在LINUX中设置共享&#xff0c;WIN7中在运行里输入linux的IP地址进行访问 2、在WIN7里设置共享&#xff0c;在LINUX中挂载WIN7共享目录 通常采用第一种方法&#xff…...

关于win7下的如何禁止IP更改

听说大家都会改IP了,自己改完偷偷的还不告诉别人 人家运维一个IP地址冲突搞了半天,组策略的设置对win7管理员无效,就是算不是管理员好像还能什么的一件启动啥的 为了防止IP被(轻易的更改) 保护广大运维脆弱的心脏 我们不得不对注册表下手了 HKEY_LOCAL_MACHINE\SYSTEM\Curre…...

memcache安装和下载(win7)及登陆

一、Memcached和Memcache的区别&#xff1a; 网上关于Memcached和Memcache的区别的理解众说纷纭&#xff0c;我个人的理解是&#xff1a; Memcached是一个内存缓存系统&#xff0c;而Memcache是php的一个扩展&#xff0c;是php用于操作和管理Memcached的工具。如果安装了Memca…...

php 将ip地址转为int,java_使用Java代码将IP地址转换为int类型的方法,基本知识点 IP —— - phpStudy...

使用Java代码将IP地址转换为int类型的方法基本知识点IP ——> 整数&#xff1a;把IP地址转化为字节数组通过左移位(<整数 ——> IP&#xff1a;将整数值进行右移位操作(>>>)&#xff0c;右移24位&#xff0c;再进行与操作符(&)0xFF&#xff0c;得到的数字…...

JS获取客户端IP地址、MAC和主机名七种方法

JS获取客户端IP地址、MAC和主机名的7个方法汇总,JS本身是不支持获取IP地址等信息的。 今天在搞JS&#xff08;javascript&#xff09;获取客户端IP的小程序&#xff0c;上网搜了下&#xff0c;好多在现在的系统和浏览器中的都无效&#xff0c;很无奈&#xff0c;在Chrome、Fire…...

JS获取客户端IP地址 MAC和主机名的7个方法汇总

今天在搞JS&#xff08;javascript&#xff09;获取客户端IP的小程序&#xff0c;上网搜了下&#xff0c;好多在现在的系统和浏览器中的都无效&#xff0c;很无奈&#xff0c;在Chrome、FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本。下面的代码是我在所有windowsNT5.0及…...

js获取IP地址 mac地址 主机名称

S获取客户端IP地址、MAC和主机名的7个方法汇总, JS本身是不支持获取IP地址等信息的。今天在搞JS&#xff08;javascript&#xff09;获取客户端IP的小程序&#xff0c;上网搜了下&#xff0c;好多在现在的系统和浏览器中的都无效&#xff0c;很无奈&#xff0c;在Chrome、FireF…...

【设备识别】数据包中的IP、MAC地址匿名化

2022.6.27 流量分类需要进行ip和mac地址匿名化&#xff0c;因为这两项不可作为特征。 需要工具&#xff1a;kali系统的tcpreplay、wireshark的tshark&#xff08;kali下的tshark也可以&#xff09; 7.7更新&#xff0c;用Python更方便 参考&#xff1a;从实践中学习wireshark分…...

js获取用户ip

该方法来自于github&#xff0c;地址&#xff1a;https://github.com/diafygi/webrtc-ips //get the IP addresses associated with an account function getIPs(callback){var ip_dups {};//compatibility for firefox and chromevar RTCPeerConnection window.RTCPeerConne…...

js获取本机内网ip

<script type"text/javascript">// alert(returnCitySN.cip);function getIPs(callback) {var ip_dups {};//compatibility for firefox and chromevar RTCPeerConnection window.RTCPeerConnection|| window.mozRTCPeerConnection|| window.webkitRTCPeer...

JS获取客户端IP地址、MAC和主机名的7个方法汇总

这篇文章主要介绍了JS获取客户端IP地址、MAC和主机名的7个方法汇总,JS本身是不支持获取IP地址等信息的,本文通过其它方法实现,需要的朋友可以参考下 今天在搞JS&#xff08;javascript&#xff09;获取客户端IP的小程序&#xff0c;上网搜了下&#xff0c;好多在现在的系统和浏…...

【JavaEE】基于TCP的客户端服务器程序

✨哈喽&#xff0c;进来的小伙伴们&#xff0c;你们好耶&#xff01;✨ &#x1f6f0;️&#x1f6f0;️系列专栏:【JavaEE】 ✈️✈️本篇内容:基于TCP的客户端服务器程序。 &#x1f680;&#x1f680;代码存放仓库gitee&#xff1a;JavaEE初阶代码存放&#xff01; ⛵⛵作者…...

GROMACS 分子模拟使用

参考&#xff1a; http://www.mdtutorials.com/gmx/lysozyme/ https://jerkwin.github.io/ 流程图 GROMACS 分子模拟使用 1、下载pdb、及去掉水分子 wget http://www.rcsb.org/pdb/files/1AKI.pdbgrep -v HOH 1AKI.pdb>1AKI_clean.pdb2、pdb2gmx模块拓扑文件生成 gmx pd…...

权威解读:人工智能时代的分子模拟,这个工具不能少

权威解读&#xff1a;人工智能时代的分子模拟&#xff0c;这个工具不能少&#xff01; 分子模拟与人工智能平台MaXFlow的背后蕴藏着怎样的设计理念&#xff1f;它的具体应用场景是怎样的&#xff1f;究竟能帮助我们解决哪些问题&#xff1f;本期的访谈视频中&#xff0c;创腾科…...

计算机模拟分子设计,药物分子的计算机辅助理论模拟及分子设计

摘要&#xff1a;传统的药物分子设计方法不仅耗时耗力,而且有一定的盲目性,不能够快速有效地找到新的药物分子.随着计算机技术的不断发展,计算化学成为了快速发展的一门学科,计算机辅助药物分子设计方法逐渐成熟,成为了药物分子设计的主要手段之一.各种模拟方法不断应用到药物分…...

分子模拟计算机仿真,化工模拟:从分子计算到过程仿真

化工模拟&#xff1a;从分子计算到过程仿真出版时间&#xff1a;2017内容简介本书主要介绍分子模拟和过程仿真的基本原理&#xff0c;并通过典型实例讲解Gaussian和Aspen Plus软件在化工研究与设计中的应用。全书共分6章&#xff0c;第1章介绍计算机在化学化工中的应用及计算机…...

关于一个微信公众号:原子与分子模拟

书山有路勤为径&#xff0c;学海无涯苦作舟 ——题记 单纯的是为了记录自己学过的知识&#xff08;以后万一哪天要用&#xff0c;写在公众号上找起来方便&#xff09;&#xff0c;也为了分享知识与技能&#xff0c;愿与大家进行交流&#xff01;如果发的内容能够帮助到一些同学…...

mysql定期删除过期数据

1.首先先查看mysql是否开启定时任务开关SHOW VARIABLES LIKE event_scheduler;2.Value为ON则已打开&#xff0c;OFF则关闭如果是OFF&#xff0c;就先打开&#xff1a;SET GLOBAL event_scheduler ON;3.创建想要的定时器DELIMITER $$DROP EVENT IF EXISTS deleteData;CREATE EV…...

刷题记录:牛客NC20684wpy的请求 [图论思维题]

传送门:牛客 题目描述: “题目名称只是吸引你来做题的啦&#xff0c;其实和题目没什么卵关系&#xff1a;o(*&#xffe3;▽&#xffe3;*)o” —— 历史——殿堂 wpy移情别恋啦&#xff0c;他不喜欢spfa了&#xff0c;现在他喜欢使用dij&#xff0c;但是他又发现了一个新的问…...

游戏策划之路 李波

目录&#xff1a;第一章&#xff1a;游戏是什么.. 3前言.. 31.1、游戏的来源和发展.. 31.2、什么是电脑游戏.. 4第二章&#xff1a;游戏是如何被制作出来的.. 62.1、制作游戏的几个部门.. 62.2、游戏的制作过程.. 62.2.1 立项.. 62.2.2 大纲策划的进行.. 62.2.3 游戏的正式制作…...

玛雅操纵器箭头消失

1.有可能是箭头太大或台小看不见 按键盘上的加减号调整大小 2.有可能是离近了看不见 双击位移按键打开工具设置 把调整模式关了 3.可能默认设置没有打开操纵器显示 在窗口页面打开显示工具栏 把操纵器的选项勾上...

Maya交互式创建多边形

官方文档...

[maya小技巧]maya怎么倒角

maya倒角的具体操作步骤如下&#xff1a; 1、首先建立一个多边形&#xff08;polygon&#xff09;模型&#xff0c;以立方体&#xff08;cube&#xff09;为例。可以在工具栏上直接点击立方体创建&#xff0c;也可以在“创建”下拉菜单下创建多边形。 2、点击模型&#xff0c;…...

(学习日志)MAYA基础设置

一.基本界面操控 这是MAYA进入的初始界面&#xff0c;这里演示的版本为MAYA 2020&#xff0c;MAYA 2020 新添了许多之前版本没有的功能&#xff0c;具体功能可见绿色的功能选项。 这是MAYA界面中最左侧的控制栏&#xff0c;从上至下分别是控制光标快捷键&#xff08;Q&#x…...

电脑不用,用电脑伤身,不用伤心

1,色斑 常期对着电脑,有了色斑一点也不奇怪,区别只在于多与少而已,一般来讲,斑点多在眼睛四周,呈圈状,颧骨附近是最多的,也是最容易长的.2,粗毛孔电脑辐射对于面部的另一做用,便是你的毛孔了,常用电脑的人,一般来讲,毛孔都比较粗,主要由鼻梁二侧向脸部扩张.而毛孔越粗,里面的黑…...

计算机综合症怎么治,小窍门防治电脑综合征

“电脑综合征”是随着现代电脑网络科技普及之后出现的又一个新兴医学名词。由于长时间操作电脑&#xff0c;许多人都缺少必要的运动和休息&#xff0c;不仅对身体健康造成了严重的损害&#xff0c;也给心理健康带来了不少负面的影响。1.“鼠标手”——在医学上又被称为“腕管综…...

【Python语言基础】——Python 集合

Python语言基础——Python 教程 文章目录 Python语言基础——Python 教程一、Python 集合一、Python 集合 集合(Set) 集合是无序和无索引的集合。在 Python 中,集合用花括号编写。 实例 创建集合: thisset = {“apple”, “banana”, “cherry”} print(thisset) 注释:集…...

经常玩电脑正确的坐姿_告诉你电脑族的最佳坐姿_养生人群_养生之道网

干眼症&#xff1a;长时间盯着屏幕眼睛干涩现在&#xff0c;小微的眼睛常常发干发涩&#xff0c;视力也直线下降。医生说&#xff0c;可能是小微看电脑时注意力过于集中&#xff0c;眨眼次数降低&#xff0c;最终引起血管神经调节紊乱&#xff0c;结膜充血。上班又在空调环境下…...

计算机成瘾综合症的表现有,4个心理表现表明你犯了网瘾综合症

原标题&#xff1a;4个心理表现表明你犯了网瘾综合症计算机和网络高度普及&#xff0c;伴随而生的就是学生网瘾综合症的发生。据心理学家研究发现&#xff0c;网络环境下学生“网瘾”容易产生的心理问题主要有以下方面&#xff1a;1、认知能力弱化。人的认知实际上就是人对客观…...

计算机综合症怎么治,电脑综合症的治疗方法有哪些?

眼保健操(1)操作时保证正确坐姿&#xff0c;尽可能保持自然的端坐位&#xff0c;将后背坐直&#xff0c;并保持颈部的挺直。两肩自然下垂&#xff0c;上臂贴近身体&#xff0c;手肘弯曲成90度&#xff0c;操作键盘或鼠标&#xff0c;应使手腕保持水平。电脑的摆放高度要适度&am…...

计算机综合症怎么治,如何防治电脑综合症

如何防治电脑综合症如何预防电脑综合症还要有意识地多选用保护眼睛的食物&#xff0c;防止近视或其它眼部疾病&#xff1b;再次&#xff0c;定期进行体格检查和自我心理测定&#xff0c;一旦发现生理、心理上的有关症状&#xff0c;可在一段时间内适当调整工作&#xff0c;使症…...

计算机综合症怎么治,如何防治电脑综合征?

在快节奏、多压力、强竞争的现代工作环境中&#xff0c;尤其是那些需长期面对电脑才能开展工作的人员来讲&#xff0c;由于日复一日面对电脑&#xff0c;从早到晚伏案工作&#xff0c;又加上不良姿势&#xff0c;重复单调划一的动作&#xff0c;时间一长&#xff0c;难免会时常…...

学计算机颈椎,长期玩电脑颈椎病

长期玩电脑颈椎病现在的上班族工作起来坐在电脑前就是一整天&#xff0c;长期保持一个姿势使脖子承受的压力特别大&#xff0c;时间久了就会得颈椎病。得了颈椎病经常会感到头晕、恶心、四肢乏力&#xff0c;给生活和工作带来不便。那么长期玩电脑颈椎病怎么办?下面我们将做具…...

用计算机的坏处反方,电脑的坏处辩论会

电脑的坏处辩论会发布时间&#xff1a;2019-07-04现在几乎每家每户都有电脑&#xff0c;在准备辩论赛辩词的你需要一些电脑的坏处材料吗?下面是小编搜集整理的电脑的坏处辩论会&#xff0c;欢迎阅读。更多资讯请继续关注辩论赛栏目!电脑的坏处:1、 影响视力&#xff0c;白天上…...

学计算机干眼,​长期使用电脑 小心干眼症

​长期使用电脑 小心干眼症随着现代社会科技越来越先进&#xff0c;网络的运用也会比较广泛了。因此很多朋友不管是在工作时间还是在闲余时间都会应对电脑&#xff0c;他们有用来做工作的&#xff0c;更多的却是用来打游戏聊天看视频等等。可只要应对电脑的时间过长就会感到眼睛…...

电脑长期,经常看电脑的危害有哪些 这几个危害不得不防

随着社会的发展&#xff0c;很多的朋友们都非常的喜欢玩电子产品&#xff0c;电脑&#xff0c;手机&#xff0c;平板等等&#xff0c;要知道长期看电脑对身体也是有危害的&#xff0c;经常看电脑的危害有哪些呢&#xff1f;下面就和小编一起去了解一下吧。一、伤眼睛长期用电脑…...

常用电脑的人要警惕腕管综合征

腕管综合征的典型表现是&#xff1a;腕部、手掌面、拇指、食指、中指出现麻、痛&#xff0c;或者伴有手动作不灵活、无力等&#xff1b;疼痛症状夜间或清晨加重&#xff0c;可放射到肘、肩部&#xff0c;白天活动及甩手后减轻&#xff1b;上述部位的感觉减弱或消失&#xff1b;…...

魔术新手综合症

魔术新手综合症&#xff0c;Sorcerers Apprentice Syndrome&#xff08;简称SAS&#xff09;。SAS是一个糟糕的网络协议瑕疵&#xff0c;在原先的TFTP&#xff08;RFC 783&#xff09;版本里发现。会被如此命名是因为SAS的细节很像奇幻故事魔术士的学徒中学徒所引发的灾难&…...

如何对抗放假综合症

​ 春节7天假&#xff0c;估计初六又有很多人陷入不想上班的困境&#xff0c;似乎我这两年已经没有了这种困扰&#xff0c;下面来讲讲当年上学时候的我是怎样的。 当我还是上学的时候&#xff0c;每次放寒暑假的时候都特别兴奋&#xff0c;上了一个学期的课&#xff0c;终于要…...

记一次肘管综合征的就诊

征状手腕和手肘的不适最早始于 2022 年春节前后&#xff0c;距今约四个月。起初&#xff0c;手腕扭转不开&#xff0c;用力拧毛巾的时候&#xff0c;左手手腕会发疼&#xff0c;使不上力。以为是骨头的问题&#xff0c;买了几副膏药贴着三月份&#xff0c;处理搬家的事情&#…...

专家教你避免办公电脑综合症

来源&#xff1a;新浪科技 现今&#xff0c;几乎所有的上班族们在工作中都要用到电脑。在整天呆在电脑前工作之后&#xff0c;很多人在晚上会感觉不是这儿疼就是那儿痛&#xff0c;或引发一些疾病。关于如何合理地统筹安排电脑前的工作&#xff0c;以避免健康出现问题&#xf…...

模拟器综合症

综述 1、模拟器综合症是指用户在使用模拟环境时带来的不舒服症状。 2、由视觉和身体感觉产生的冲突。 3、模拟器综合症包含以下因素&#xff1a; 。加速---最小化加速的速度和大小。 。控制角度---不要让用户失去控制权。 。模拟器使用时间---允许和鼓励用户休息。 。高…...

电脑洁癖综合症

爱用电脑的人来看看&#xff0c;如果你有以下特征&#xff0c;那么你就患上“电脑洁癖综合征”啰。 症状一&#xff1a;有“在桌面上点右键&#xff0c;刷新&#xff1b;点右键&#xff0c;刷新&#xff1b;......”的习惯。 症状二&#xff1a;如果看到回收站有未清空的状态…...

电脑综合症

去年12月份去上海出差,聊天时聊到玩电脑,同事的老婆跟我说起我们同事,那家伙有时蹲在马桶上蹲一整个小时,先前不知道在做什么搞那么久,后来听到里面有声音,电脑游戏的撕杀声不断从卫生间里传出,那家伙在里面玩电脑,还是蹲在马桶上,真服了他!他不是人,是神!哈,有时我也这样!...

计算机综合症怎么治,哪些运动可以用来治疗“电脑综合症”

概述随着网络的普及&#xff0c;我们越来越多的接触电脑。不论是工作&#xff0c;上网还是玩游戏&#xff0c;久了都有有时会感到头昏脑胀、四肢僵直、眼花、脖子酸等。还有的由于每天在电脑前不间断的工作&#xff0c;导致手腕上的神经患病&#xff0c;引发疼痛和水肿等多种疾…...

计算机专业联考335分,联考专业分、文化分达到多少能过本科线(附2019年美术高考分数线汇总...

原标题&#xff1a;联考专业分、文化分达到多少能过本科线(附2019年美术高考分数线汇总说明&#xff1a;2019年美术高考录取分数线含美术类各批次文化控制线、专业控制线&#xff0c;美术统考合格线。控制线指的是&#xff0c;您达到了某个批次的控制线&#xff0c;就有资格报考…...

2021年新高考八省联考江苏成绩查询,2021八省联考成绩公布时间:江苏三月初,广东二月下旬!(八省具体时间更新中…)...

选择科目测一测我能上哪些大学选择科目领取你的专属报告>选择省份关闭请选择科目确定v>目前&#xff0c;新高考“八省联考”正在进行&#xff0c;且已经到了最后一天。相信很多考生、家长都迫切地想知道自己省份的考试成绩什么时候出来&#xff0c;本文将各省的查分时间安…...

怎么查询2021高考成绩排名,2021新高考八省联考实力排名:怎么查联考成绩在全省排名?...

输入分数&#xff0c;查能上的大学选择科目测一测我能上哪些大学高考成绩分析报告选择科目领取你的专属报告 >选择省份关闭请选择科目确定v>新高考八省联考已经接近尾声了&#xff0c;此次考试对八个省份的考生来说&#xff0c;是高考前的一场重大模拟考试&#xff0c;也…...

2021高考成绩各科各题得分查询,八省联考预测分数线出炉,联考已透露2021高考各科命题趋势!...

原标题&#xff1a;八省联考预测分数线出炉&#xff0c;联考已透露2021高考各科命题趋势&#xff01;2021年新高考适应性考试顺利拉下帷幕&#xff0c;涉及全国331万考生&#xff0c;占全国考生的近三分之一&#xff0c;这场堪称“网红”级别的大考&#xff0c;直接被顶上热搜。…...

noip 第四场模拟赛 (2021NOIP多校联考1030-大连24)(四个半小时)遇见,记住,了解,熟悉

8:00~8:15 读题&#xff0c;怎么会有这么鬼畜的题&#xff0c;第一道数学期望&#xff0c;第二道图论&#xff0c;第三题dp&#xff0c;第四题图论&#xff0c;真心觉得没啥正解可写了&#xff0c;第一眼都没个思路&#xff0c;只能挨着打了。 8:15~9:30 T1 看了一会&#xff…...

cqyz oj |【三校联考试题】龙珠 | DP动态规划 | 滑动窗口优化

Description 你得到了一个龙珠雷达&#xff0c;它会告诉你龙珠出现的时间和地点。   龙珠雷达的画面是一条水平的数轴&#xff0c;每一个窗口时间&#xff0c;数轴的某些点上会出现同一种龙珠&#xff0c;每当你获得其中一颗龙珠&#xff0c;其它龙珠就会消失。下一个窗口时间…...

2021襄阳三中高考成绩查询,湖北省2021年3月七市州联考/八市联考,部分高中排名情况汇总!...

在今年三月份进行的湖北七市州联考中&#xff1a;物理组&#xff1a;参考总人数 71343 人&#xff0c;第一名704.5分&#xff0c;出自襄阳四中&#xff1b;历史组&#xff1a;参考总人数 73011 人&#xff0c;第一名677分&#xff0c;出自襄阳五中&#xff1b;具体各校排名情况…...

HTTP状态代码以及定义

在我们平常浏览网页时&#xff0c;也会发现一些文件不存在时显示为“404错误”&#xff0c;这就是常见的Http请求状态&#xff08;status&#xff09; Web服务器响应浏览器或其他客户程序的请求时&#xff0c;其应答一般由以下几个部分组成&#xff1a;一个状态行&#xff0c;…...

基于Springboot实现口腔牙诊所网站平台【源码+论文】

基于Springboot实现口腔牙诊所网站平台【源码论文】开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea M…...

SQLAlchemy查询不重复的数据

在SQLAlchemy中&#xff0c;如果你想查询不重复的数据&#xff0c;可以使用distinct()方法。以下是一个简单的示例&#xff1a; 首先&#xff0c;导入必要的库和对象&#xff1a; from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declar…...

Leetcode27—移除元素

27 移除元素 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…...

vue3 组件篇 Message

文章目录组件介绍组件使用组件代码参数说明关于vue3-dxui组件库组件介绍 Message组件用以消息提示&#xff0c;用户在前端完成某些交互时&#xff0c;在页面弹出的某种反馈。该组件一共有四种类型&#xff0c;info、success、warning、error。与一般的组件不同&#xff0c;该组…...

Linux宝塔面板搭建Discuz论坛, 并公网远程访问【内网穿透】

文章目录前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&…...

最长公共子序列 以及 输出公共最长子序列

最长公共子序列 以及 输出公共最长子序列题目描述 给两个字符串&#xff0c;输出最长公共子序列 例如 ABCBDAB BDCABA 那么输出结果就是 BCBC 思路&#xff1a; f[i][j] 表示 1-i 和 1-j 中对应字符串A 和 字符串B的角标中 已经算出的最长子序列长度 b[i][j] 表示 字符串A和B…...

【vue2】使用elementUI进行表单验证实操(附源码)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue使用elementUI进行表单验证实操&#xff08;附源码&#xff09; 【前言】我们在构建一…...

药品批准文号查询|药融云-中国批准文号系统在线查询

药品批文是国家食品药品监督管理局&#xff08;NMPA&#xff09;对药品的审评和批准的证明文件&#xff0c;是药品合法上市的必要条件。药品批文包括国产药品批准文号和进口药品注册证号&#xff0c;每个批文都有唯一的编号和有效期限。那么&#xff0c;怎样查询中国药品批文呢…...

谁是猪头王

来自推理学院APP 规则&#xff1a; 示例&#xff1a; 每张牌上有猪头数量&#xff0c;红色虚线框里面有总数。 现在4位玩家数字公布&#xff0c;首先出2的先选一行清空并扣分&#xff0c;假如他选第2行1个猪头&#xff0c;则扣1分&#xff0c;局面变成&#xff1a; 5 …...

Mac配置jdk环境

打开终端获取java的安装路径在终端输入&#xff1a;/usr/libexec/java_home -V待会使用中间java se8的地址在配置文件中完善路径打开配置文件open -e .bash_profile 将以下模版粘贴到bash profile中去&#xff0c;并将我的jdk地址替换为上述java se8后面的地址后保存#JAVAJAVA_…...

【算法系列之回溯算法】leetcode46.全排列

90.子集II 力扣题目链接 给你一个整数数组 nums &#xff0c;其中可能包含重复元素&#xff0c;请你返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。返回的解集中&#xff0c;子集可以按 任意顺序 排列。 输入&#xff1a;nums [1,2,…...

Docker基础篇——最全讲解

文章目录一、CentOS安装docker二、启动帮助类命令三、镜像命令1.名词概念2.常用命令2.1 镜像命令2.2 容器命令2.2.1&#xff1a;常用参数2.2.2&#xff1a;常用指令2.3 安装单机mysql、redis一、CentOS安装docker docker官网 1&#xff09;yum安装gcc相关&#xff1a; yum -y…...

若依框架----源码分析(@RateLimiter)

若依作为最近非常火的脚手架&#xff0c;分析它的源码&#xff0c;不仅可以更好的使用它&#xff0c;在出错时及时定位&#xff0c;也可以在需要个性化功能时轻车熟路的修改它以满足我们自己的需求&#xff0c;同时也可以学习人家解决问题的思路&#xff0c;提升自己的技术水平…...

Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/129687210 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…...

java基础:JAVA中重写equals()方法的同时要重写hashcode()方法

一、public boolean equals(Object obj) 和 hashcode()方法是object对象中的方法。 二、equals与hashcode间的关系是这样的&#xff1a; 1、如果两个对象相同&#xff08;即用equals比较返回true&#xff09;&#xff0c;那么它们的hashCode值一定要相同&#xff1b; 2、如果…...

你掌握了吗?在PCB设计中,又快又准地放置元件

在印刷电路板设计中&#xff0c;设置电路板轮廓后&#xff0c;将零件(占地面积)调用到工作区。然后将零件重新放置到正确的位置&#xff0c;并在完成后进行接线。 组件放置是这项工作的第一步&#xff0c;对于之后的平滑布线工作是非常重要的工作。如果在接线工作期间模块不足…...

Uploadifive 批量文件上传

Uploadifive 批量文件上传_uploadifive 多个上传按钮_asing1elife的博客-CSDN博客 属性auto - Boolean - true当文件被添加到上传队列时&#xff0c;会自动上传buttonClass - String为上传按钮指定一个类选择器buttonText - String - SELECT FILES定义显示在按钮上的文本内容up…...

多美商城实战-01-引入REST Framework

1. 引入Django REST framework 在本章中,我们要大家介绍为什么学习Django REST framework,它能帮助我们做哪些事情。 课程思路: 我们从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实 现一个REST API为例,明确后端开发REST API要做…...

数字温湿度传感器DHT11模块资料

模块实例https://blog.csdn.net/qq_38393591/article/details/111269994 1.1产品概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术&#xff0c;确保产品具有极高的可靠性与卓越的长期稳定性。传感器…...

2023面试题汇总二

一、CSS面试题 1. 清除浮动的方式有哪些&#xff1f; 为什么要清除浮动&#xff1f;因为浮动的盒子脱离标准流&#xff0c;如果父盒子没有设置高度的话&#xff0c;下面的盒子就会撑上来。 额外标签法(在最后一个浮动标签后&#xff0c;新加一个标签&#xff0c;给其设置cle…...

孩子用什么样的灯对眼睛没有伤害呢?2023这样的灯光更护眼

现代社会高速发展&#xff0c;越来越多的人开始重视身体健康&#xff0c;尤其是很多家长&#xff0c;非常关心孩子的眼睛健康问题。现如今我们的青少年儿童近视率常年高居世界第一&#xff0c;情况不容乐观&#xff0c;这个与习惯、学习、照明环境等众多因素有关。 其中照明环境…...

GitHub的Repository权限将public转为private(转)

转自: GitHub的Repository权限将public转为private 2019年1月7日&#xff0c;GitHub CEO Nat Friedman 于官方博客公开发文&#xff0c;称“New year, new GitHub”&#xff0c;宣布从此将免费无限地为普通用户提供私有仓库服务。 因此&#xff0c;我们可以将之前创建的公开仓库…...

《钢琴调律原理及应用》 笔记

【第一章 绪论】 美国人威廉布雷德怀特于 1917 年发表了世界上第一部关于钢琴调律理论与技术的著作&#xff0c;书名为《钢琴调律与相关技术》 福岛琢郎于1950年发表一部名为《钢琴的构造调律修理》的专著 80年代初&#xff0c;在沈阳音院任教的张琨先生写出了我国第一部有关…...

Java OFD文件转PDF、图片、SVG、TXT、HTML

OFDRW 提供了将 OFD 文档导出为其他格式文档的能力&#xff0c;如导出为 PDF、图片、SVG、TXT、HTML 等。 OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口&#xff0c;使用统一的 API 实现 OFD 文档导出功能。 之前整合的 2.0.0 以前版本&#xff0c;可参考 OFD 文件转换…...

WuThreat身份安全云-TVD每日漏洞情报-2023-03-23

漏洞名称:Windows Installer 特权提升漏洞 漏洞级别:高危 漏洞编号:CVE-2023-21800,CNNVD-202302-1117 相关涉及:Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD…...

gan实战(DCGAN、)

一、DCGAN 1.1 参数 &#xff08;1&#xff09;输入&#xff1a;会被放缩到6464 &#xff08;2&#xff09;输出&#xff1a;6464 &#xff08;3&#xff09;数据集&#xff1a; 1.2 实现 import glob import torch from PIL import Image from torch import nn from torch.u…...

视频编辑场景下的文字模版技术方案

作者 | Lok’tar ogar 导读 本文根据度咔剪辑APP文字模版开发实践&#xff0c;分享视频编辑场景下&#xff0c;静态文字模版渲染能力的技术方案。作为富文本渲染方案的父集&#xff0c;此技术方案可以扩展到其他需要复杂富文本渲染的场景下。 全文6745字&#xff0c;预计阅读时…...

移动应用架构设计:如何转变开发流程

移动应用架构设计&#xff1a;如何转变开发流程 2023 年掌握移动应用程序架构的指南&#xff08;附案例研究&#xff09; 如果他们要解决这个问题&#xff0c;开发人员需要了解移动架构设计的最佳实践&#xff0c;使他们能够构建用户喜欢的优化应用程序。其中一些做法包括使用…...

【服务器数据恢复】误操作导致NetApp存储卷丢失的数据恢复案例

服务器数据恢复环境&#xff1a; 某公司的一台NetApp某型号存储&#xff1b; 几十块磁盘组建两组存储池&#xff0c;两组存储池互为镜像&#xff1b; 存储池划分卷并映射到ESXI作为数据存储使用&#xff0c;卷内有数百台虚拟机。 服务器故障&#xff1a; 管理员操作失误导致卷…...

QML- QML视觉元素类型

QML视觉元素类型一、概述一、图像类型三、共享视觉属性1. 不透明度和可见性2. 转换&#xff08;转置&#xff09;一、概述 对于最基本的视觉效果&#xff0c;Qt Quick提供了一个 Rectangle 类型来绘制矩形。这些矩形可以用颜色或垂直渐变来着色。 Rectangle 还可以在矩形上绘制…...

nodejs+vue+elementui水果购物商城vue

水果购物商城系统的主要使用者分为管理员&#xff1b;个人中心、用户管理、水果分类管理、水果信息管理、系统管理、订单管理&#xff1b;前台首页&#xff1b;首页、水果信息、个人中心、后台管理、购物车、人工服务&#xff1b;用户后台&#xff1b;首页、个人中心、水果信息…...

从NVIDIA GTC大会,看AI算力行业信号

从NVIDIA GTC 2023这场全球行业盛宴&#xff0c;我们可以解读出AI算力行业的哪些重要信号&#xff1f;一年一度的NVIDIA GTC如期而至汇聚了全球AI与元宇宙开发者的目光焦点&#xff0c;NVIDIA GTC 2023于美国当地时间3月20日如期而至。众所周知&#xff0c;作为全球一年一度的行…...

Docker 在未来应用场景的有哪些?

Docker是一种流行的容器化技术&#xff0c;可以将应用程序和其依赖项打包到一个可移植的容器中&#xff0c;使得应用程序可以在任何平台上运行。Docker的应用场景非常广泛&#xff0c;下面列举了一些常见的应用场景&#xff1a; 应用程序部署和管理&#xff1a;Docker可以使应…...

部署+使用集群的算力跑CPU密集型任务

我先在开头做一个总结&#xff0c;表达我最终要做的事情和最终环境是如何的&#xff0c;然后我会一步步说明我是如何搭建。 要做的事情 尝试如何使用多台机器的算力共同跑一个CPU密集型或者GPU密集型的任务。这里以CPU密集型为例子。 在多台机器搭建MPI环境&#xff0c;构建…...

MATLAB算法实战应用案例精讲-【智能优化算法】森林优化算法(FOA) (附MATLAB代码实现)

目录 前言 算法原理 算法思想 (一)树的初始化 (二)局部播种...

后端接口返回近万条数据,前端渲染缓慢,content Download 时间长的优化方案

前言 性能优化&#xff0c;是前端绕过不去的一道门槛&#xff0c;甚是重要。最近一年&#xff0c;也很少有机会在项目中进行前端性能优化&#xff0c;一直在忙于业务开发。 最近终于是来了机会&#xff0c;遇到了这样的场景&#xff0c;心里也甚是激动&#xff0c;写个随笔记…...

三天吃透MongoDB面试八股文

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…...

游戏服务器开发指南(一):设置合适的Socket选项

前言 上周写完系列序言&#xff0c;得到不少读者朋友的关注&#xff0c;这也给了我额外的动力。写东西就是这样&#xff0c;都希望获得更多的关注&#xff0c;如果写出来没什么人看&#xff0c;那就无异于闭门造车、自娱自乐。欢迎朋友们在文后留言&#xff0c;我也会根据大家…...

为什么电路板上的线路总是弯曲的?

不知道小伙伴有没有发现&#xff0c;电路板上的线路虽然密密麻麻&#xff0c;但线路总是弯曲延伸而不是直径到达&#xff0c;毕竟学过小学数学都知道&#xff1a;两点之间直线最短&#xff0c;所以为什么要花那么多线路来设计PCB板&#xff1f;难道不能直接设计成直线。小伙伴们…...

计算机网络(第十三弹) --- ARP 协议及子网掩码的相关概念

ARP 协议及子网掩码1 ARP 协议2 子网掩码1 ARP 协议 ARP 协议就是介于数据链路层和网络层之间的协议; 建立了主机 IP 协议和 MAC 地址的映射关系. 在网络通讯时, 源主机的应用程序知道目的主机的 IP 地址和端口号, 却不知道目的主机的硬件地址, 数据报首先是被网卡接收到再去处…...

Tlsr8258开发-小问题汇总

默认情况如果不指定时钟源&#xff0c;则使用外部晶振&#xff0c;并且默认为16M如果想要在一开始就调用读取flash的函数&#xff0c;一定要先cpu_wakeup_init()&#xff1b; delay_us(150)。我这里是通过读取flash中的值&#xff0c;然后来选择初始化BLE还是2.4G如果想要在BLE…...

python 基础系列篇:四、编写两个简单的小游戏(猜数字及2048)

python 基础系列篇&#xff1a;四、编写两个简单的小游戏&#xff08;猜数字及2048&#xff09;猜数字游戏游戏进程示例需求分析并逐步实现1、使用随机函数包 random2、记录用户输入3、提前做好的结果反馈4、判定A的实现5、判定B的范围6、判定B的判定内容7、判定B的实现8、用户…...

网络安全——网络层安全协议

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 引言 一.网络攻击与防御 1.常见的网络攻击 &#xff08;1&#xff09;窃听…...

8种特“坑”的 SQL 写法,性能降低100倍

给大家分享几个SQL常见的“坏毛病”及优化技巧。 SQL语句的执行顺序&#xff1a; 1、LIMIT 语句 分页查询是最常用的场景之一&#xff0c;但也通常也是最容易出问题的地方。比如对于下面简单的语句&#xff0c;一般 DBA 想到的办法是在 type、 name、 create_time 字段上加组…...

用c++手写一个带箭头的线

根据经纬度&#xff0c;和uv。算出开始点位和结束点位&#xff0c;并在结束点位画一个小箭头。根据需要调整0.2和0.8以及箭头的headSize 。 #include <iostream> #include <vector> #include <cmath> #include "matplotlibcpp.h" namespace plt …...

JVM-Java虚拟机(二)

执行引擎概述1.执行引擎是 Java 虚拟机核心的组成部分之一。2.JVM 的主要任务是负责装载字节码到其内部&#xff0c;但字节码并不能够直接运行在操作系统之上&#xff0c;因为字节码指令并非等价于本地机器指令&#xff0c;它内部包含的仅仅只是一些能够被 JVM 所识别的字节码指…...

Golang中的边界检查和边界检查消除(bounds check elimination)

边界检查大家都知道Golang是内存安全型语言&#xff0c;在根据索引获取数组/切片元素时&#xff0c;Golang runtime 会检查索引是否超出范围&#xff0c;如果索引超出了范围&#xff0c;程序就会 panic&#xff0c;这种机制叫做边界检查&#xff08;bounds check&#xff09;。…...

发现一个不错的golang框架,文档非常详细,自带代码生产dao工具,可以快速的进行项目开发,还有社区也是非常的活跃

目录前言1&#xff0c;关于goframe框架介绍2&#xff0c;创建Dao代码3&#xff0c;测试Dao的方法4&#xff0c;总结前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/129698017 未经博主允许不得转载。 博主CSDN地址是&#xff1a;https://blog.csdn…...

使用Python开启局域网传送数据(3):使用 simple_http_server 实现上传下载功能

&#x1f4a1;温馨提示&#xff1a;本文测试环境&#xff1a;windows11 64位、Python3.9。 摘要&#xff1a;本文将介绍在 Windows 系统中如何使用 Python 的第三方模块 simple_http_server 实现在局域网中传送数据&#xff0c;仅限于别人上传文件给自己的功能&#xff0c;不具…...

Flink 第1章 基础介绍和特性

一 Flink概念 1.1 Flink的概念 Flink是一个框架和分布式处理引擎&#xff0c;用于对无界和有解数据流进行状态计算。如下图所示&#xff1a; 1.2 Flink的应用场景 1.3 Flink的目标 1.高吞吐量 2.低延迟 3&#xff0c;结果的准确性和良好的容错性。 1.4 Flink与spark的区别…...

JavaScript查找数组内的元素的方法 filter() find includes findIndex lastIndexOf indexOf

需求&#xff1a;查找数组内元素6是否存在 let arr [1, 3, 6, 5, 7, 6]; 方法1、indexOf方法 let index1 arr.indexOf(6); console.log(index1);//2方法2、lastIndexOf方法 从右至左查找&#xff0c;找到返回索引&#xff0c;找不到返回-1 let index2 arr.lastIndexOf(6)…...

mybatis-plus的批量新增insertBatchSomeColumn

MyBatis-Plus 是基于 MyBatis 进行封装的一套优秀的持久层框架&#xff0c;它提供了丰富的便捷操作方法和强大的代码生成器&#xff0c;大大简化了 MyBatis 的使用。在 MyBatis-Plus 中&#xff0c;我们可以使用 insertBatchSomeColumn 方法来实现批量新增指定字段的操作。 myb…...

2023-第十四届蓝桥杯冲刺计划!

&#x1f4ac;前言 &#x1f4a1;本文以目录形式列举大纲,可根据题目点击跳转 &#x1f308;冲刺阶段目的&#xff1a;把握高频重点,结合基础算法和常考题型总结,用真题进行模拟练习 根据自己的能力熟练目前已掌握的算法&#xff0c;不会的还可以暴力 ⏳最后三个星期大家一起冲…...

通过Linux串口实现树莓派与电脑通信

目录 一 串口说明 二 USB—TTL模块 ● usb-ttl模块接口 三 串口通信常用的API 四 修改串口的配置文件 五 串口通信代码验证 ● 发送一个字符/字符串到串口 ● 树莓读取串口数据&#xff08;字符&#xff09; ● 代码拓展&#xff08;双方&#xff09; 一 串口…...

「解析」Linux使用Screen挂起线程

之前一直使用 nohup进行挂起&#xff0c;但是在进行训练的时候发现通过Pyhton脚本调用的时候虽然可以挂起&#xff0c;但是貌似没办法真正的执行命令&#xff0c;目前还不知道具体什么原因造成的&#xff0c;因此更加推荐 screen 进行挂起&#xff0c;并且 screen 还可以跨设备…...

【Unity 手写PBR】Build-in管线:实现直接光部分

写在前面 前期积累&#xff1a; GAMES101作业7提高-实现微表面模型你需要了解的知识 【技术美术图形部分】PBR直接光部分&#xff1a;Disney原则的BRDF和次表面散射模型 【技术美术图形部分】PBR全局光照&#xff1a;理论知识补充 算是对光照模型计算的查漏补缺吧&#xff…...

Java Druid,反射,反射封装DBUtil

零、 复习昨日SQL注入预处理语句String sql "select * from user where id ?"; PreparedStatement ps conn.preparedStatement(sql); ps.setInt(1,id); // ps.setDate(1,new java.sql.Date(user.getDate().getTime())) ps.executeQuery();DBUtil一、数据库连接池…...

5G-Advanced时代,移动终端将迎来哪些新特性?

去年6月&#xff0c;3GPP R17版本正式冻结&#xff0c;标志着5G第一阶段的技术研究基本完成。接下来&#xff0c;5G将迈入以R18、R19、R20为代表的第二阶段&#xff0c;开启后半段的征程。这个后半段&#xff0c;3GPP将其定义为5G-Advanced阶段。回顾过去几年的5G发展&#xff…...

设计模式:单例设计模式总结

单例模式的概念 保证一个类在内存中的对象唯一性&#xff08;单个实例设计模式&#xff09; 应用场景 单例模式一般用在对实例数量有严格要求的地方&#xff0c;比如数据池&#xff0c;线程池&#xff0c;缓存&#xff0c;session回话等等。数据库连接池的设计一般也是采用单…...