从今天开始进入虚拟机参数部分的学习,通过学习虚拟机参数,设置虚拟机参数,配置和跟踪虚拟机,达到故障排查和性能优化的目的。
作为一种常用的开发语言,Java经常使用可执行的JAR(Java Archive)文件来打包和分发应用程序。使用java -jar命令运行JAR文件是一种方便快捷的方式。本文将详细介绍java -jar命令的各种参数,帮助您充分利用这个功能。
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName。我们就只要在MANIFEST.MF里面添加如下一句话:
使用-jar选项(形如:java -jar xxx.jar )来运行一个可执行的jar包时,-jar会覆-cp的值。
JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足。
每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar……?边敲边想着都需要追加哪些参数?
注:在运行 JAR 包之前,确保你的 JAR 文件是可执行的,并且包含了正确的类和依赖项。如果 JAR 包依赖于其他库或配置文件,确保它们也在正确的位置可用。
今天从知乎上看到了java -jar的问题,想起自己刚学java的时候也迷茫过,java -jar和-cp有什么区别。java -jar怎么靠着一个jar包来运行程序的,于是乎就打算总结一下自己的使用经验。
在 App 端爬虫过程中,遇到未知的参数,往往需要我们去逆向破解 App,针对参数的生成逻辑,使用 Python 去实现
最近尝试了Python语言的开源命令行便捷工具库Google Fire,它是用来加速用户编写命令行程序的一个小工具库,该工具使用非常方便,节省了编写命令行程序繁琐的参数解析代码的时间。
在文章《Spark Submit的ClassPath问题》中,我探讨了针对spark-submit的Jar包,如何指定外部依赖的Jar包。同样的问题在本地部署时仍然存在。此时,运行Jar并不是通过spark-submit,而是通过java命令,例如: exec java -Xmx2000m -DMORT_HOME=$MORT_HOME -Ddata-set-parquet.path=$MORT_HOME/parquet -Dconfig.file=$MORT_HOME/mort.conf -jar $MOR
2.指定目录:建一个目录,来存放.class文件和.jar文件。 本文指定目录为 E:\myclass 。
jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示Java虚拟机进程的执行主类(Main Class,main()函数所在的类)名称、本地虚拟机唯一ID(LVMID,Local Virtual Machine Identifier)等信息。另外,jps命令只能显示它有访问权限的Java进程的信息。
最近从OpenJDK8升级到了OpenJDK11,系统业务MQ用的RocketMQ,升级RocketMQ过程中,在已修改好JVM参数的情况下(参考我另一篇文章),遇到如下异常:
这个技巧阐明了如何不直接处理清单文件而将一个不能运行jar包转换成一个可以执行的jar包。学会如何写一段转换jar包的程序,将你的jar包转换成你能使用java -jar 命令运行jar包或象在windows系统上那样通过双击来运行jar包。
本文主要讲解java封装jar包的过程,一个简单的demo,方便大家入手学习打包jar包。
有的时候,想看下自己没有设置的JVM参数的值, 或者有的时候想看下JVM某个参数的默认值 ,亦或想看下用户或者JVM修改的JVM参数 ?
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之java容器运行外置springboot-jar(番外篇)(79) 学了docker这么久终于开始实战了,所有部署方式全部使用docker的方式感觉特别爽,我这里分享下,我部署springboot的富jar包。 下载java的镜像 docker pull java:openjdk-8 spring boot 打包后的富jar 放入指定的目录。 执行命令创建容器内部路径/opt/pj/business.jar,容
下载 arthas之后,先来了解帮助信息,可以通过 java-jar arthas-boot.jar-h命令查看,这里给出了一些例子和参数说明
Android的内核源码很大,有几个G,仔细找找网上有许多下载的地方。作为普通开发者,一般不需要阅读内核源码,但一点都不了解好像也不行,因为实际开发中有时候就得会那么一点点。下面几个源码目录,是开发者在实际开发中可以参考的: \system\core\toolbox : linux后台命令的源码,如ls、rm、kill、chmod、top、netstat等等。 \packages\apps : Android自带的应用程序的源码,如计算器、日历、相机、浏览器、联系人、音乐、拨号、设置等等。 \sdk : Android开发的辅助工具源码,如eclipse插件、emulator模拟器、ddms管理工具、draw9patch点九制图工具。 \frameworks\base\core\java\android : 提供给开发者的SDK开发框架的源码,基本与“Android SDK Manager”上下载的SDK一致。
学了docker这么久终于开始实战了,所有部署方式全部使用docker的方式感觉特别爽,我这里分享下,我部署springboot的富jar包。 下载java的镜像 docker pull java:openjdk-8 spring boot 打包后的富jar 放入指定的目录。 执行命令创建容器 内部路径/opt/pj/business.jar,容器路径/usr/business.jar。 执行jar java -jar /usr/business.jar 暴露端口-p docker run -d -v /
https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
ClassFinal是一款java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework;可避免源码泄漏或字节码被反编译。
上一篇文章中,我们介绍了哪些场景会引起 java 的内存泄露。 然而,很多情况下,内存泄露、内存不足、CPU占用过高等问题都很容易被重启服务器、增加内存等处理方式隐藏,大多 java 程序员也并不会去深究问题的根源。 本文,我们就来学习 java 提供的性能监控、调优工具,来定位、解决这些容易被隐藏的问题。
前文多次提到的镜像layer到底是什么,为什么会有多层layer?有必要先把这个知识点夯实了,请参考文章《SpringBoot-2.3镜像方案为什么要做多个layer》
字节码混淆就是对类名、字段名、方法名进行替换,让其变得无意义,使其他人反编译后很难读懂,但并不影响逻辑。
一直很好奇Robot Framework 是如何通过关键字驱动进行测试的,好奇它是如何支持那么多库的,好奇它是如何完成截图的。所以就打算研究一下它的源码。
javac 用法:javac <选项> <源文件> 其中,可能的选项包括: -g 生成所有调试信息 -g:none 不生成任何调试信息 -g:{lines,vars,source} 只生成某些调试信息 -nowarn
在linux环境下显示一个进程的信息大家可能一直都在使用ps命令,比如用以下命令来显示当前系统执行的java进程:
4)在location位置输入http://www.evosuite.org/updatespa。
在Java应用中,参数传递可以通过命令行选项进行,其中包括使用 -D 和 -- 作为前缀的选项。这两者之间有一些区别:
通过maven将应用打成jar包之后,可以通过java -jar ***.jar来执行,会运行指定的main方法,主要是 MANIFEST.MF 中指定的 main 方法;那么如果有多个main方法的时候如何运行指定的main方法哪,可以通过下面命令去执行
1. 根据资源文件和 AndroidManifest.xml 生成 R.java 文件 2. 处理 aidl,生成对应的 java文件,如果没有 aidl,则跳过 3. 编译工程源码(主项目,库)src 目录下所有的源码,同时上边生成的R.java和aidl生成的java文件也会被编译生成相应的 class 文件 4. 将第3步生成的class文件打包生成 .dex 文件 5. 将资源文件打包,生成初始的apk 6. 将第 4 步生成的 .dex 文件加入到apk中生成未签名的包 7. apk 签名
如果你想构建一个支持命令行参数的程序,那么 jcommander 非常适合你,jcommander 是一个只有几十 kb 的 Java 命令行参数解析工具,可以通过注解的方式快速实现命令行参数解析。
在前文中已经介绍了JVM的premain和attach功能, 本文介绍下JBOSS开源的代码注入工具: byteman. 与之前讲的premain和attach不同, byteman是通过规则文件完成代码注入等功能.
使用 Spring Boot 会涉及到各种各样的配置,如开发、测试、线上就至少 3 套配置信息了。Spring Boot 可以轻松的帮助我们使用相同的代码就能使开发、测试、线上环境使用不同的配置。
在 【错误记录】IntelliJ IDEA 导出可执行 jar 包执行报错 ( java.lang.ClassNotFoundException | 打包时没有选择依赖库 ) 博客中遇到
Selenium 包含 3 大组件,分别是:Selenium IDE、Selenium WebDriver、Selenium Grid
Docker可以把我们的运行环境打包,然后我们只要run就可以了。大部分hello world都是这么写的。但都缺少了实际应用环节。以springboot为例,hello world的Dockerfile是这样的:
JMeter在请求时,肯定会需要参数传递,参数值如果不变动或者不需要加解密这些操作,则操作上都是比较简单。 如果参数值不固定,而且需要加解密正确的时候该如何操作呢? 先说一下我这个接口大概的需求: 1、该接口主要实现获取出符合要求的二维码链接; 2、请求参数通过RSA加密,需要生成符合要求的RSA加密值; 3、不知道加密具体机制,但是有源码可以直接调用。
JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成。 JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。这些细节就不用管它了。
日志启动 1)代码参数说明 // 参数一:控制发送每条的延时时间,默认是0 Long delay = args.length > 0 ? Long.parseLong(args[0]) : 0L;
在使用jinfo命令之前,可以先使用jps -help来查看jps命令相关的使用方法,包括有哪些参数等~
这种方式最简单,不过一般使用区块链的开发者都需要debug代码,所以一般在部署的时候使用脚本启动。 需要用到的文件,都可以从 java-tron 这个项目中获得。
之前的permain方法只能在java程序启动之前执行,并不能程序启动之后再执行,但是在实际的很多的情况下,我们没有办法在虚拟机启动之时就为其设定代理,这样实际上限制了instrument的应用。而Java SE 6的新特性改变了这种情况,可以通过Java Tool API中的attach方式来达到这种程序启动之后设置代理的效果。
领取专属 10元无门槛券
手把手带您无忧上云