java 点滴

宇树G1开发实践--PPT汇报(基础版) 本文介绍了一套基于宇树G1人形机器人的PPT自动演示系统,可实现"一键启动、自动演讲"功能。系统通过多线程同步技术,将音频播放与机器人动作完美结合,支持12种预设社交互动动作。硬件依赖宇树G1机器人、外接音响和网络连接,软件采用Python SDK和ALSA音频工具。核心功能包括音频文件自动排序、外接音响播放控制、机器人动作执行及音画同步。使用时需配置网络接口和音频设备号,运行后自动按顺序播放音频并执行随机动作。系统特别强调了安全注意事项,并提供了常见问题解决方案,适用于展会、汇报等需要 阅读详情
  1:关于设置的classpath:

  1) 一般的.jar 文件放在lib目录下。.class 文件放在classes目录下。.java文件放在src目录下。

  2) classpath可以用环境变量里的CLASSPATH设置。也可以用javac -classpath 命令参数设置,有一点注意:用javac -classpath 命令参数会将环境变量里的classpath覆盖掉。除非加上%classpath% ,改变CLASSPATH之后最好重起一下(一般注销一下,或把cmd关掉,再打开就可以了)。

     例如:java  -classpath %classpath%;.;D:/myjava/myjade/lib/jade.jar;

这里的 . 表示当前目录,..表示父目录。

具体的信息可通过加入命令参数 –verbose 察看,

 如:java –verbose  Hello  , javac –verbose  Hello.java.

3) 在一个.java文件里如果有package 命令行,那么设置classpath时就是到package为止。如:package examples.pingagent; examples/pingagent 在d:/myjava/myjade 下,那么将classpath 设为 d:/myjava/myjade即可,不必加上examples.pingagent。如果是jar包,则需要指到jar包的名称。如将classpath 设为 d:/myjava/myjade/mypackage.jar。

 4)如果提示信息提示 bad major version number 。则可能是机器上有多个版本的jdk(sdk),

且执行了底版本的jdk。用java –version 命令可以查看当前执行的jdk版本。在PATH路径里将高版本的%JAVAHOME%/bin放在前面就可以了。

注意:这些都是在windows机器上的经验,因为windows有注册表,所以有些默认设置。

在linux下不可以。

5)在命令行单敲java 命令,可以显示所有命令参数。

6)关于打包,用winrar压缩成.jar文件不行,需用jdk提供的jar命令。使用方法如下

   设 在e:/myapp/src 下有一个zfy 目录,zfy目录里有子目录也有java文件

   若想将zfy目录打包,其包名为my.jar(java improt 命令指定的包与 jar包名无关。只要jar下包括的包名正确就行。如zfy是一个包,它可以被打倒my.jar中,不影响使用)

   在命令行提示符下e:/myapp/src〉下输入jar cvf my.jar  zfy

   如果想将src下所有的东西打包,可输入jar cvf  my.jar  *

7) java 类的搜索顺序:

   执行java 和javac命令时,java基础类(自举类:rt.jar, sunrsasign.jar, jsse.jar,jce.jar ,用java –verbose 命令看到的open的类)有默认的搜索路径:先搜索java和javac所在目录的父目录下的jre 目录下的类文件,既jdk 下的jre/lib里面的类。如果没有,再搜索注册表里面指定的java runtime enviroment java运行环境下的lib目录(这里是C:/Program Files/Java/j2re1.4.1_01/lib).

    所以说classpath要指定的应是用户自己的类和包,和一些java基础类不包括得类,一般jre/lib下包括得类都不用指定。可将JAVA_HOME/lib里面的tools.jar 和dt.jar指定在CLASSPATH里。Tools.jar 包括bin目录包括得命令的源代码,没有tools.jar,javac命令不能运行。不在classpath里指定tools.jar,java 也可以默认的找到。

   用 java –verbose  > info.txt 命令,可将输出内容输出到info.txt文件中

2:变量(句柄)

    当创建一个句柄时,一定要初始化。

  常用的变量创建到堆栈(RAM ,CPU管理)中:char x='a' ;这样存取速度快。

  java类都是创建在堆(RAM,CPU不管理) 中:Character C=new Character('a');

   如果变量时类的字段,则java自动设置其默认值。如果是方法中的变量,则不管,需手动初始化。

  所以最好所有变量都自己初始化。

 3:关于 javac ,javadoc 命令

   如果原文件放在src文件夹下,想将编译后的.class 文件放在 classes文件夹下(两个都在e:/myapp下面), 则使用 javac命令时需使用 –d 参数,

如:javac –d /myapp/classes  MyClass.java 

   使用javadoc 命令可方便的生成.java文件的html帮助文档,放在doc 目录下。

   如:javadoc –d /myapp/doc  MyClass.java

 4 执行包内的文件

    如:在E:/download/xml/tools/javaxml/ch10下有一个这样的文件夹:com/oreilly/xml ,在其下有一个这样的文件LightweightXmlRpcServer.java。

     既该文件的全路经是: E:/download/xml/tools/javaxml/ch10/ com/oreilly/xml/LightweightXmlRpcServer.java.

该文件内有 package com.oreilly.xml行,既指定了该文件的包。

     如果要执行该类需这样编译: 首先进入 E:/download/xml/tools/javaxml/ch10

     执行: javac com/oreilly/xml/LightweightXmlRpcServer.java

     执行: javac com.oreilly.xml.LightweightXmlRpcServer  [args]

  一些其他java 编译命令:

    1)javac   -classpath lib/axis.jar;lib/jaxrpc.jar localhost/axis/Hello_jws/*.java

    2) java -Djava.ext.dirs=lib -cp . localhost.axis.Hello_jws.Main

5 正确使用"包"

在使用包的过程中有很多需要注意的小细节,这里把常见的问题都列举如下:

1、对类路径的设置通常有两种方法:

i)在系统的环境变量中设置,设置方法依据平台而变;

ii)以命令参数的形式来设置。

如:javac -classpath d:/jdk1.4.2/lib d:/cjm/edu/test/TestFile.java
java -classpath .;d:/jdk1.4.2/lib; d:/cjm  edu.test.TestFile

注意:i)javac和java命令有很大区别,可以这样区分,javac是一个平台命令,它对具体的平台文件进行操作,要指明被编译的文件路径。而java是一个虚拟机命令,它对类操作,即对类的描述要用点分的描述形式,并且不能加扩展名,还要注意类名的大小写。

ii)有一个很奇怪的问题,即javac命令后面的classpath默认包含当前目录(符合windows的习惯),可是在java命令后面的classpath却不包含当前目录,所以在它的classpath中一定不能忘了加上当前目录的描述,即加上"."。

2、在java程序中对类路径的描述用"."分隔,而且也有当前目录的概念。如要运行图1中的TestFile必须指明为 edu.test.TestFile。但是如果在类TestFile中要调用和它在同一目录中的TestString,则不必指明目录前缀。

3、在java程序中所有使用到的类都应该清楚的指明这个类的查找路径。一般有两种方法指明:

i)在程序的开始使用import关键字指明。如类TestFile中要用到FileInputStream类,则在程序头中加入import java.io.FileReader; 或import java.io.*;

ii)在程序中用到FileReader类处直接写完整路径,如: java.io.FileFileReader fin = new java.io.FileReader("filename");

注意:java.lang包总是被默认导入的。

4、类的目录结构一定要和类中第一句"包声明"一致。如类TestFile.class对应的.java文件的第一句必须包含:package edu.test;

确保类的存放路径和类中指明的"包路径"一致的方法一般有两种:

i)编写.java文件时存放的目录事先确定好,如TestFile.java就直接放在edu/test目录下,然后用下面的语句编译:

javac  -classpath d:/jdk1.4.2/lib d:/cjm/edu/test/TestFile.java
当编译完成后,产生的TestFile.class文件会出现在编译命令中java文件的描述路径中。即出现在d:/test/edu/test中

ii)通过-d参数的使用来编译程序。如使用下面的语句来编译:

javac  -d  d:/cjm  d:/temp/TestFile.java
将在-d后指定的目录d:/cjm下面自动按照packagek中指定的目录结构来创建目录,并且将产生的.class文件放在这个新建的目录下,即在d:/cjm下面建立/edu/test目录,然后产生的TestFile.class放在d:/cjm/edu/test目录下。

5、为了便于工程发布,可以将自己的类树打成.jar文件。如将图1中的edu下面的所有类文件打成一个.jar文件,可以先转到d:/cjm目录,再用下面的命令:

  jar -cvf test.jar edu/
这时会在d:/test下产生一个test.jar文件,此.jar文件中包含edu/下的完整目录结构和文件。使用这个.jar文件时,只需在classpath中指明.jar文件的存放路径即可。

6、对其它资源的使用,如图标文件,文本等资源文件的使用必须要注意,查找资源文件不应从类文件所在的目录开始,而是应该从package指定的类路径的起点开始(图1中从edu所在目录开始)。如图1中看到的文本文件word.txt在resource下面,而类文件TestFile.class在edu/test下,在TestFile.class中要使用到resource中的word.txt,要按如下操作:

fin= new FileReader("resource/word.txt");
而不应该是:fin= new FileReader("../../resource/word.txt");

 

    

医疗AI知识库更新慢?提示工程架构师用Agentic AI自动更新的策略 我们的目标是用Agentic AI替代传统更新流程中的“重复劳动”,让医疗知识库(以知识图谱为例)能自动跟踪最新医学进展,把“更新周期从数月缩短到数天”。从PubMed/指南数据库自动抓取新文献;用提示工程从文本中提取结构化医学知识;自动校验新知识与旧知识的冲突;将通过校验的知识写入知识图谱。拆问题:先讲医疗知识库更新慢的3大根源;给方案:用Agentic AI设计4个“小助手”解决问题;讲原理:每个小助手的工作逻辑+提示工程技巧;做实战。 阅读详情

相关推荐

BQ25798双电源输入4节电池升降压充电与最大功率跟踪于光伏板应用

介绍一颗具有窄范围直流电压NVDC、路径管理PPMT、光伏板最大功率跟踪及反向放电OTG升降压充电控制器,带I2C接口能对内部寄存器做控制

linkedin_38804946的博客 1679

如何在java程序中动态设置java.library.path

场景描述: 最近在做一个项目的时候需要用到动态链接库,在开发的时候可以通过把dll文件放在system32文件夹里面 或者 在启动的时候指定vm参数 -Djava.library.path, 虽然这样没什么问题,在开发的时候也不会出现大的问题,但是在部署的时候总有点别扭不是很方便。于是乎,就研究了一下如何在java应用程序中指定java.library.path,而不用额外的配置这个参数。 解决思路: 把具体需要引用的dll文件放在固定文件夹下即可,然后在代码中进行配置,代码如下 ...

z563394688的专栏 3705

EndNoteX9完整详细安装教程

EndNoteX9完整详细安装教程

rothschild666的博客 10万+

java.library.path

设置java.library.path的两种方式: 1、通过启动参数设定 java -Djava.library.path=/jni/library/path Test  2、在代码中设定 System.setProperty("java.library.path", "/jni/library/path");  两种方式的区别: 如果想在程序中加载一些库文件,使用第一

submorino的专栏 1万+

CANoe.Diva实战:基于CDD的UDS诊断自动化测试全流程解析

本文详细解析了使用CANoe.Diva进行基于CDD的UDS诊断自动化测试的全流程,包括环境搭建、CDD文件配置、测试范围设置、用例生成与验证、CANoe集成测试及报告分析。通过实战经验分享,帮助工程师快速掌握诊断自动化测试技巧,提升测试效率与质量。

weixin_29258297的博客 219

PDN设计

作者:AirCity 2020.2.6 Aircity007@sina.com 本文所有权归作者Aircity所有 PDN设计的目的是降低电源纹波水平,减小电压跌落。我们通常要求LDO的文波水平是30mV,DCDC是50mV,超过这个就需要PDN设计。 PDN设计的方法是用不同的容值,合适的总电容量,降低电源平面与地平面之间的交流阻抗,确定容值总量和电容大小的过程,就是PDN设计过程。 为什么需...

AirCity123的博客 4148

第八讲 Java网络编程

课前索引课前思考  1. 什么是TCP/ IP协议?  2. TCP/IP有哪两种传输协议,各有什么特点?  3. 什么是URL?  4. URL和IP地址有什么样的关系?  5. 什么叫套接字(Socket)?  6. 套接字(Socket)和TCP/IP协议的关系?  7. URL和套接字(Socket)的关系?8.1 网络编程基本概念,TCP/IP协议简介8.1.1 网络基础知识

心蓝 3万+

【四足机器人项目实战】四足机器人腿部机械结构设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人–腿部机械结构设计做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 为了减轻腿部惯量,使用有限元分析着重进行轻量化设计,小腿采用工字梁方案,大腿采用内部镂方案,并使用1.5 mm的AL 6061硬质材料,轻量化的腿部设了腿部运动时摆动

qq_35635374的博客 7539

在java程序中动态设置java.library.path

最近在做一个项目的过程中需要用到第三方的jar包和动态链接库(dll),其中jar包可以直接引入,问题是在开发的时候dll可以放在System32下, 但是当项目完成后build的时候,这种方式就行不通了,所以必须考虑其他的方式来引用所需的dll文件。 我们知道,在VM参数处通过-Djava.library.path后将加载路径指定到自己的lib目录后,程序可以正常启动。

cruise技术博客 2万+

15、运行语音识别应用:从Mac到微控制器的部署指南

本文详细介绍了如何在Mac上运行语音识别应用,并将其部署到Arduino Nano 33 BLE Sense和SparkFun Edge等微控制器设备上的完整流程。内容涵盖应用构建、设备特定的音频与输出实现、部署步骤、常见问题解决方案及进一步优化建议。通过本指南,开发者可快速实现基于TensorFlow Lite的嵌入式语音识别系统,并根据需求进行自定义修改与功能扩展。

l3m4n的博客 58

ICM20948 DMP代码详解(69)

ICM20948 DMP代码详解(69)

phmatthaus的专栏 618

java 运行时修改java.library.path

项目目前需要加载几个外部的dll文件,但是每次启动都要手动设置jvm参数就很麻烦,于是就想找能够在运行时动态修改java.library.path的方法,中间遇到的坑就就不说了,直接上方法 private static void addLibraryDir(String libraryPath) throws Exception { Field userPathsField = ClassLoader.class.getDeclaredField("usr_paths");

LiuEP的博客 2946

YOLOv5改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

本文给大家带来的2024.3月份最新改进机制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络CPA-Enhancer通过引入链式思考提示机制,实现了对未知退化条件下图像的自适应增强。该方法的核心在于能够利用CoT提示对图像退化进行动态分析和适应,从而显著提升物体检测性能。

Snu77的博客 2222

贴代码 用java写 点滴计算 程序

4月初我家儿子得了疱疹性咽峡炎输液期间想算一下点滴进度和大致时间然后就有了一下程序 import java.util.Scanner; public class single_second_dose { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.printl...

qq_39539353的博客 253

怀旧版电脑GBC模拟器

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JAVA 点滴

1 关于判断:    "已经审核".equals(mark); ["正确形式"]    mark.equals("已经审核"); ["错误形式"] 可能引起空指针异常 2 日期    当new Date().getTime();不能满足你的时候,可以试试         Calendar a=Calendar.getInstance();     a.set...

groovylc的专栏 138

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java点滴

这是我网上看到的文章 觉得蛮有用 就记录下来了请参考文章 下面总结一下关于JAVA事件处理机制。 JAVA是通过授权处理机制来对事件进行处理,那么授权处理机制是什么意思呢? 一、首先要理解几个重要的概念: 1、事件源。能够产生事件的对象都称为事件源,也就是JAVA认为能够发生事件的对象。如按钮(JButton button)、文本区(JTextArea textarea)、

Su_wei_peng的博客 514

Java点点滴滴

(1)DefaultBoundedRangeModel model = new DefaultBoundedRangeModel();        定义对象时就调用默认的构造函数实例化对象。(2)public class ScrollBarExample extends JPanel {             public ScrollBarExample() {                  super(true);          ...............        super作用:

haizilin的专栏 666

Java学习点滴

Java中的基本数据类型只有八种:boolean, byte, char, double, float, int, long, short public class Initialization { boolean v1; byte v2; char v3; double v4; float v5; int v6; long v7; s...

weixin_30433075的博客 101

java点滴

java中的引用: 由于基本类型有他们各自的类型类, 因此java的参数传递都是传引用。 但形参的值能否改变完全看函数的内部实现。 如果参数本身所指的内存块的值没有改变,那么实参也不会改变。 这个时候函数有返回类型。 如果参数本身所指的内存块的有改变, 那么实参也会改变, 这个时候函数用void返回类型。 EJB FetchTYpe: ManyToOne is eagly fetch

RobinHood 438

Java基础点滴

1. 关于interface的定义 [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量;[public] [abstract] 方法;} 注意,斜体的部分代表是缺省的,默认的,即便声明的时候不写,也会在编译时默认加上。尤其是常量需要注意,继承的子类不能修改接口中声明的常量。另外,修饰...

aihuo4431的博客 116

java自学点滴

String 与 StringBuffer区别: String字符串对象是不可变的;StringBuffer是变长和可写的动态字符序列,可以自动地增加空间。 Integer var = new Integer();//有语法错误 Integer var = new Integer(2);//是对的 java的Vector成员是要用elementAt(i)成员函数来获得的,不能用ve[i]得

petercnmei的专栏 372

JAVA点滴

====================================================== 注:本文源代码点此下载 ====================================================== 这篇文章主要搜集我遇到的一些关于java的细节问题,主要目的是应对笔试面试。 =================================

javazhuanzai的专栏 422

学习java的点滴

学习java的点滴 最近在学习java的知识,感觉好多慨念呀,什么j2ee,j2se...ejb,spring....applet,,jsp...........eclipse,jbuild java语法和c#差不多,基本不用什么看。微软果然高明,毕竟c#后来居上,在语法和ide方面还是比别人强。 在机器上装上了j2se 和 eclipse for win 好慢呀,128m内存跑也跑不动.

javazhuanzai的专栏 334

Java学习点滴——初识Java

基于《Java编程思想》第四版 前言 “程序就是算法加数据结构”,而算法就是控制语句加操作符,编写一个程序就是使用控制语句加操作符去操作数据结构,因此我从Java的控制语句、操作符以及如何组织数据结构开始入手。因为有C/C++的基础,所以不免会以对比的方式去理解Java。 控制语句 除了没有goto,Java的控制流程的关键字和C++是一样的,很好理解。不过Java中的break和continue...

weixin_33738578的博客 157
上一篇: Pb6中的串行通信(MSCOMM32.OCX)完全解答版
下一篇: 阳朔游记
coolriver
博客等级 码龄26年 68粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值