初学者 学好JAVA最关键几点

如何学好java 相信对于很多刚入门编程的同学来说,特别是在没有接触过其他编程语言的基础上而直接学习Java的同学来说,刚开始是比较困难的,特别是搭建环境、配置jdk以及安装开发工具等。对于一个新手小白来说,其实更多的时候,学习编写代码不是最难的,反而在搭建java的开发环境这一块频繁遇到各种各样的问题,很难解决。所以下面这篇文章,将给你一些很好的java学习建议以及在编程过程中遇到问题如何高效解决。 一:如何学好java 1、搭建java开发环境 学习java编程,第一件事就是搭建好java的开发环境,这样才.. 阅读详情
 

第一个是path 和 CLASSPATH的问题
第二个是package和import问题

第三个是public,protected,private,static,什么时候用,为什么要用,怎么用

第四个是制作jar文件

 

第一个,path 和 CLASSPATH的问题

什么是path

 是你的JDK的工作路径

例如 你的jdk安装在C:/jdk/ 此时的你的path(如果原来没有PATH)设置为 PATH ;C:/jdk/ bin

 什么是Classpath

Classpath是Java中的重要概念,它描述了Java虚拟机在运行一个Class时在哪些路径中加载要运行的类以及运行的类要用到的类。简单的说,当一个程序找不到他所需的其他类文件时,系统会自动到CLASSPATH环境变量所指明的路径中去查找第三方提供的类和用户定义的类,

 Classpath和Java包的关系

Java的包(Package)和classpath关系密切。包是以“.”分割的,SUN建议使用域名的逆向排列来区分不同的包,以避免冲突,如com.company.util。在一个包里的类在存储的时候需要存储在和包名相同的目录里,如上述com.company.util包中的Sample.class,要存储在com/company/util目录中。
Classpath有两种表达方式,一种是指向目录的classpath,如C:/work/classes,表示C:/work/classes目录是一个classpath条目;另一种方式是指向压缩文件的classpath,如C:/work/util.jar,表示C:/work/util.jar文件是一个classpath条目,任何一个包含Java类的zip格式的压缩文件都可以作为classpath的条目。
那么classpath和包到底是什么关系呢?简单的说,就是Java虚拟机在加载类的时候以这样一种方式查找具体的类文件:classpath+包存储的目录+具体的类文件。如classpath中有一个c:/work/classes条目,需要加载的类是com.company.util.Sample.class,那么在加载这个类的时候,虚拟机会查找c:/work/classes/com/company/util目录,如果Sample.class在这个目录中,虚拟机就可以找到,如果这个类不在这个目录中,同时也不在任何一个其它classpath中,那么虚拟机会抛出一个ClassNotFoundException。

Classpath的顺序和类版本冲突

Java虚拟机在加载类的时候查找classpath是有顺序的,如果在classpath中有多个条目都有同一个名称的类,那么在较前位置的类会被加载,后面的会被忽略。这种按照顺序的类加载可能会导致类的版本冲突。例如classpath=c:/servlet2.2/servlet.jar;c:/servlet2.3/servlet.jar,那么在实际应用的过程中,你使用的是servlet2.2,而不是servlet2.3。很多时候如果不注意这一点,可能会导致奇怪的异常。

命令行状态下的classpath设置

命令行状态下的classpath可以通过两种方式设置。
一种是直接设置环境变量,例如在windows环境下,我们使用set命令:
set classpath=c:/work/classes;c:/work/util.jar
另一种方式是在执行javac、java或者其它Java命令时直接指定classpath:
java -classpath c:/work/classes;c:/work/util.jar com.company.util.Sample

二 package和import问题

Java中的包(Package)其实指的就是目录,它是为了更好地管理Java类(Class)和接口(Interface)。Java语言的包可以被另一个Java开发包所使用。如果我们要引用某个包中的类,用import关键字来标明即可,Package行要在 import 行之前 ,Package打包后将生成在Classpath 指明的路径下
例如  Classpath 为 C:/test
Package  com.dir
结果为 将在C:/test目录下生成com子目录,目录com包含dir目录 所有的文件将放在dir目录

在Java中对象的体现在包的定义和应用中,对于已经编好的类,如果在新类中要使用,应将已经定义的类包含近来,Java中用import语句实现.
     使用import 语句的加入所有类(以上面Package打包为例)
   import com.dir.*;

使用import 语句的加入特指类(以上面Package打包为例,假如目录中存在hello.class)

 import com.dir.hello;

第三,public,protected,private,static,什 么时候用,为什么要用,怎么用

每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。 
     public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用; 
    变量和方法的修饰字public、protected、private: 
    public:任何其他类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。 
    class ABC{ 
        public int pub_i=5; 
        public void show)(){ 
        System.out.println("pub_i"+pub_i); 
    } 
    class Demo{ 
        public static void main(String args[]){ 
        ABC abc=new ABC(); 
        System.out.println("abc.pub_i"+abc.pub_i); 
        abc.pub_i=10; 
        abc.show(); 
        } 
    }
    protected变量和方法: 
    如果一个类中变量或方法有修饰字protected,同一类、同一包可以使用。不同包的类要使用,必须是该类的子类,可以存取变量或调用。 
    public class ABC{ 
        protected int pro_i=5; 
        protected void show(){ 
        System.out.println("pro_i=" +pro_i);} 
    } 
    同包的类: 
    class DEF{ 
        public static void main(String  args[]){ 
            ABC abc=new ABC(); 
            System.out.println("abc.pro_i="+abc.pro_i); 
            abc.pub_i=10; 
            abc.show(); 
        } 
    } 
    不同包但是是子类: 
    import mytest.pack.ABC; 
    class DEF extends ABC{ 
    public static void main(String agrs[]){ 
        DEF def=new DEF(); 
        System.out.println(def.i); 
        def.i=10; 
        def.show();} 
    } 
    private不允许任何其他类存取和调用;
    当子类中的变量名与父类的相同,原来的变量被遮盖。 
    方法的覆盖(overriding)和重载(overloading)。子孙类中定义的方法和祖先类中某个方法同名、同参数行,则祖先类中的该方法被覆盖;方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同。 
    final: 
        final在方法之前,防止该方法被覆盖; 
        final在类之前,标是该类不能被继承; 
        final在变量之前,定义一个常量。 
    static: 
    在变量或方法之前,表明它们是属于类的; 
    静态变量在各实例间共享,如果是public静态变量,则其它类可以不通过实例化访问它们; 
    静态方法称为类的方法,因此不用实例化即可调用(面向过程) 
    一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量;一个类的方法只能访问自己的局部变量。 
    例:不正确的引用 
    class StaticError{ 
        String mystring="hello"; 
        public static void main(String args[]){ 
            System.out.println(mystring);} 
        } 
    错误信息:can’t make a static reference to nonstatic variable. 
    为什么不正确?只有对象的方法可以访问对象的变量。 
    解决的办法: 
        1) 将变量改称类变量 
    class StaticError{ 
        static String mystring="hello"; 
            public static void main(String args[]){ 
            System.out.println(mystring);} 
    } 
        2) 先创建一个类的实例 
    class NoStaticError{ 
        public static void main(String args[]){ 
            String mystring="hello"; 
            System.out.println(mystring);} 
        } 
    }

第四个,制作jar文件

JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的

jar 命令详解

jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar。它的运行需要用到 JDK 安装目录下 lib 目录中的 tools.jar 文件。不过我们除了安装 JDK 什么也不需要做,因为 SUN 已经帮我们做好了。我们甚至不需要将 tools.jar 放到 CLASSPATH 中。

使用不带任何的 jar 命令我们可以看到 jar 命令的用法如下:

jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...

其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:

-c 创建新的 JAR 文件包

-t 列出 JAR 文件包的内容列表

-x 展开 JAR 文件包的指定文件或者所有文件

-u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)

[vfm0M] 中的选项可以任选,也可以不选,它们是 jar 命令的选项参数

-v 生成详细报告并打印到标准输出

-f 指定 JAR 文件名,通常这个参数是必须的

-m 指定需要包含的 MANIFEST 清单文件

-0 只存储,不压缩,这样产生的 JAR 文件包会比不用该参数产生的体积大,但速度更快

-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数

[jar-文件] 即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数

[manifest-文件] 即 MANIFEST 清单文件,它是 -m 参数的附属参数

[-C 目录] 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C 参数的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。  

文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么 jar 命令打包的时候会自动把该目录中的所有文件和子目录打入包中。

下面举一些例子来说明 jar 命令的用法:

1) jar cf test.jar test

该命令没有执行过程的显示,执行结果是在当前目录生成了 test.jar 文件。如果当前目录已经存在 test.jar,那么该文件将被覆盖。

2) jar cvf test.jar test

该命令与上例中的结果相同,但是由于 v 参数的作用,显示出了打包过程,如下:

标明清单(manifest)

增加:test/(读入= 0) (写出= 0)(存储了 0%)

增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)

3) jar cvfM test.jar test

该命令与 2) 结果类似,但在生成的 test.jar 中没有包含 META-INF/MANIFEST 文件,打包过程的信息也略有差别:

增加:test/(读入= 0) (写出= 0)(存储了 0%)

增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)

4) jar cvfm test.jar manifest.mf test

运行结果与 2) 相似,显示信息也相同,只是生成 JAR 包中的 META-INF/MANIFEST 内容不同,是包含了 manifest.mf 的内容

5) jar tf test.jar

在 test.jar 已经存在的情况下,可以查看 test.jar 中的内容,如对于 2) 和 3) 生成的 test.jar 分别应该此命令,结果如下;

对于 2)

META-INF/

META-INF/MANIFEST.MF

test/

test/Test.class

对于 3)

test/

test/Test.class

6) jar tvf test.jar

除显示 5) 中显示的内容外,还包括包内文件的详细信息,如:

 0 Wed Jun 19 15:39:06 GMT 2002 META-INF/

86 Wed Jun 19 15:39:06 GMT 2002 META-INF/MANIFEST.MF

 0 Wed Jun 19 15:33:04 GMT 2002 test/

 7 Wed Jun 19 15:33:04 GMT 2002 test/Test.class

7) jar xf test.jar

解开 test.jar 到当前目录,不显示任何信息,对于 2) 生成的 test.jar,解开后的目录结构如下:

  ==

  |-- META-INF

  |  `-- MANIFEST

  `-- test

    `--Test.class

8) jar xvf test.jar

运行结果与 7) 相同,对于解压过程有详细信息显示,如:

创建:META-INF/

展开:META-INF/MANIFEST.MF

创建:test/

展开:test/Test.class

9) jar uf test.jar manifest.mf

在 test.jar 中添加了文件 manifest.mf,此使用 jar tf 来查看 test.jar 可以发现 test.jar 中比原来多了一个 manifest。这里顺便提一下,如果使用 -m 参数并指定 manifest.mf 文件,那么 manifest.mf 是作为清单文件 MANIFEST 来使用的,它的内容会被添加到 MANIFEST 中;但是,如果作为一般文件添加到 JAR 文件包中,它跟一般文件无异。

10) jar uvf test.jar manifest.mf

与 9) 结果相同,同时有详细信息显示,如:

增加:manifest.mf(读入= 17) (写出= 19)(压缩了 -11%)

关于 JAR 文件包的一些技巧

1) 使用 unzip 来解压 JAR 文件

在介绍 JAR 文件的时候就已经说过了,JAR 文件实际上就是 ZIP 文件,所以可以使用常见的一些解压 ZIP 文件的工具来解压 JAR 文件,如 Windows 下的 WinZip、WinRAR 等和 Linux 下的 unzip 等。使用 WinZip 和 WinRAR 等来解压是因为它们解压比较直观,方便。而使用 unzip,则是因为它解压时可以使用 -d 参数指定目标目录。

在解压一个 JAR 文件的时候是不能使用 jar 的 -C 参数来指定解压的目标的,因为 -C 参数只在创建或者更新包的时候可用。那么需要将文件解压到某个指定目录下的时候就需要先将这具 JAR 文件拷贝到目标目录下,再进行解压,比较麻烦。如果使用 unzip,就不需要这么麻烦了,只需要指定一个 -d 参数即可。如:

unzip test.jar -d dest/

2) 使用 WinZip 或者 WinRAR 等工具创建 JAR 文件

上面提到 JAR 文件就是包含了 META-INF/MANIFEST 的 ZIP 文件,所以,只需要使用 WinZip、WinRAR 等工具创建所需要 ZIP 压缩包,再往这个 ZIP 压缩包中添加一个包含 MANIFEST 文件的 META-INF 目录即可。对于使用 jar 命令的 -m 参数指定清单文件的情况,只需要将这个 MANIFEST 按需要修改即可。

3) 使用 jar 命令创建 ZIP 文件

有些 Linux 下提供了 unzip 命令,但没有 zip 命令,所以需要可以对 ZIP 文件进行解压,即不能创建 ZIP 文件。如要创建一个 ZIP 文件,使用带 -M 参数的 jar 命令即可,因为 -M 参数表示制作 JAR 包的时候不添加 MANIFEST 清单,那么只需要在指定目标 JAR 文件的地方将 .jar 扩展名改为 .zip 扩展名,创建的就是一个不折不扣的 ZIP 文件了,如将上一节的第 3) 个例子略作改动:

jar cvfM test.zip test

 

JAVA:解压和打包 JAR 文件的技术指南 Java JAR文件操作指南 本文介绍了Java JAR文件的基本概念和操作方式。JAR文件是基于ZIP格式的Java归档文件,包含一个特殊的META-INF/MANIFEST.MF文件。文章详细讲解了JAR文件的反编译、解压和打包方法,包括: 反编译工具(luyten、jd-gui)使用及注意事项,特别指出多线程代码可能无法反编译 两种解压方法:使用Java标准库(提供完整代码示例)和命令行工具(jar -xvf命令) 打包JAR文件方法:提供Java标准库实现代码 操作指南包含具体命令和代码示例.. 阅读详情

相关推荐

深入探讨 jar -xvf 命令:解析 Java 开发中 JAR 文件的利器

JAR 文件在 Java 开发中扮演着重要角色,而 jar -xvf 命令是操作这些文件的关键。本文将深入剖析这个命令的用途和意义,探讨它在解压、管理和查看 Java JAR 文件中的内容时的实际应用。无论你是 Java 开发新手还是经验丰富的开发者,了解这个命令的功能都将对你的工作产生深远的影响。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 2932

cmd打包java文件成jar

jar命令帮助文档 用法: jar [OPTION...] [ [--release VERSION] [-C dir] files] ... jar 创建类和资源的档案, 并且可以处理档案中的 单个类或资源或者从档案中还原单个类或资源。 示例: # 创建包含两个类文件的名为 classes.jar 的档案: jar --create --file classes.jar Foo.clas...

passer的博客 1242

JAR命令详解

JAR命令详解 当你编译好java程序后怎么手动打包呢,这里介绍了一些jar打包的命令

jar命令打包java应用和java打jar包的几种方式详解

4事先准备好上述的MENIFEST.MF文件,并存放在META-INF文件夹下,此时打jar包的命令如下该命令表示用第一个文件当做MENIFEST.MF文件,hello.jar作为名称,将Hello.class和Tom.class打成jar包。其中多了一个参数m,表示要定义MENIFEST文件。

猪之仆的博客 1万+

基于FPGA低频方波测量-频率与占空比

基于FPGA低频方波测量-频率与占空比

DRAXY的博客 6733

飞塔防火墙和paloalto防火墙构建ipsec

一、配置fortigate防火墙1.防火墙配置上网功能1.1配置fortigate的wan1接口IP为100.100.100.2/24VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.2101.2配置访问互联网的缺省路由1.3配置访问互联网的安全策略2.配置与Paloalto防火墙的IPSECVPN。

weixin_44675999的博客 3738

学好Java关键的几点方法!

每一个走入Java世界的人都想学好Java,如何学好Java呢?这是初学者都会提出来的问题,现在在这里给大家提出几点方法,希望有助于大家学习Java:1)多动手学习编程不仅仅理论上要学习,更要多动手,多实践,多编一些自己的例子。多用实践的结论去论证自己的思想。2)多动脑对于Java的学习,不仅仅是对语言本身的学习,更重要的是面向对象思想的建立过程,建议大家从一开始就尝试和这种面向对象的思维

无情的你,无情的雨! 1541

智能车竞赛蚂蚁搬家组:NXP-MicroPython与STC单片机协同搬运策略解析

本文深入解析智能车竞赛蚂蚁搬家组中NXP-MicroPython与STC单片机的协同搬运策略。通过硬件选型、通信架构设计、效率优化及实战经验分享,展示了如何利用NXP-MicroPython的实时控制与STC单片机的感知导航优势,实现高效多智能体协同作业,为参赛团队提供实用技术参考。

motor的博客 1080

对初学者想学好Java的几点建议

不少Java的初学者一开始都是信心满满准备迎接挑战,但是经过一段时间的学习之后,多少都会碰到各种问题,以下总结一些对于初学者非常有用的建议,希望能够给他们解决现实中的难题。 Java编程的准备:对Java进行编程之前,你需要一个编译器,用于将Java源代码转换为字节码。在过去,唯一可供选择的...

chulong8880的博客 197

Vue3 - 详细实现移动端H5网页调用摄像头拍照功能,微信公众号网页h5页面打开本地摄像头并点击按钮照相,vue3获取摄像头画面执行拍照保存,调整摄像头前置后置抓拍图片给用户展示或保存手机上传服务器

vue3,H5网页,手机移动端,vue3摄像头拍照,前端h5调用手机摄像头,移动端网页调用摄像头,H5实现手机拍照和选择上传,调用本地摄像头实现拍照,vue3调用摄像头拍照,手机浏览器开启摄像头并进行拍照,H5移动端网页中调用手机摄像头,H5实现web调用摄像头在线照相,vue3h5调用摄像头,微信公众号网页如何调用摄像头拍照,公众号H5页面实现打开摄像头照相,怎么生成临时图片,vue3项目调用摄像头实现拍照功能,摄像头打不开没反应,浏览器不兼容怎么办,摄像头权限不弹出,只能在本地运行,拒绝权限后怎么办,

🏆 前端领域优质创作者 1万+

Unity零基础到进阶 | Unity Shader 深度硬核解析

Unity Shader 是运行在GPU上的可编程渲染程序,是整个引擎渲染体系的算法核心。它通过 Unity 封装的 ShaderLab 语法 + GPU 原生 HLSL 语言编写,定义了「网格数据如何经过光照计算、纹理采样、几何变换、混合测试,最终转化为屏幕像素颜色」的完整规则。 通俗来说:Shader 决定物体「怎么画」,材质(Material)只是 Shader 的参数实例,决定「用什么画」。没有 Shader,材质就是无渲染能力的空壳;没有材质,Shader 无法落地到具体物体。

努力前行,总会成为自己心中的那道光 1万+

初学者怎么学好Java?

如何学好Java?是所有该行业共同面对的问题,其实每种语言的学习方法都相似,对于初学者来说需要注意的主要有一下几点(同时也结合自己的学习历程): 明确自己的学习目标和大的方向,选择并锁定一门语言,按照自己的学习方向努力学习,认真研究。 初学者不用看太多的书籍,先找本相对基础的书籍系统的学习,或者网上找一些比较好的培训机构的上课视频,两者同时进行比较不错。很多程序员工作了很久也只是熟悉部分基础而...

未来的路 657

DPI — 业务识别技术

目录 文章目录目录DPI 的业务识别技术类型特征识别Protocol 特征Payload 特征关联识别行为识别 DPI 的业务识别技术类型 DPI 的关键技术是能够高效的识别出网络上的各种应用类型。 浅报文检测是通过端口号来识别应用类型的。如:检测到端口号为 80 时,则认为是 HTTP 协议。但实际上,为了应用的安全性考虑通常不会使用默认端口来暴露业务能力。此时采用 L2 ~ L4 层的传统检测方法已无能为力了。 而 DPI 技术与我们熟知的防病毒软件在某些方面比较类似,即:其能识别的应用类型必须是系统已

烟云的计算 3516

学好JAVA最关键几点

初学者 学好JAVA最关键几点 第一个是path 和 CLASSPATH的问题 第二个是package和import问题 第三个是public,protected,private,static,什 么时候用,为什么要用,怎么用 第四个是制作jar文件   第一个,path 和 CLASSPATH的问题 什么是path  是你的JDK的工作路径 例如 你的jdk安装在C:/jdk/ 此时的你的pat...

116

FreeRTOS系统从入门到精通万字保姆级教程

例如,在基于ARM的硬件平台上,可能需要实现针对ARM处理器的上下文切换代码,并确保FreeRTOS能够正确地响应和处理ARM架构的中断。需要注意的是,在删除任务之前应确保任务已经完成了其所有重要的工作,并且没有其他的任务依赖于它,以避免数据丢失或系统不稳定。任务的优先级设定是其中的关键环节。在复杂的系统中,可能会有大量的任务需要同时运行,而这些任务的重要性和紧急程度各不相同。这通常包括创建初始任务(这些任务将负责系统的初始化和后续任务的调度)、设置系统时钟(以确保任务的准时调度和延时功能的正确性)等。

大模型大数据攻城狮的专栏 2070

Android系统内存和性能关系的调研

摘要:本文分析了低内存导致性能问题的判断方法和评估思路。通过监控/proc/vmstat中的allocstall_normal、pageoutrun等指标可判断内存回收频率,当MemFree、MemAvailable和Cached均低于500MB时可能出现明显卡顿。全文通过实验和理论验证分析,回答因内存瓶颈导致性能问题的一些分析和解决的思路。

jidapenglin28的专栏 130

初学者如何学好Java

初学者如何学好Java 1、如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的人看的,当工具书使用的,当然有一定基础后,可以跟着上边流程学,如果你能学下来,那么你的基础就不用说了) 2、看书要用心,多动脑,实践很重要,要抱着怀疑的态度看书。(再好的书也可能会出现错误,人非圣人吗!多练这个很重要,如果你光看不练,我想你连过...

checky_c的博客 213

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

学好Java关键的几点

每一个走入Java世界的人都想学好Java,我现在给大家提出几点方法,希望有助于大家学习Java:1)多动手学习编程不仅仅理论上要学习,更要多动手,多实践,多编一些自己的例子。多用实践的结论去 论证自己的思想。2)多动脑对于Java的学习,不仅仅是对语言本身的学习,更重要的是面向对象思想的建立过程,建议大家从一开始就尝试和这种面向对象的思维方式去对待你所接触的每一件事情。3)多查API

赵瑞涛的专栏 630

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: javascript中的trim实现
下一篇: 给大家看看什么叫高手---97年的Mekka ’97 4K Intro世界编程大赛冠军作品
fableking
博客等级 码龄20年 35粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值