JAVA_OPTS=" -Xss1024k -Xms8192m -Xmx8192m -Xmn3072m -XX:PermSize=64m -XX:MaxPermSize=300m "

参数说明:

-server:一定要作为第一个参数,在多个CPU时性能

-Xss:每个线程的堆栈大小

-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些

-Xmx:java heap最大值,使用的最大内存

-Xmn :为新生代的大小

-XX:PermSize:设定内存的永久保存区域

-XX:MaxPermSize:设定最大内存的永久保存区域

java的直接内存:

NIO是一直基于通道和缓冲区的I/O方式,NIO就是放在直接内存中。

如果你有少量的连接使用非常高的带宽,一次发送大量的数据,也许典型的IO服务器实现可能非常契合。

1,程序计数器(Program Counter Register):程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。

2,虚拟机栈(JVM Stack):一个线程的每个方法在执行的同时,都会创建一个栈帧(Statck Frame),栈帧中存储的有局部变量表、操作站、动态链接、方法出口等,当方法被调用时,栈帧在JVM栈中入栈,当方法执行完成时,栈帧出栈。

3,本地方法栈(Native Method Statck):本地方法栈在作用,运行机制,异常类型等方面都与虚拟机栈相同,唯一的区别是:虚拟机栈是执行Java方法的,而本地方法栈是用来执行native方法的,在很多虚拟机中(如Sun的JDK默认的HotSpot虚拟机),会将本地方法栈与虚拟机栈放在一起使用。

本地方法栈也是线程私有的。

4,堆区(Heap):堆区是理解Java GC机制最重要的区域,没有之一。在JVM所管理的内存中,堆区是最大的一块,堆区也是Java GC机制所管理的主要内存区域,堆区由所有线程共享,在虚拟机启动时创建。堆区的存在是为了存储对象实例,原则上讲,所有的对象都在堆区上分配内存(不过现代技术里,也不是这么绝对的,也有栈上直接分配的)。

绝大多数刚创建的对象会被分配在Eden区,其中的大多数对象很快就会消亡。Eden区是连续的内存空间,因此在其上分配内存极快;

当Eden区满的时候,执行Minor GC,将消亡的对象清理掉,并将剩余的对象复制到一个存活区Survivor0(此时,Survivor1是空白的,两个Survivor总有一个是空白的);

此后,每次Eden区满了,就执行一次Minor GC,并将剩余的对象都添加到Survivor0;

当Survivor0也满的时候,将其中仍然活着的对象直接复制到Survivor1,以后Eden区执行Minor GC后,就将剩余的对象添加Survivor1(此时,Survivor0是空白的)。

当两个存活区切换了几次(HotSpot虚拟机默认15次,用-XX:MaxTenuringThreshold控制,大于该值进入老年代)之后,仍然存活的对象(其实只有一小部分,比如,我们自己定义的对象),将被复制到老年代。

如何确定某个对象是垃圾?

在这一小节我们先了解一个最基本的问题:如果确定某个对象是“垃圾”?既然垃圾收集器的任务是回收垃圾对象所占的空间供新的对象使用,那么垃圾收集器如何确定某个对象是“垃圾”?—即通过什么方法判断一个对象可以被回收了。

在Java中采取了 可达性分析法。该方法的基本思想是通过一系列的“GC Roots”对象作为起点进行搜索,如果在“GC Roots”和一个对象之间没有可达路径,则称该对象是不可达的,不过要注意的是被判定为不可达的对象不一定就会成为可回收对象。被判定为不可达的对象要成为可回收对象必须至少经历两次标记过程,如果在这两次标记过程中仍然没有逃脱成为可回收对象的可能性,则基本上就真的成为可回收对象了。

java 设置启动参数设置_1.java程序启动参数配置相关推荐

  1. 2.实验室打卡精灵2.0-单实例化、开机启动、托盘操作、程序启动时隐藏主窗口

    老规矩,上一张图片 最近对实验室打卡精灵做了一些优化,基本上达到了最初设想的功能. 现在的功能包括: 1.自定义早上.中午.下午.晚上的打卡时间 2.软件单实例化,即如果已经运行了一次再次运行会弹出& ...

  2. android 服务开机启动慢,如何解决Android程序启动慢的问题

    经过不断地试错,终于找到了问题所在. 原因: AndroidMenifest.xml中对我的主Activity的方向进行了显式地设置(android:screenOrientation="l ...

  3. java 提醒小工具_【JAVA】一个简单的定时提醒小程序

    [Java] 纯文本查看 复制代码import javax.swing.JOptionPane; public class Test { public static void main(String[ ...

  4. java实现进程管理_用java来实现一个进程管理系统

    展开全部 构造方法摘要 ProcessBuilder(List command) 利用指定的操作系统程序和参数62616964757a686964616fe59b9ee7ad9431333361303 ...

  5. 痞子衡嵌入式:揭秘i.MXRT1060,1010上串行NOR Flash冗余程序启动设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1060,1010上串行NOR Flash冗余程序启动设计. 工业产品设计里经常会有冗余程序/备份程序设计的需求,因为在工业 ...

  6. 计算机win10启动慢,Win10 开机慢/Win10启动慢的常见原因

    吴川 华南区技术负责人 概要 很多用户反馈电脑经过使用一段时间后,在开机或运行的时候变得十分缓慢.本文将针对Win 10启动慢(Win 10开机慢)这一问题,来为大家分析其原因及解决方案. 新买的电脑 ...

  7. python函数默认参数_Python中函数的默认参数问题

    前几天,运营反馈了一个BUG,某些数据在写入数据库后,其时间字段出现异常,与当前时间相差较多. 由于代码是不是我写的,所以开始一遍阅读代码一遍排查问题. 在主流程中,仅仅发现了一个对时间赋值的语句,并 ...

  8. java 启动参数 配置,java程序启动参数设置

    有些时候我们需要在java程序启动时设置一些系统属性值,然后程序启动后可以获取这些系统属性值并进行一些逻辑处理.例如我们在使用Maven打包的时候如果想跳过test执行,可以使用如下命令: mvn c ...

  9. eclipse java启动参数设置_[Java教程]eclipse.ini配置eclipse的启动参数

    [Java教程]eclipse.ini配置eclipse的启动参数 0 2013-09-28 01:00:11 Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$EC ...

  10. eclipse java启动参数_Eclipse启动参数设置

    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将- ...

最新文章

  1. 055——VUE中vue-router之路由参数的随意设置与伪静态链接地址处理:
  2. java----连接池C3p0使用的补充
  3. SQL Server 2000 JDBC驱动的完整安装及测试说明
  4. js 通用 保留两位小数 金额千分位格式化
  5. 纯JS前端分页方法(JS分页)
  6. redis数据类型 - Hash类型
  7. Excel 修改 【数据图表】 的 【数据源】 的范围 (VBA)
  8. 解决linux sshd 超时问题
  9. ros下各个包中的map的格式
  10. windows .ssh文件位置 hosts位置
  11. 极光 android,android 极光IM集成
  12. 几种主流的分布式定时任务
  13. 戴尔计算机更新程序,戴尔电脑怎么关闭自动更新系统
  14. python分号报错_go、java已经python中分号的使用
  15. 数据整理—dplyr包(mutate系列)
  16. 互联网公司那些价值观-阿里巴巴
  17. 点阵字库(字模)生成器 4.0 TS4
  18. Python对象的浅拷贝与深拷贝
  19. 网络天才网页中文版_【网络天才网页版】网络天才最新中文网页版下载v2.2.3-街机中国...
  20. java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解

热门文章

  1. USACO 3.3 Riding the Fences(欧拉路输出路径)
  2. 获取枚举类型的字符串
  3. 在Spring IoC中,依赖注入和依赖查找的数据来源区别
  4. mysql中的like查询能否用的到索引
  5. Linux 进程间通信 无名管道(pipe)
  6. LeetCode之Rectangle Overlap(Kotlin)
  7. Visitor Pattern
  8. centos6 安装glibc-2.14.1
  9. 18.1---不用加号的加法(CC150)
  10. 磁盘设置压缩导致无法将数据库还原到该硬盘的问题