当前位置: 首页 > news >正文

佛山网站搭建费用怎样自做网站

佛山网站搭建费用,怎样自做网站,企业网站优化三层含义,绍兴网站建设方案推广在一些规模稍大的应用中#xff0c;Java虚拟机#xff08;JVM#xff09;的内存设置尤为重要#xff0c;想在项目中取得好的效率#xff0c;GC#xff08;垃圾回收#xff09;的设置是第一步。 PermGen space#xff1a;全称是Permanent Generation space.就是说是永久…在一些规模稍大的应用中Java虚拟机JVM的内存设置尤为重要想在项目中取得好的效率GC垃圾回收的设置是第一步。 PermGen space全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space存放Instance。GC(Garbage Collection)应该不会对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。 Java Heap分为3个区1.Young2.Old3.Permanent Young保存刚实例化的对象。当该区被填满时GC会将对象移到Old区。Permanent区则负责保存反射对象本文不讨论该区。 JVM的Heap分配可以使用-X参数设定-Xms初始Heap大小-Xmxjava heap最大值-Xmnyoung generation的heap大小。 JVM有2个GC线程第一个线程负责回收Heap的Young区第二个线程在Heap不足时遍历Heap将Young 区升级为Older区。 Older区的大小等于-Xmx减去-Xmn不能将-Xms的值设的过大因为第二个线程被迫运行会降低JVM的性能。 为什么一些程序频繁发生GC 有如下原因 1.程序内调用了System.gc()或Runtime.gc()。 2.一些中间件软件调用自己的GC方法此时需要设置参数禁止这些GC。 3.Java的Heap太小一般默认的Heap值都很小。 4.频繁实例化对象Release对象 此时尽量保存并重用对象例如使用StringBuffer()和String()。 如果你发现每次GC后Heap的剩余空间会是总空间的50%这表示你的Heap处于健康状态,许多Server端的Java程序每次GC后最好能有65%的剩余空间 经验之谈 1Server端JVM最好将-Xms和-Xmx设为相同值。为了优化GC最好让-Xmn值约等于-Xmx的1/3。 2一个GUI程序最好是每10到20秒间运行一次GC每次在半秒之内完成。 注意 1增加Heap的大小虽然会降低GC的频率但也增加了每次GC的时间。并且GC运行时所有的用户线程将暂停也就是GC期间Java应用程序不做任何工作。 2Heap大小并不决定进程的内存使用量。进程的内存使用量要大于-Xmx定义的值因为Java为其他任务分配内存例如每个线程的Stack等。 Stack的设定 每个线程都有他自己的Stack。 -Xss :每个线程的Stack大小,Stack的大小限制着线程的数量。如果Stack过大就好导致内存溢漏。-Xss参数决定Stack大小例如-Xss1024K。如果Stack太小也会导致Stack溢漏。 硬件环境 硬件环境也影响GC的效率例如机器的种类内存swap空间和CPU的数量。 如果你的程序需要频繁创建很多transient对象会导致JVM频繁GC。这种情况你可以增加机器的内存来减少Swap空间的使用。 4种GC 1、第一种为单线程GC也是默认的GC该GC适用于单CPU机器。 2、第二种为Throughput GC是多线程的GC适用于多CPU使用大量线程的程序。第二种GC与第一种GC相似不同在于GC在收集Young区是多线程的但在Old区和第一种一样仍然采用单线程。-XX:UseParallelGC参数启动该GC。 3、第三种为Concurrent Low Pause GC类似于第一种适用于多CPU并要求缩短因GC造成程序停滞的时间。这种GC可以在Old区的回收同时运行应用程序。-XX:UseConcMarkSweepGC参数启动该GC。 4、第四种为Incremental Low Pause GC适用于要求缩短因GC造成程序停滞的时间。这种GC可以在Young区回收的同时回收一部分Old区对象。-Xincgc参数启动该GC。 单文件的JVM内存进行设置 默认的java虚拟机的大小比较小在对大数据进行处理时java就会报错java.lang.OutOfMemoryError。 设置jvm内存的方法对于单独的.class可以用下面的方法对Test运行时的jvm内存进行设置。 java -Xms64m -Xmx256m Test -Xms是设置内存初始化的大小 -Xmx是设置最大能够使用内存的大小最好不要超过物理内存大小 tomcat启动jvm内存设置 Linux 在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh添加JAVA_OPTS-Xms512m -Xmx1024m要加“m”说明是MB否则就是KB了在启动tomcat时会报内存不足。 -Xms初始值 -Xmx最大值 -Xmn最小值Windows 在catalina.bat最前面加入 set JAVA_OPTS-Xms128m -Xmx350m 如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..windows服务执行的是bin/tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.解决办法: 修改注册表HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Tomcat Service Manager/Tomcat5/Parameters/JavaOptions 原值为 -Dcatalina.homeC:/ApacheGroup/Tomcat 5.0 -Djava.endorsed.dirsC:/ApacheGroup/Tomcat 5.0/common/endorsed -Xrs加入 -Xms300m -Xmx350m 重起tomcat服务,设置生效 weblogic启动jvm内存设置 在weblogic中可以在startweblogic.cmd中对每个domain虚拟内存的大小进行设置默认的设置是在commEnv.cmd里面。 JBoss 默认可以使用的内存为64MB  $JBOSSDIR$/bin/run.config  JAVA_OPTS -server -Xms128 -Xmx512 Eclipse 在所在目录下键入  eclipse.exe -vmargs -Xms256m -Xmx512m  256m表示JVM堆内存最小值  512m表示JVM堆内存最大 Websphere 进入控制台去设置应用程序服务器 server1 进程定义 Java 虚拟机 JVM内存分配 如果采取默认配置的话JVM默认只能分配到最大64M内存(默认大小和JVM版本有关系)这在生产环境里肯定是不够将会导致用户通过WEB方式无法访问应用服务但是系统进程中JBOSS服务却没有宕掉的奇怪现象。 修改$jboss/bin/run.conf文件找到“#JAVA_OPTS”如果没有该字符串请添加并去掉最前面的“#”修改该字符串(含双引号)为JAVA_OPTS-server -Xms512m -Xmx512m”这是分配JVM的最小和最大内存取决于硬件物理内存的大小建议均设为物理内存的一半。 JAVA_OPTS为Xms 520m -Xmx 1500m -Xss 128k jboss性能优化:内存紧张的问题 JAVA_OPTS -Xms 520m -Xmx 1220m -Xss 15120k XX:AggressiveHeap 这个JAVA_OPTS犯了2个致命的错误 1. XX:AggressiveHeap会使得 Xms 1220m没有意义。这个参数让jvm忽略Xmx参数疯狂地吃完一个G物理内存再吃尽一个G的swap。 另外Xmx作为允许jvm使用的最大内存数量不应该超过物理内存的90。 而之所以使用了这个参数是因为不加的话JBoss会在运行一天左右的时间后迅速崩溃上机课是甚至出现过半个小时就崩溃的情况。 之所以要用这个参数用swap支持服务器运行是因为犯了下面的错误 2. -Xss 15120k 这使得JBoss每增加一个线程thread)就会立即消耗15M内存而最佳值应该是128K,默认值好像是512k. 3. -Xms指定初始化内存大小 所作的修改 1.修改JAVA_OPTS,去掉XX:AggressiveHeap修改Xss。现在的JAVA_OPTS为 Xms 520m -Xmx 1500m -Xss 128k 2.修改deploy/jbossweb-tomcat55.sar/service.xml 将maxThreads根据目前的访问量由默认的250降为75并使用jboss 4默认未写在标准service.xml里面而jboss 3写入了的2个参数: maxSparseThreads200minSparseThreads100 3.修改oracle-ds.xml将最大连接数有150降为50. JVM的垃圾回收机制详解和调优 1.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc也没有规定gc如何工作。不过常用的jvm都有gc而且大多数gc都使用类似的算法管理内存和执行收集操作。 在充分理解了垃圾收集算法和执行过程后才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如实时应用程序主要是为了避免垃圾收集中断而大多数OLTP应用程序则注重整体效率。理解了应用程序的工作负荷和jvm支持的垃圾收集算法便可以进行优化配置垃圾收集器。 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。 1.1.引用计数 引用计数存储对特定对象的所有引用数也就是说当应用程序创建引用以及引用超出范围时jvm必须适当增减引用数。当某对象的引用数为0时便可以进行垃圾收集。 1.2.对象引用遍历 早期的jvm使用引用计数现在大多数jvm采用对象引用遍历。对象引用遍历从一组对象开始沿着整个对象图上的每条链接递归确定可到达reachable的对象。如果某对象不能从这些根对象的一个至少一个到达则将它作为垃圾收集。在对象遍历阶段gc必须记住哪些对象可以到达以便删除不可到达的对象这称为标记marking对象。 下一步gc要删除不可到达的对象。删除时有些gc只是简单的扫描堆栈删除未标记的未标记的对象并释放它们的内存以生成新的对象这叫做清除sweeping。这种方法的问题在于内存会分成好多小段而它们不足以用于新的对象但是组合起来却很大。因此许多gc可以重新组织内存中的对象并进行压缩compact形成可利用
http://www.zqtcl.cn/news/329408/

相关文章:

  • 基金网站建设需求书昆明网站制作工具
  • 京东网上购物商城官方网站国外网站页头设计图片
  • 芯片设计公司排名安卓优化大师app
  • 如何进行网站域名解析网站开发的工作方法
  • 专门做衣服的网站有哪些南宁企业官网seo
  • 网站 建设 内容中铁建设集团有限公司招聘官网
  • 个人电脑做服务器网站cn域名注册流程
  • 网站开发的思维导图哪些网站是react做的
  • 住房和城乡建设部网站注册进度常德建设局网站
  • 网站导购话术怎么做免费的产品图片网站
  • 网站设计外文文献建建设网站公司
  • 打开网站说建设中是什么问题网站开发收税
  • 海口建设厅网站grimhelm wordpress
  • 如何快速提升网站pr淮北房产网
  • 微网站和微信广州营销型网站建设团队
  • 企业网站制作托管微信建站网站
  • h5网站如何做排名济南网站建设选聚搜网络
  • 网站建设 手机wordpress 仿煎蛋主题
  • 织梦可以仿所有网站吗电子商务网站建设臧良运课后答案
  • 怎样创建个人购物网站wordpress没有外观
  • 衡水手机网站建设公司计算机大专学历有用吗
  • 有哪些网站做的很好桐乡市建设局官方网站
  • 做公众号和网站一样吗免费正能量网站下载ww
  • 使用帝国做软件下载网站源码顺义区做网站的公司
  • 网站用什么颜色成都网站建设公司服务
  • 重庆手机网站方案设计凡科建站网站怎么保存发给别人
  • 北京住房建设官方网站xampp wordpress服务器
  • 卖衣服的网站建设素材网站免费短视频
  • 萍乡网站建设哪家公司好搜索引擎推广预算
  • 如何做网站不容易被攻击网站定位策划书