`

java jdk / api

    博客分类:
  • Java
阅读更多

Oracle JDK 7

http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.rpm
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.rpm
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-arm.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-macosx-x64.dmg
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-i586.tar.Z
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-i586.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-sparc.tar.Z
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-sparc.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-sparcv9.tar.Z
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-sparcv9.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-x64.tar.Z
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-solaris-x64.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-windows-i586.exe
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-windows-x64.exe

 

 

 

API

http://www.gotapi.com/html

http://java.sun.com/reference/api/


http://java.sun.com/j2se/1.5.0/docs/images/j2se5.gif

 http://java.sun.com/javase/reference/api.jsp

Core API Docs

7* English
6 English , Chinese , Japanese
5.0 English , Chinese , Japanese
1.4.2 English
1.4.2 Japanese
1.3.1 English
1.3.0 Japanese
JDK Programmer Guides  
7* English
6 English , Japanese
5.0 English , Japanese
1.4.2 English
1.4.2 Japanese
1.3.1 English
1.3.0 Japanes

Non-Core APIs included in JDK

<!-- <td><a href="/javase/6/docs/jre/api/jpda/jdi/">JDI</a></td> -->
APT
Doclet JAAS
JDI JDWP
JGSS JNLP
Management Extension Plugin DOM
Management MIB Taglet

Below is a list of technologies that have API specifications:
 
Standard Edition
 
 
 
 
 
Enterprise Edition
 
 
 
 
 
Micro Edition
 
 
JavaFX
 
 
Javacard
 
 
Java Web Services
 
 
XML
XML
 
 
Other Technologies
 
 
 
 
 
 
 
 
Other Technologies
JAVA SE 5 语言功能增强

1、自动装箱

2、增强for循环

3、静态导入

4、可变参数

5、类型安全枚举

JDK5.0   新特性介绍

4  小点,  4  大点

foreach  循环,静态导入,方法可变长参数,自动封箱和自动解封

枚举,范型,注释  (  标注  )  ,并发

 

http://java.sun.com/javase/technologies/
API CHM
chm 1.5
http://www.javatang.com/_download/jdk150.ZH_cn.rar  
http://download.developers.sun.com.cn/javadoc/html/zh_CN/api/index.html
online 1.6
http://download.developers.sun.com.cn/javadoc/jdk6/docs/zh/api/index.html
zip 1.6
http://download.developers.sun.com.cn/javadoc/jdk6/javase-6-doc-api-zh_CN.zip  
chm 1.6
http://www.javatang.com/_download/jdk6.ZH_cn.rar  
http://download.developers.sun.com.cn/javadoc/jdk6/JDK_API_1_6_zh_CN.CHM

IBM SDK
IBM SDK 下载地址
https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-sdk6&S_PKG=intel_6sr5&S_TACT=105AGX05&S_CMP=JDK&lang=en_US&cp=UTF-8
IBM SDK http 下载方式
https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-sdk6&S_PKG=intel_6sr5&S_TACT=105AGX05&S_CMP=JDK&lang=en_US&cp=UTF-8&dlmethod=http
IBM 32-bit SDK for Linux on Intel architecture, Java Technology Edition 2009-05-29








 




JDK 以前版本下载
http://java.sun.com/javase/downloads/previous.jsp
Java SE Development Kit 5.0u17
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-1.5.0_17-oth-JPR@CDS-CDS_Developer

http://cds-esd.sun.com/ESD5/JSCDL/jdk/1.5.0_17/jdk-1_5_0_17-windows-i586-p.exe?AuthParam=1231469535_7881c2d4bb56bfc669df4d9f8f75b32b&TicketId=nod1AVgUQHF7nuUtnUGcWZaZdA%3D%3D&GroupName=CDS&FilePath=/ESD5/JSCDL/jdk/1.5.0_17/jdk-1_5_0_17-windows-i586-p.exe&File=jdk-1_5_0_17-windows-i586-p.exe

http://cds-esd.sun.com/ESD5/JSCDL/jdk/1.5.0_17/jdk-1_5_0_17-windows-i586-p-iftw.exe?AuthParam=1231469540_fb5c508c835f9d29171984e187a56d79&TicketId=B%2Fw2lh2FS1hMShxFOFNbkwbl&GroupName=CDS&FilePath=/ESD5/JSCDL/jdk/1.5.0_17/jdk-1_5_0_17-windows-i586-p-iftw.exe&File=jdk-1_5_0_17-windows-i586-p-iftw.exe


CHM 资源

http://www.yaosansi.com/post/551.html
http://javaplan.iteye.com/blog/51353
ADO 2.5 Microsoft ADO 2.5 程序员参考.chm  
ADO.NET_微软出版社 《ADO.Net技术内幕》《Microsoft ADO.Net Core Reference 》.NET.En.chm  
ADO210.CHM  
asp.net 2.0_Apress.ASP.Dot.NET.2.0.Revealed.eBook-LiB.chm  
asp中文.chm  
ASP基础教材.chm  
asp帮助.chm  
ASP应用手册.chm  
ASP编程完全手册 1.0(任风流 整理制作).chm  
Crystal_水晶报表中文帮助手册(CHM).chm  
css.chm  
css20(苏昱).chm  
css20.chm  
css2gb.chm  
CSS_5日精通CSS层叠样式表.chm  
CSS_精通CSS滤镜.chm  
CSS样式表.CHM  
css样式表滤镜.chm  
C语言编程宝典.chm  
DELPHI基础教程.chm  
DHTML 手册(lemon).chm  
DHTML.CHM  
DHTML_5日学会动态HTML.chm  
DHTML文档对象模型.CHM  
DHTML默认行为.chm  
DOS实例手册.chm  
DOTNET_使用 Microsoft .NET 的企业解决方案模式.chm  
English_英语书大全.chm  
English_英语资料大全.chm  
Flash8help_cn(Flash 8 帮助).chm  
FVSDKMasmAll.chm  
FWHelp8_cn(Fireworks 帮助).chm  
html基础教程.chm  
Interdev6.chm  
JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm  
JAVA_完完全全的中文版Java API_Sun公司官方出版.chm  
JAVA_精通swing程序设计.chm  
JavaScript 5.CHM  
javascript5.5.chm  
JavaScript对象与数组参考大全 .chm  
JavaScript权威指南(英文版).chm  
JAVA语言入门 .chm  
Jet sql.chm  
jscript5.5docs.CHM  
JSP_图解JSP环境安装配置.chm  
JSP语法(中华电脑书库 整理制作).chm  
logo设计.chm  
MySQL 4.1.0.chm  
MySQL.chm  
MySQL中文参考手册.chm  
MySQL中文参考手册_.chm  
Net.chm  
Perl_CGI六天入门.chm  
PHP4 中文参考手册.chm  
PHP4.chm  
php4gb.chm  
PHP4完全中文手册.chm  
PHP5学习(全英文).chm  
php手册-PHP5研究室编译 无乱码版本.chm  
PHP手册.chm  
PHP的一些例程.chm  
PHP编码规范.chm  
PowerBuilder使用技巧集.chm  
PowerBuilder系列讲座.chm  
PowerBuilder编程技巧.chm  
script(windows脚本技术,中文版).CHM  
script56(最新的Script帮助文档 英文版,类似于MSDN).chm  
SQL Server精华 (CHM).chm  
SQL语言参考大全(CHM版)2.1M.chm  
Struts Taglibs-chm.chm  
Tomcat.chm  
Validato_表单验证 Validator v1.0(作者 我佛山人).chm  
VBSCRIP5.CHM  
Visual InterDev 6.0 使用指南.chm  
win32api(新编WINDOWSAPI大全).chm  
Windows 程序设计ProgrammingWindows.chm  
WINDOWS脚本技术.chm  
XML_Oreilly.Learning.XML.2nd.Edition.eBook-LiB.chm  
XML指南CHM版.chm  
正则表达式系统教程.CHM  
红客教程.chm  
网页设计配色常识.chm  
设计模式迷你手册(RedSword软件工作室).chm  
软件工程思想.chm

JDK5.0垃圾收集优化

http://blog.csdn.net/calvinxiu/archive/2007/05/18/1614473.aspx

 

一、参考资料:

  1. Tuning Garbage Collection with the 5.0 Java Virtual Machine  官方指南。
  2. Hotspot memory management whitepaper  官方白皮书。
  3. Java Tuning White Paper  官方文档。
  4. FAQ about Garbage Collection in the Hotspot   官方FAQ,JVM1.4.2。
  5. Java HotSpot 虚拟机中的垃圾收集  JavaOne2004上的中文ppt
  6. A Collection of JVM Options  JVM选项的超完整收集。

二、基本概念

1、堆(Heap)

JVM管理的内存叫堆。在32Bit操作系统上有1.5G-2G的限制,而64Bit的就没有。

JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。

JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。

默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由-XX:MinHeapFreeRatio=指定。 
默认空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制,可以由-XX:MaxHeapFreeRatio=指定。

服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小,所以上面的两个参数没啥用。 

 

2.基本收集算法

  1. 复制 :将堆内分成两个相同空间,从根(ThreadLocal的对象,静态对象)开始访问每一个关联的活跃对象,将空间A的活跃对象全部复制到空间B,然后一次性回收整个空间A。
    因为只访问活跃对象,将所有活动对象复制走之后就清空整个空间,不用去访问死对象,所以遍历空间的成本较小,但需要巨大的复制成本和较多的内存。
  2. 标记清除(mark-sweep): 收集器先从根开始访问所有活跃对象,标记为活跃对象。然后再遍历一次整个内存区域,把所有没有标记活跃的对象进行回收处理。该算法遍历整个空间的成本较大暂停时间随空间大小线性增大,而且整理后堆里的碎片很多。
  3. 标记整理(mark-sweep-compact): 综合了上述两者的做法和优点,先标记活跃对象,然后将其合并成较大的内存块。

    可见,没有免费的午餐,无论采用复制还是标记清除算法,自动的东西都要付出很大的性能代价。

3.分代

    分代是Java垃圾收集的一大亮点,根据对象的生命周期长短,把堆分为3个代:Young,Old和Permanent,根据不同代的特点采用不同的收集算法,扬长避短也。

Young(Nursery),年轻代 。研究表明大部分对象都是朝生暮死,随生随灭的。因此所有收集器都为年轻代选择了复制算法。
    复制算法优点是只访问活跃对象,缺点是复制成本高。因为年轻代只有少量的对象能熬到垃圾收集,因此只需少量的复制成本。而且复制收集器只访问活跃对象,对那些占了最大比率的死对象视而不见,充分发挥了它遍历空间成本低的优点。

    Young的默认值为4M,随堆内存增大,约为1/15,JVM会根据情况动态管理其大小变化。
    -XX:NewRatio= 参数可以设置Young与Old的大小比例,-server时默认为1:2,但实际上young启动时远低于这个比率?如果信不过JVM,也可以用-Xmn硬性规定其大小,有文档推荐设为Heap总大小的1/4。

    Young的大小非常非常重要,见“后面暂停时间优先收集器”的论述。

    Young里面又分为3个区域,一个Eden,所有新建对象都会存在于该区,两个Survivor区,用来实施复制算法。每次复制就是将Eden和第一块 Survior的活对象复制到第2块,然后清空Eden与第一块Survior。Eden与Survivor的比例由 -XX:SurvivorRatio=设置,默认为32。Survivio大了会浪费,小了的话,会使一些年轻对象潜逃到老人区,引起老人区的不安,但这 个参数对性能并不重要。 

Old(Tenured),年老代 。年轻代的对象如果能够挺过数次收集,就会进入老人区。老人区使用标记整理算法。因为老人区的对象都没那么容易死的,采用复制算法就要反复的复制对象,很不合算,只好采用标记清理算法,但标记清理算法其实也不轻松,每次都要遍历区域内所有对象,所以还是没有免费的午餐啊。

-XX:MaxTenuringThreshold=设置熬过年轻代多少次收集后移入老人区,CMS中默认为0,熬过第一次GC就转入,可以用-XX:+PrintTenuringDistribution查看。

Permanent,持久代。 装载Class信息等基础数据,默认64M,如果是类很多很多的服务程序,需要加大其设置-XX:MaxPermSize=,否则它满了之后会引起 fullgc()或Out of Memory。 注意Spring,Hibernate这类喜欢AOP动态生成类的框架需要更多的持久代内存。

4.minor/major collection

    每个代满了之后都会促发collection,(另外Concurrent Low Pause Collector默认在老人区68%的时候促发)。GC用较高的频率对young进行扫描和回收,这种叫做minor collection
而因为成本关系对Old的检查回收频率要低很多,同时对Young和Old的收集称为major collection。
    System.gc()会引发major collection,使用-XX:+DisableExplicitGC禁止它,或设为CMS并发-XX:+ExplicitGCInvokesConcurrent。

5.小结

Young -- minor collection -- 复制算法

Old(Tenured) -- major colletion -- 标记清除/标记整理算法

 

三、收集器

1.古老的串行收集器(Serial Collector)

    使用 -XX:+UseSerialGC,策略为年轻代串行复制,年老代串行标记整理。

2.吞吐量优先的并行收集器(Throughput Collector)

    使用 -XX:+UseParallelGC ,也是JDK5 -server的默认值。策略为:
    1.年轻代暂停应用程序,多个垃圾收集线程并行的复制收集,线程数默认为CPU个数,CPU很多时,可用–XX:ParallelGCThreads=减少线程数。
    2.年老代暂停应用程序,与串行收集器一样,单垃圾

 

end

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics