首页编程java编程java中clean什么意思 eclipse菜单里面的clean和build是干什么用的

java中clean什么意思 eclipse菜单里面的clean和build是干什么用的

编程之家2023-10-1288次浏览

大家好,java中clean什么意思相信很多的网友都不是很明白,包括eclipse菜单里面的clean和build是干什么用的也是一样,不过没有关系,接下来就来为大家分享关于java中clean什么意思和eclipse菜单里面的clean和build是干什么用的的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

java中clean什么意思 eclipse菜单里面的clean和build是干什么用的

Java中full gc什么意思

转发的~但能解决你的问题

除直接调用System.gc外,触发Full GC执行的情况有如下四种。

1.旧生代空间不足

java中clean什么意思 eclipse菜单里面的clean和build是干什么用的

旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:

java.lang.OutOfMemoryError: Java heap space

为避免以上两种状况引起的FullGC,调优时应尽量做到让对象在Minor GC阶段被回收、让对象在新生代多存活一段时间及不要创建过大的对象及数组。

java中clean什么意思 eclipse菜单里面的clean和build是干什么用的

2. Permanet Generation空间满

PermanetGeneration中存放的为一些class的信息等,当系统中要加载的类、反射的类和调用的方法较多时,Permanet Generation可能会被占满,在未配置为采用CMS GC的情况下会执行Full GC。如果经过Full GC仍然回收不了,那么JVM会抛出如下错误信息:

java.lang.OutOfMemoryError: PermGen space

为避免Perm Gen占满造成Full GC现象,可采用的方法为增大Perm Gen空间或转为使用CMS GC。

3. CMS GC时出现promotion failed和concurrent mode failure

对于采用CMS进行旧生代GC的程序而言,尤其要注意GC日志中是否有promotion failed和concurrent mode failure两种状况,当这两种状况出现时可能会触发Full GC。

promotionfailed是在进行Minor GC时,survivor space放不下、对象只能放入旧生代,而此时旧生代也放不下造成的;concurrent mode failure是在执行CMS GC的过程中同时有对象要放入旧生代,而此时旧生代空间不足造成的。

应对措施为:增大survivorspace、旧生代空间或调低触发并发GC的比率,但在JDK 5.0+、6.0+的版本中有可能会由于JDK的bug29导致CMS在remark完毕后很久才触发sweeping动作。对于这种状况,可通过设置-XX:CMSMaxAbortablePrecleanTime=5(单位为ms)来避免。

4.统计得到的Minor GC晋升到旧生代的平均大小大于旧生代的剩余空间

这是一个较为复杂的触发情况,Hotspot为了避免由于新生代对象晋升到旧生代导致旧生代空间不足的现象,在进行Minor GC时,做了一个判断,如果之前统计所得到的Minor GC晋升到旧生代的平均大小大于旧生代的剩余空间,那么就直接触发Full GC。

例如程序第一次触发MinorGC后,有6MB的对象晋升到旧生代,那么当下一次Minor GC发生时,首先检查旧生代的剩余空间是否大于6MB,如果小于6MB,则执行Full GC。

当新生代采用PSGC时,方式稍有不同,PS GC是在Minor GC后也会检查,例如上面的例子中第一次Minor GC后,PS GC会检查此时旧生代的剩余空间是否大于6MB,如小于,则触发对旧生代的回收。

除了以上4种状况外,对于使用RMI来进行RPC或管理的Sun JDK应用而言,默认情况下会一小时执行一次Full GC。可通过在启动时通过- java-Dsun.rmi.dgc.client.gcInterval=3600000来设置Full GC执行的间隔时间或通过-XX:+ DisableExplicitGC来禁止RMI调用System.gc。

eclipse菜单里面的clean和build是干什么用的

eclipse菜单里面的clean和build的作用是:

1、clean的功能,一般是用来清理项目中错误的文件的,比如工程中导入后配置了正确的classpath,但是依然报错,那么就启用clean清理一下就可以正常编译了

2、build的意思就是构建,就是把分散的java文件的依赖关系编译在一起,然后生成可以执行的class文件,就可以在jvm中运行了。

android studio 里面build,clean区别

1、Make Project:编译Project下所有Module,一般是自上次编译后Project下有更新的文件,不生成apk。

2、Make Selected Modules:编译指定的Module,一般是自上次编译后Module下有更新的文件,不生成apk。

3、Clean Project:删除之前编译后的编译文件,并重新编译整个Project,比较花费时间,不生成apk。

4、Rebuild Project:先执行Clean操作,删除之前编译的编译文件和可执行文件,然后重新编译新的编译文件,不生成apk,这里效果其实跟Clean Project一样。

5、Build APK:前面4个选项都是编译,没有生成apk文件,如果想生成apk,需要点击Build APK。6、Generate Signed APK:生成有签名的apk。

为了更清楚的知道clean和rebuild到底有什么区别,我把自己的一个小项目执行了一下这两个操作,并用对比软件对比了一下,红色部分是执行build操作的时候多出来的步骤。

大概意思:

:app:incrementalDebugJavaCompilationSafeguard

在incremental-safeguard目录下生成tag.txt,标识已经执行过task

:app:compileDebugJavaWithJavac

intermediates下生成classes文件夹,以及对应的dependency-cache文件夹,classes文件夹中包含之前已经解压的各个aar文件中的类,但是不包含libs下的jar包中的内容;同时还会生成一个tmp文件夹,内容为空;目录下不包括libs下的jar包内容

compile Debug Ndk UP-TO-DATE

编译调试NDK更新

:app:compileDebugSources

:app:incrementalDebugUnitTestJavaCompilationSafeguard UP-TO-DATE

编译调试单元测试的更新

:app:compileDebugUnitTestJavaWithJavac

:app:processDebugJavaRes UP-TO-DATE

res资源更新

:app:processDebugUnitTestJavaRes UP-TO-DATE

单元测试中res资源的更新

:app:compileDebugUnitTestSources

:app:incrementalDebugAndroidTestJavaCompilationSafeguard

:app:compileDebugAndroidTestJavaWithJavac

:app:compileDebugAndroidTestNdk UP-TO-DATE

单元测试NDK更新

:app:compileDebugAndroidTestSources

基本上build比clean多的就是会把NDK重新编译一遍,有更新的话就更新。以及一些资源文件的更新。基本上差不多。

这样看来,clean项目一般已经够用了,如果NDK以及资源文件有更改的话建议rebuild。

说的不对的地方,还希望大家包含。(不服来打)

Java eclipse 上terminate显示红色什么意思

Eclipse中tomcat service设置

选择window----show view---services可以看到服务的面板

双击tomcat进入配置界面Service Locations(Specify the server path(i.e. catalina.base) and deploy path. Server must be published with no modules present to make changes.)选项变灰色无法更改配置。

若要更改,则先把tomcat下的所有项目移除。并右击,clean...之后方可设置。。。启动后将又变为黑色。

默认选项为:

Use workspace metadata(dose not modify Tomcat installation)

修改选项为:

Use Tomcat installation(takes control of Tomcat installation)

这样在Eclipse启动了tomcat服务器,我们也能够访问到tomcat本地管理首页。

否则只能在DOS下使用Tomcat的启动命令才能访问Tomcat本地管理首页。

java中clean什么意思的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于eclipse菜单里面的clean和build是干什么用的、java中clean什么意思的信息别忘了在本站进行查找哦。

新手自学java看什么书?新手自学java应该看什么书java 架构师是干什么的,java架构师是做什么的