草庐IT

java条码阅读器

全部标签

Java中的值传递与引用传递

我们知道java中的数据类型分为基本数据类型和引用数据类型值传递值传递是指将实际参数值复制一份给另一个变量,如下定义变量a=100,然后将a赋值给b,接着改变a的值为200,我们再输出a和b的值,可见a的值已经改变b没有改变,这种情况我们都知道引用传递而引用传递和值传递就不一样了,值传递直接将数据复制一份,而引用传递只是将数据所在的地址告诉你,但是其都是共享的同一个数据,当数据改变的数据,所有引用数据的对象的值都会改变如下,我们将数组arr1的数据复制给arr2,然后改变arr2[3]的值为10,最后我们输出arr1的值也被改变了,这是为什么了?栈内存存放基本类型的变量,对象的引用和方法调用,

java - 当用户在 Windows 设置上更改屏幕分辨率时,如何使用 Java 获得正确的显示 DPI?

为了能够获得dpi值,我正在使用这个:floatdpi=Toolkit.getDefaultToolkit().getScreenResolution();预先显示设置,当我应用1366x768作为分辨率值时;dpi值返回96(这是我所期望的)但是,当我在设置中将800x600更改为分辨率值时;dpi值返回96(该值应低于96)当我在ma​​c计算机上尝试相同的情况时,正确的值出现了。我认为来自Windows操作系统的分辨率值有问题。我已经针对Windows7和Windows10进行了测试。编辑:要理解为什么我需要这个值,请检查这个问题及其answer. 最

android - "java.lang.UnsatisfiedLinkError: *.so: Can' t 在单元测试环境中找到依赖库

我正在尝试弄清楚如何将我的native库集成到android代码中。我创建了一个简单的C++函数,它在设备上运行代码时运行良好。然而,我目前的目标是让它在单元测试环境(junit)中工作,但我遇到了问题:因此,在单元测试环境中System.loadLibrary("lib")无法正常工作,我将其更改为System.load("/full/path/to/lib.so"),但现在这一行抛出异常:java.lang.UnsatisfiedLinkError:app\build\intermediates\cmake\debug\obj\x86_64\liblib.so:Can'tfindd

java - YASJW 批处理脚本中的路径行为不一致

我们公司希望轻松地将我们的JavaServer应用程序安装为Windows服务,因此我们使用YAJSW来包装该应用程序。为了让它更方便一些,我创建了一些小的批处理脚本,只需单击一下即可安装/卸载/启动/停止服务。安装、启动和停止工作正常,但在使用卸载时,出现找不到某些文件的错误。它们都使用相同的包装器配置,并且所有批处理文件都位于同一个位置,所以怎么会找不到一个文件而其他人找不到呢?这是我的文件夹结构:lib\|---YAJSW|----bat\||---installService.bat||---uninstallService.bat||---andsoon|----conf\|

java - 如何在java中查找在端口号上运行的进程的进程ID

我也是java和window的新手,我想终止在特定端口上运行的进程。比方说9090。我尝试过的try{Runtimert=Runtime.getRuntime();Processproc=rt.exec("netstat-ano|findstr9090");BufferedReaderstdInput=newBufferedReader(newInputStreamReader(proc.getInputStream()));Strings=null;if((s=stdInput.readLine())!=null){intindex=s.lastIndexOf("");Strings

java - 列出所有进程?

如何使用JNA4.5.0获取Java中所有正在运行的进程的列表?我已经尝试过这段代码:WinNTwinNT=(WinNT)Native.loadLibrary(WinNT.class,W32APIOptions.UNICODE_OPTIONS);winNT.HANDLEsnapshot=winNT.CreateToolhelp32Snapshot(Tlhelp32.TH32CS_SNAPPROCESS,newWinDef.DWORD(0));Thelp32.PROCESSENTRY32.ByReferenceprocessEntry=newTlhelp32.PROCESSENTRY32

java - 如何修复在给出 "SocketException: Permission denied: connect"的命令行窗口中使用的 jarsigner 问题

我正在尝试运行以下jarsigner命令:jarsigner-keystoreC:/keystore.p12-storepassxyzjars_to_be_signed.jarfriendly_name-tsahttp://sha256timestamp.ws.symantec.com/sha256/timestamp-storetypepkcs12signedjarC:/signed.jar没有timestamping即-tsaoption,它正确地给出了签名的jar。因此签名有效。但是用timestamping即-tsaoption它给出了以下错误:jarsigner:unable

java - 用于 fips 的 Bouncy CaSTLe 无法在 Linux 虚拟机上运行

我为fips证书生成实现了BouncyCaSTLe,这在物理linux环境中运行良好,但在linux虚拟机上代码卡在key对生成上。以下是我编写的代码:publicstaticKeyPairgenerateKeyPair()throwsGeneralSecurityException{KeyPairGeneratorkeyPair=KeyPairGenerator.getInstance("RSA","BCFIPS");keyPair.initialize(2048,newSecureRandom());returnkeyPair.generateKeyPair();}我找到了一个类似

java - 从环境变量中的用户帐户指向 JDK

我在没有管理员权限的计算机上。上面安装了JDK1.7,在系统环境变量中,它是第一个出现的。所以java-version显示1.7。我的要求是使用JDK1.8。但是我无权卸载Java7,无权修改系统环境变量。我尝试在用户环境变量上设置JAVA_HOME和JDK1.8的路径。当我回显%path%时,我可以在末尾看到我的JDK1.8路径。但是由于1.7路径仍然是第一个,java-version仍然返回1.7。有没有办法让我的JDK1.8运行起来? 最佳答案 您可以通过直接指向完整路径来简单地做到这一点。$JDK-1.8-FULL-PATH

java - 为 SQuirreL SQL Client 分配更多内存

我在Windows10上使用SQuirreL3.8.1。如果我打开大表,我会收到以下错误。Erroroccurredduringtaskexecution:Javaheapspace显然,这与分配给我的SQuirreL安装的内存有关。因此,我将squirrel-sql.bat文件中的-Xmx256M修改为-Xmx1024M。start"SQuirreLSQLClient"/B"%LOCAL_JAVA%"-Xmx1024M-Dsun.awt.nopixfmt=true-Dsun.java2d.noddraw=true-cp%CP%-splash:"%SQUIRREL_SQL_HOME%/