很多朋友想知道Java有什么作用,下面就让我们来看看吧。
JAVA是一个扩展程序,不仅可以对电脑的配置进行更新换代,还可以同步更新软件,运用新的功能也不会出现问题,简单来说,Java程序可以用来开发能在任何计算平台上运行的应用软件。它根本上是一种非常基本且结构细腻的技术,而它对WorldWide Web以及商业的总体影响已可与电子表格对PC机的影响相比拟。
Java介绍
Java是一门面向对象编程语言,Java语言集合了C++的优点,丢弃了缺点,所以Java语言表现的功能强大而简单易用。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,让程序员能够以清晰的思维方式进行复杂的编程。
java工程师的工作内容
1、负责客户端软件产品中服务器后端的工程设计,架构设计以及开发工作;
2、根据项目任务计划按时完成软件编码和单元测试工作;
3、按照开发流程编写相应模块的设计文档等。
JVM参数、main方法的args参数使用
一、前言
我们知道JVM参数分为自定义参数、jvm系统参数,Java main方法的参数。今天就谈谈怎么使用吧。
二、查看jvm参数定义部分常用系统参数介绍:
参数名称 | 含义 | 默认值 | 备注 |
-Xms | 初始堆大小 | 物理内存的1/64(<1GB) | 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. |
-Xmx | 最大堆大小 | 物理内存的1/4(<1GB) | 默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制 |
-Xmn | 年轻代大小 | 整个堆大小=年轻代大小 年老代大小 持久代大小. 因此,不能仅增大年轻代大小,这样会缩小持久代与年老代的大小。 | |
-Xss | 每个线程的堆栈大小 | 1M | JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K |
-XX: PrintGC | 打印简要GC信息 | 输出形式:[GC 118250K->113543K(130112K), 0.0094143 secs] [Full GC 121376K->10414K(130112K), 0.0650971 secs] |
一般:
堆大小设置成5M,是为了触发GC操作。默认的堆空间很大,看不到GC
2、编写程序: public static void main(String[] args) { System.out.println("hello world"); }
3、看结果:
[GC (Allocation Failure) 1024K->668K(5632K), 0.0016709 secs]
GC:表明进行了一次垃圾回收
Allocation Failure:表示是失败的类型(本次引起GC的原因是因为在年轻代中没有足够的空间能够存储新的数据了。)
1024K->668K(5632K):表示年轻代从1024K降为668K (GC造成的)。三个参数含义:堆区垃圾回收前的大小,堆区垃圾回收后的大小,堆区总大小
0.0016709 secs:该内存区域GC耗时,单位是秒
四、操作一把jvm的自定义参数1、idea设置自定义参数-Dcom.abao.param1=param1 -Dcom.abao.param2=param2
public static void main(String[] args) { System.out.println("hello world"); System.out.println(System.getProperty("com.abao.param1")); System.out.println(System.getProperty("com.abao.param2")); }
3、看结果
使用-D形式传入jvm参数,我们代码中就可以使用System.getProperty("com.abao.param1")形式取出预设值了。一般地:
五、main方法中的args怎么搞1、idea设置如图: public static void main(String[] args) { System.out.println("hello world"); for (String arg : args) { System.out.println(arg); } System.out.println(System.getProperty("com.abao.param1")); System.out.println(System.getProperty("com.abao.param2")); }
3、结果
我们可以对jar包使用 java -jar命令,同时携带相应参数:
格式:java -jar jvm系统参数 jvm自定义参数 架包名字 main方法的args参数