欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Java
来自开放百科 - 灰狐
(版本间的差异)
小 (→图集) |
|||
(未显示1个用户的62个中间版本) | |||
第1行: | 第1行: | ||
− | |||
− | |||
[[Image:Java-90x90.png|right]] | [[Image:Java-90x90.png|right]] | ||
+ | Java | ||
==新闻== | ==新闻== | ||
{{SeeWikipedia|Java (programming language)}} | {{SeeWikipedia|Java (programming language)}} | ||
+ | [[文件:GoogleStartDayMedium.jpg|right|thumb|James Gosling加盟Google]] | ||
+ | *[http://nighthacks.com/roller/jag/entry/next_step_on_the_road Java之父James Gosling正式加盟Google],James Gosling发明的Java彻底改变了企业级计算市场。(March 28, 2011) | ||
<rss>http://java.sys-con.com/index.rss|short|date|max=10</rss> | <rss>http://java.sys-con.com/index.rss|short|date|max=10</rss> | ||
第16行: | 第17行: | ||
第一个Java程序: Hello.java | 第一个Java程序: Hello.java | ||
+ | <source lang="java"> | ||
public class Hello | public class Hello | ||
{ | { | ||
第23行: | 第25行: | ||
} | } | ||
} | } | ||
+ | </source> | ||
+ | |||
+ | [[Image:I-love-coffee-680x100.jpg|我的人生哲学就是工作。--爱迪生]] | ||
+ | |||
+ | ==Java 理论与实践== | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp/part1/index.html Java 理论与实践: 应该在下一个企业应用程序中使用 JMS 吗?] 学习消息排队是如何能够改进企业应用程序的灵活性和可伸缩性的 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp0730/index.html Java 理论与实践: 线程池与工作队列] 线程池有助于实现最佳资源利用率 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp0924/index.html Java 理论与实践: 嗨,我的线程到哪里去了?] 了解如何避免服务器应用程序中的线程泄漏 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp0114/index.html Java 理论与实践: 您的小数点到哪里去了?] 使用浮点数和小数中的技巧和陷阱 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp1126/index.html Java 理论与实践: 并发在一定程度上使一切变得简单] util.concurrent 包简介 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp02183/index.html Java 理论与实践: 变还是不变?] 不变对象能极大地简化您的生活 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp05273/index.html Java 理论与实践: 哈希] 有效和正确定义hashCode()和equals() | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp08223/index.html Java 理论与实践: 构建一个更好的 HashMap] ConcurrentHashMap 如何在不损失线程安全的同时提供更高的并发性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp07233/index.html Java 理论与实践: 并发集合类] ConcurrentHashMap 和 CopyOnWriteArrayList 提供线程安全性和已改进的可伸缩性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp09263/index.html Java 理论与实践: 描绘线程安全性] 线程安全不是一个非真即假的命题 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp11253/index.html Java 理论与实践: JVM 1.4.1 中的垃圾收集] 分代垃圾收集和并发垃圾收集 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp10283/index.html Java 理论与实践: 垃圾收集简史] 垃圾收集是如何工作的? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp03304/index.html Java 理论与实践: 修复 Java 内存模型,第 2 部分] 在 JSR 133 中 JMM 会有什么改变? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp05254/index.html Java 理论与实践: 关于异常的争论] 要检查,还是不要检查? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp06294/index.html Java 理论与实践: 消除 bug] FindBugs 之类的检测工具提供了防止常见编码错误的另一层防护 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp07294/index.html Java 理论与实践: Web 层的状态复制] 有多种用于群集 Web 应用程序的方法 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制] 新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronized | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp11234/index.html Java 理论与实践: 流行的原子] 新原子类是 java.util.concurrent 的隐藏精华 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp12214/index.html Java 理论与实践: 动态编译与性能测量] 动态编译情况下指标评测的风险 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp07265/index.html Java 理论与实践: 做个好的(事件)侦听器] 事件侦听器编写和支持指南 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp09275.html Java 理论与实践: 再谈 Urban 性能传言] 分配比想像的要快,而且会变得更快 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp11225/index.html Java 理论与实践: 用弱引用堵住内存泄漏] 弱引用使得表达对象生命周期关系变得容易了 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp02216.html Java 理论与实践: 伪 typedef 反模式] 扩展不是类型定义 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp03216.html Java 理论与实践: 良好的内务处理实践] 您的资源是否没有及时释放? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp04186/index.html Java 理论与实践: 非阻塞算法简介] 看吧,没有锁定! | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp05236.html Java 理论与实践: 处理 InterruptedException] 捕捉到它,然后怎么处理它? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp06206.html Java 理论与实践: 平衡测试,第 1 部分] 不要仅编写测试,还要编写 bug 检测器 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp09196/index.html Java 理论与实践: 用 JMX 检测应用程序] 只需添加 bean 就可实现立即可视 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp0305.html Java 理论与实践: 理解 JTS —— 事务简介] 事务是可靠应用程序的构建块 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp02277.html Java 理论与实践: 在 JDK 早期版本中使用 Java 5 的语言特性] 即使只能用 JDK 1.4,也可以使用泛型 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp04247.html Java 理论与实践: 闭包之争] Java 语言是否应增加闭包以及如何添加? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp06197.html Java 理论与实践: 正确使用 Volatile 变量] volatile 变量使用指南 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp11137.html Java 理论与实践: 应用 fork-join 框架] 学习如何使用 Java 7 中的 fork-join 框架实现细粒度并行性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp04298.html Java 理论与实践: 使用通配符简化泛型使用] 理解通配符捕获 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jtp08305.html Java 理论与实践: 用动态代理进行修饰] 动态代理是构建 Decorator 和 Adapter 的方便工具 | ||
+ | |||
+ | ==Java 开发 2.0== | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-1/index.html Java 开发 2.0: 使用 Google App Engine] 利用 Groovy、Eclipse 和 JDO 进行快速 Web 应用程序开发 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-2/index.html Java 开发 2.0: 您也可以租用 EC2] 以灵活且低成本的方式创建高效、可伸缩的租借的基础设施 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-4/index.html Java 开发 2.0: 使用方便的 EC2] 快速创建 CRUD Web 应用程序并在 Amazon Elastic Compute Cloud 上运行它 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-5/index.html Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST] REST 式概念和面向文档的数据库实战 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-6/index.html Java 开发 2.0: 针对 Google App Engine 的 Gaelyk] 基于 Groovy 的框架加速 Google App Engine 上的开发工作 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-7.html Java 开发 2.0: Kilim 简介] 一种用于实现 Java 并发性的角色框架 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-8/index.html Java 开发 2.0: NoSQL] 使用 Bigtable 和 Groovy 的 Gaelyk 进行无模式数据建模 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-9/index.html Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分] 开始使用 SimpleDB 和 Amazon SDK | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-10.html Java 开发 2.0: 使用 Amazon SimpleDB 实现云存储,第 2 部分] 使用 SimpleJPA 实现简单对象持久化 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-11/index.html Java 开发 2.0: 使用 Hibernate Shards 进行切分] 关系数据库的水平伸缩 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-12/index.html Java 开发 2.0: MongoDB:拥有 RDBMS 特性的 NoSQL 数据存储] 使用 Java 代码和 Groovy 创建和查询文档 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-13/index.html Java 开发 2.0: 使用 Objectify-Appengine 进行 Twitter 挖掘,第 1 部分] 对象域建模和非关系型数据存储的持久性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-14/index.html Java 开发 2.0: 使用 Objectify-Appengine 进行 Twitter 挖掘,第 2 部分] 通过 Gaelyk、JSON 和 Ajax 快速创建 GAE Web 应用程序 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-15/index.html Java 开发 2.0: 用 Hadoop MapReduce 进行大数据分析] 成堆的数据如何变成信息金矿 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-16/index.html Java 开发 2.0: 攀登 Elastic Beanstalk] 使用 Amazon 无限灵活的 PaaS 扩展云 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-17/index.html Java 开发 2.0: 使用 Amazon SQS 进行基于云计算的消息传送] 使用 Amazon 的消息队列系统 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-18/index.html Java 开发 2.0: 面向 Java 开发人员的 JavaScript] Java 开发人员关于 JavaScript 变量、类型、函数等的初级读本 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-19/index.html Java 开发 2.0: Play 框架在 Amazon RDS 中的应用] 关系数据管理即服务?为什么不是? | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-20/index.html Java 开发 2.0: 使用 Gretty 的超轻量级 Java Web 服务] Gretty 丢弃 Web 堆栈来实现真正的快速应用程序开发 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-21/index.html Java 开发 2.0: 通过 Heroku 的 PaaS 用 Git 提交 Java 应用程序] Heroku 扩展其 Ruby 功能以实现 Java 应用程序可扩展性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-22/index.html Java 开发 2.0: 现实世界中的 Redis] Redis 如何在包含大量读取操作的应用程序中战胜 memcached | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-23/index.html Java 开发 2.0: 保护用于云计算的 Java 应用程序数据] 使用私钥加密来保护云数据 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-javadev2-24/index.html Java 开发 2.0: 通过 ElasticSearch 进行可伸缩搜索] Java 企业应用程序的分布式搜索 | ||
+ | |||
+ | ==Java 下一代== | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn1/index.html Java 下一代: Groovy、Scala 和 Clojure] 在日益壮大的多语言世界中使用 Groovy、Scala 和 Clojure | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn2/index.html Java 下一代: Groovy、Scala 和 Clojure 中的共同点,第 1 部分] 探究这些下一代 JVM 语言如何处理操作符重载 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn3/index.html Java 下一代: Groovy、Scala 和 Clojure 中的共同点,第 2 部分] 了解Java 下一代语言如何减少样板代码和降低复杂性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn4/index.html Java 下一代: Groovy、Scala 和 Clojure 中的共同点,第 3 部分] 反思异常、表达式和空 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn5/index.html Java 下一代: 没有继承性的扩展,第 1 部分] 了解 Groovy、Scala 和 Clojure 如何将行为融入到类中 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn6/index.html Java 下一代: 没有继承性的扩展,第 2 部分] 探索 Clojure 协议 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn7/index.html Java 下一代: 没有继承性的扩展,第 3 部分] Groovy 元编程为您提供常见问题的简单解决方案 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn8/index.html Java 下一代: 混入和特征] 将新行为混合到 Groovy 和 Scala 类中 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn9/index.html Java 下一代: 局部套用和部分应用] 为函数调度添加功能和间接引用 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn10/index.html Java 下一代: 函数式编码风格] Groovy、Scala 和 Clojure 共享的函数结构及其优势 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn11/index.html Java 下一代: 克服同义词干扰] 认识不同 Java.net 语言中类似的函数结构 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn12/index.html Java 下一代: 内存化和函数式协同] 核心函数特性及 Java 下一代语言如何实现和组合它们 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn13/index.html Java 下一代: 对比并发性] 了解 Java 下一代语言中的并发性选项有何不同 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn14/index.html Java 下一代: Clojure 中的并发性] Clojure 如何抽象并发性和共享状态 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn15/index.html Java 下一代: 使用 Java 8 作为 Java 下一代语言] 评估 Java 8 是否适合代替 Java | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-jn16/index.html Java 下一代: 选择您的下一个 JVM 语言] | ||
+ | |||
+ | ==函数式思维== | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft1/index.html 函数式思维: 以函数式的方式思考,第 1 部分] 学习如何像函数式程序员一样思考 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft2/index.html 函数式思维: 运用函数式思维,第 2 部分] 探索函数编程和控制 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft3/index.html 函数式思维: 运用函数式思维,第 3 部分] 过滤、单元测试和代码重用的技巧 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft4/index.html 函数式思维: 不变性] 通过较少的改动来提供功能更强大的 Java 代码 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft5/index.html 函数式思维: 耦合和组合,第 1 部分] 探讨原生耦合抽象的含义 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft6/index.html 函数式思维: 耦合和组合,第 2 部分] 面向对象构建块 VS 函数式构建块 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft7/index.html 函数式思维: Groovy 中的函数式特性,第 1 部分] 隐藏在 Groovy 中的宝藏 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft8/index.html 函数式思维: Groovy 中的函数式特性,第 2 部分] 元编程 + Functional Java | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft9/index.html 函数式思维: Groovy 中的函数式特性,第 3 部分] 内存化和缓存 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft10/index.html 函数式思维: 函数设计模式,第 1 部分] 模式在函数世界中的表现方式 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft11/index.html 函数式思维: 函数设计模式,第 2 部分] 相同的问题,不同的范式 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft12/index.html 函数式思维: 函数设计模式,第 3 部分] 解释器模式和扩展语言 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft13/index.html 函数式思维: 利用 Either 和 Option 进行函数式错误处理] 类型安全的函数式异常 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft14/index.html 函数式思维: Either 树和模式匹配] 使用 Either 和泛型在 Java 中创建 Scala 风格的模式匹配 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft15/index.html 函数式思维: 对调度(dispatch)的反思] 下一代 JVM 语言如何为方法调度添加一些玄妙之处 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft16/index.html 函数式思维: 大量转换] 同义词掩盖了相似性 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft17/index.html 函数式思维: 转换和优化] 各种语言的更多功能比较 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft18/index.html 函数式思维: 惰性计算,第 1 部分] 探索 Java 中的惰性计算 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft19/index.html 函数式思维: 惰性计算,第 2 部分] 深入探讨惰性评估 | ||
+ | *[https://www.ibm.com/developerworks/cn/java/j-ft20/index.html 函数式思维: 为什么函数式编程越来越受关注] 为什么即使短期内不打算改变语言也应该关心函数式编程 | ||
+ | |||
+ | ==函数式编程== | ||
+ | *[http://www.javac.info/ Closures (Lambda Expressions) for the Java Programming Language] | ||
+ | *[http://www.ibm.com/developerworks/cn/java/j-lo-apachefunctor/index.html Java 的函数式之旅:使用 Apache Functor 体验函数式编程] | ||
+ | *[http://commons.apache.org/proper/commons-functor/ Apache Commons Functor: Function Objects for Java] | ||
+ | *[https://github.com/Frege/frege Frege] is [[Haskell]] for the JVM | ||
==Java Desktop== | ==Java Desktop== | ||
*[[Looking Glass 3D]] | *[[Looking Glass 3D]] | ||
+ | |||
==Java Platform 开源项目== | ==Java Platform 开源项目== | ||
[[Image:openjdk.png]] [[Image:glassfish.png]] [[Image:mobile-duke.jpg]] | [[Image:openjdk.png]] [[Image:glassfish.png]] [[Image:mobile-duke.jpg]] | ||
第38行: | 第152行: | ||
==Java平台上的脚本语言== | ==Java平台上的脚本语言== | ||
+ | [[文件:java.png|right]] | ||
* [[Groovy]] | * [[Groovy]] | ||
− | * [[ | + | * [[Tcl/Java]] |
* [[JRuby]] | * [[JRuby]] | ||
* [[Jython]] | * [[Jython]] | ||
第45行: | 第160行: | ||
==Java应用框架== | ==Java应用框架== | ||
− | + | *[https://github.com/akullpp/awesome-java Awesome Java] [[文件:awesome.png]] | |
− | + | ||
*[[Spring Framework|Spring]] | *[[Spring Framework|Spring]] | ||
*[[WebWork]] | *[[WebWork]] | ||
第63行: | 第177行: | ||
*[[JOSSO]] | *[[JOSSO]] | ||
*[[Salmon Open Framework for Internet Applications|SOFIA]] | *[[Salmon Open Framework for Internet Applications|SOFIA]] | ||
+ | *[https://github.com/LMAX-Exchange/disruptor LMAX Disruptor] | ||
+ | |||
==Java Games== | ==Java Games== | ||
* https://jme.dev.java.net/ | * https://jme.dev.java.net/ | ||
第74行: | 第190行: | ||
*[[Java Web Start]] | *[[Java Web Start]] | ||
*[[JNLP]] | *[[JNLP]] | ||
− | == | + | ==文档== |
+ | *[http://docs.huihoo.com/javaone/2015/CON11284-JDK-9-Language-and-Tooling-Features.pdf JDK 9 Language and Tooling Features] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON2711-Java-8-Unleashing-Lambdas-by-Executing-in-a-Distributed-System.pdf Java 8: Unleashing Lambdas by Executing in a Distributed System] | ||
+ | *[http://docs.huihoo.com/javaone/2015/TUT3246-Java-8-Stream-API-and-RxJava-Comparison-Patterns-and-Performance.pdf Java 8 Stream API and RxJava Comparison: Patterns and Performance] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON2483-Java-SE-8-for-Java-EE-Developers.pdf Java SE 8 for Java EE Developers] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON7432-New-Tricks-for-Old-Dogs-Collections-Enhancements-in-Java-8.pdf New Tricks for Old Dogs: Collections Enhancements in Java 8] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON3151-The-Java-Date-and-Time-API-in-Java-SE-8-Overview-and-Tips.pdf The Java Date and Time API in Java SE 8: Overview and Tips] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON3563-James-Writes-Java-What-I-Have-Learned-by-Reading-James-Gosling-Code.pdf James Writes Java: What I Have Learned by Reading James Gosling’s Code] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON3525-Java-Scala-and-Friends-Touring-the-Java-Bedrock-of-Big-Data.pdf Java, Scala, and Friends: Touring the Java Bedrock of Big Data] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON7682-invokedynamic-for-Mere-Mortals.pdf invokedynamic for Mere Mortals] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON1520-Making-Java-More-Dynamic.pptx Making Java More Dynamic] | ||
+ | *[http://docs.huihoo.com/javaone/2015/TUT4347-Practical-Proxy-Deep-Dive.pdf Practical Proxy Deep Dive] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON1657-Refactoring-to-Functional.pdf Refactoring to Functional] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON4176-Introduction-to-MVC-1.0-JSR-371.pdf Introduction to MVC 1.0 (JSR 371)] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON4218-Innovating-Democracy-with-Java-EE-and-Open-Source.pdf Innovating Democracy with Java EE and Open Source] | ||
+ | *[http://docs.huihoo.com/javaone/2015/UGF11081-Improving-Your-Developer-Career.pdf Improving Your Developer Career] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON9116-Going-Reactive-in-Java.pdf Going Reactive in Java] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON4663-Distributed-Streams-The-Stream-API-on-Steroids.pdf Distributed Streams: The Stream API on Steroids] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON1588-Building-iOS-Apps-with-Java-8.pdf Building iOS Apps with Java 8] | ||
+ | *[http://docs.huihoo.com/javaone/2015/BOF3204-Build-a-Java-Debugger-for-the-Cloud-Practices-in-the-Alibaba-Financial-Cloud.pdf Build a Java Debugger for the Cloud: Practices in the Alibaba Financial Cloud] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON2582-Java-Card-Platform-Evolution.pdf Java Card Platform Evolution] | ||
+ | *[http://docs.huihoo.com/javaone/2015/UGF11078-JUGs-The-Health-of-Networks.pptx JUGs: The Health of Networks] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON5059-Lightweight-Java-in-the-Cloud.pdf Lightweight Java in the Cloud] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON10308-Methods-Tools-and-Approaches-for-Source-Code-Analysis-and-Quality-Improvements.pdf Methods, Tools, and Approaches for Source Code Analysis and Quality Improvements] | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON1673-Sprinkle-Mirah-into-Your-Java.pdf Sprinkle Mirah into Your Java] [https://github.com/mirah/mirah Mirah Programming Language] | ||
+ | *[http://docs.huihoo.com/java/java-tools-and-technologies-landscape-for-2014.pdf Java Tools and Technologies Landscape for 2014] | ||
+ | *[http://docs.huihoo.com/javaone/2014/BOF4957-The-New-Real-Time-Specification-for-Java.pdf The New Real-Time Specification for Java] | ||
+ | |||
+ | ==链接== | ||
*http://java.sun.com/javase/ | *http://java.sun.com/javase/ | ||
*Java SE Core Technologies http://java.sun.com/javase/technologies/core.jsp | *Java SE Core Technologies http://java.sun.com/javase/technologies/core.jsp | ||
− | * | + | *[http://docs.huihoo.com/java/javase/tutorial Java SE Tutorial] |
− | * | + | *[http://docs.huihoo.com/java/javase/8 Java SE 8 Documentation] |
+ | *[http://docs.huihoo.com/java/javase/7 Java SE 7 Documentation] | ||
+ | *[http://docs.huihoo.com/java/javase/6 Java SE 6 Documentation] | ||
+ | *[http://www.huihoo.com/java/se/jdk6/docs/index.html JDK 6 Documentation] | ||
*http://www.javarss.com/ | *http://www.javarss.com/ | ||
*下载 - http://download.huihoo.com/java/ | *下载 - http://download.huihoo.com/java/ | ||
*[[Huihoo Geronimo Applications]] | *[[Huihoo Geronimo Applications]] | ||
*[[Huihoo JOnAS Applications]] | *[[Huihoo JOnAS Applications]] | ||
+ | *[http://www.wiki.jvmlangsummit.com/ JVM 语言峰会] | ||
+ | *[http://cr.openjdk.java.net/~alundblad/styleguide/ Java Style Guidelines (Draft)] | ||
+ | *[https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java Comparison of C# and Java] | ||
− | == | + | ==图集== |
<gallery widths=100px heights=100px perrow=6> | <gallery widths=100px heights=100px perrow=6> | ||
− | + | image:javaseplatformroadmap.gif|Platform Roadmap | |
− | + | image:JDK-9-Modules.png|JDK 9 Modules | |
− | + | image:J2se5.gif|Java SE 5 | |
− | + | image:java_api_flow.gif|Java API Flow | |
+ | image:java.net-500x60.jpg|Java.net | ||
+ | image:java-collection.png|Java集合 | ||
+ | image:java-map.png|Java Map | ||
+ | image:slf4j-concrete-bindings.png|SLF4J | ||
</gallery> | </gallery> | ||
− | + | [[category:programming language]] | |
− | + | [[category:java]] | |
− | [[ | + | |
− | [[ | + |
2021年7月16日 (五) 07:08的最后版本
Java
目录 |
[编辑] 新闻
您可以在Wikipedia上了解到此条目的英文信息 Java Thanks, Wikipedia. |
- Java之父James Gosling正式加盟Google,James Gosling发明的Java彻底改变了企业级计算市场。(March 28, 2011)
自http://java.sys-con.com/index.rss加载RSS失败或RSS源被墙
[编辑] 相关类目
- Java SE (Java™ Platform, Standard Edition)
- Java EE (Java™ Platform, Enterprise Edition)
- Java ME (Java™ Platform, Micro Edition)
第一个Java程序: Hello.java
<source lang="java">
public class Hello { public static void main(String[] args) { System.out.println("Hello, world"); } }
</source>
[编辑] Java 理论与实践
- Java 理论与实践: 应该在下一个企业应用程序中使用 JMS 吗? 学习消息排队是如何能够改进企业应用程序的灵活性和可伸缩性的
- Java 理论与实践: 线程池与工作队列 线程池有助于实现最佳资源利用率
- Java 理论与实践: 嗨,我的线程到哪里去了? 了解如何避免服务器应用程序中的线程泄漏
- Java 理论与实践: 您的小数点到哪里去了? 使用浮点数和小数中的技巧和陷阱
- Java 理论与实践: 并发在一定程度上使一切变得简单 util.concurrent 包简介
- Java 理论与实践: 变还是不变? 不变对象能极大地简化您的生活
- Java 理论与实践: 哈希 有效和正确定义hashCode()和equals()
- Java 理论与实践: 构建一个更好的 HashMap ConcurrentHashMap 如何在不损失线程安全的同时提供更高的并发性
- Java 理论与实践: 并发集合类 ConcurrentHashMap 和 CopyOnWriteArrayList 提供线程安全性和已改进的可伸缩性
- Java 理论与实践: 描绘线程安全性 线程安全不是一个非真即假的命题
- Java 理论与实践: JVM 1.4.1 中的垃圾收集 分代垃圾收集和并发垃圾收集
- Java 理论与实践: 垃圾收集简史 垃圾收集是如何工作的?
- Java 理论与实践: 修复 Java 内存模型,第 2 部分 在 JSR 133 中 JMM 会有什么改变?
- Java 理论与实践: 关于异常的争论 要检查,还是不要检查?
- Java 理论与实践: 消除 bug FindBugs 之类的检测工具提供了防止常见编码错误的另一层防护
- Java 理论与实践: Web 层的状态复制 有多种用于群集 Web 应用程序的方法
- Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制 新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronized
- Java 理论与实践: 流行的原子 新原子类是 java.util.concurrent 的隐藏精华
- Java 理论与实践: 动态编译与性能测量 动态编译情况下指标评测的风险
- Java 理论与实践: 做个好的(事件)侦听器 事件侦听器编写和支持指南
- Java 理论与实践: 再谈 Urban 性能传言 分配比想像的要快,而且会变得更快
- Java 理论与实践: 用弱引用堵住内存泄漏 弱引用使得表达对象生命周期关系变得容易了
- Java 理论与实践: 伪 typedef 反模式 扩展不是类型定义
- Java 理论与实践: 良好的内务处理实践 您的资源是否没有及时释放?
- Java 理论与实践: 非阻塞算法简介 看吧,没有锁定!
- Java 理论与实践: 处理 InterruptedException 捕捉到它,然后怎么处理它?
- Java 理论与实践: 平衡测试,第 1 部分 不要仅编写测试,还要编写 bug 检测器
- Java 理论与实践: 用 JMX 检测应用程序 只需添加 bean 就可实现立即可视
- Java 理论与实践: 理解 JTS —— 事务简介 事务是可靠应用程序的构建块
- Java 理论与实践: 在 JDK 早期版本中使用 Java 5 的语言特性 即使只能用 JDK 1.4,也可以使用泛型
- Java 理论与实践: 闭包之争 Java 语言是否应增加闭包以及如何添加?
- Java 理论与实践: 正确使用 Volatile 变量 volatile 变量使用指南
- Java 理论与实践: 应用 fork-join 框架 学习如何使用 Java 7 中的 fork-join 框架实现细粒度并行性
- Java 理论与实践: 使用通配符简化泛型使用 理解通配符捕获
- Java 理论与实践: 用动态代理进行修饰 动态代理是构建 Decorator 和 Adapter 的方便工具
[编辑] Java 开发 2.0
- Java 开发 2.0: 使用 Google App Engine 利用 Groovy、Eclipse 和 JDO 进行快速 Web 应用程序开发
- Java 开发 2.0: 您也可以租用 EC2 以灵活且低成本的方式创建高效、可伸缩的租借的基础设施
- Java 开发 2.0: 使用方便的 EC2 快速创建 CRUD Web 应用程序并在 Amazon Elastic Compute Cloud 上运行它
- Java 开发 2.0: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST REST 式概念和面向文档的数据库实战
- Java 开发 2.0: 针对 Google App Engine 的 Gaelyk 基于 Groovy 的框架加速 Google App Engine 上的开发工作
- Java 开发 2.0: Kilim 简介 一种用于实现 Java 并发性的角色框架
- Java 开发 2.0: NoSQL 使用 Bigtable 和 Groovy 的 Gaelyk 进行无模式数据建模
- Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分 开始使用 SimpleDB 和 Amazon SDK
- Java 开发 2.0: 使用 Amazon SimpleDB 实现云存储,第 2 部分 使用 SimpleJPA 实现简单对象持久化
- Java 开发 2.0: 使用 Hibernate Shards 进行切分 关系数据库的水平伸缩
- Java 开发 2.0: MongoDB:拥有 RDBMS 特性的 NoSQL 数据存储 使用 Java 代码和 Groovy 创建和查询文档
- Java 开发 2.0: 使用 Objectify-Appengine 进行 Twitter 挖掘,第 1 部分 对象域建模和非关系型数据存储的持久性
- Java 开发 2.0: 使用 Objectify-Appengine 进行 Twitter 挖掘,第 2 部分 通过 Gaelyk、JSON 和 Ajax 快速创建 GAE Web 应用程序
- Java 开发 2.0: 用 Hadoop MapReduce 进行大数据分析 成堆的数据如何变成信息金矿
- Java 开发 2.0: 攀登 Elastic Beanstalk 使用 Amazon 无限灵活的 PaaS 扩展云
- Java 开发 2.0: 使用 Amazon SQS 进行基于云计算的消息传送 使用 Amazon 的消息队列系统
- Java 开发 2.0: 面向 Java 开发人员的 JavaScript Java 开发人员关于 JavaScript 变量、类型、函数等的初级读本
- Java 开发 2.0: Play 框架在 Amazon RDS 中的应用 关系数据管理即服务?为什么不是?
- Java 开发 2.0: 使用 Gretty 的超轻量级 Java Web 服务 Gretty 丢弃 Web 堆栈来实现真正的快速应用程序开发
- Java 开发 2.0: 通过 Heroku 的 PaaS 用 Git 提交 Java 应用程序 Heroku 扩展其 Ruby 功能以实现 Java 应用程序可扩展性
- Java 开发 2.0: 现实世界中的 Redis Redis 如何在包含大量读取操作的应用程序中战胜 memcached
- Java 开发 2.0: 保护用于云计算的 Java 应用程序数据 使用私钥加密来保护云数据
- Java 开发 2.0: 通过 ElasticSearch 进行可伸缩搜索 Java 企业应用程序的分布式搜索
[编辑] Java 下一代
- Java 下一代: Groovy、Scala 和 Clojure 在日益壮大的多语言世界中使用 Groovy、Scala 和 Clojure
- Java 下一代: Groovy、Scala 和 Clojure 中的共同点,第 1 部分 探究这些下一代 JVM 语言如何处理操作符重载
- Java 下一代: Groovy、Scala 和 Clojure 中的共同点,第 2 部分 了解Java 下一代语言如何减少样板代码和降低复杂性
- Java 下一代: Groovy、Scala 和 Clojure 中的共同点,第 3 部分 反思异常、表达式和空
- Java 下一代: 没有继承性的扩展,第 1 部分 了解 Groovy、Scala 和 Clojure 如何将行为融入到类中
- Java 下一代: 没有继承性的扩展,第 2 部分 探索 Clojure 协议
- Java 下一代: 没有继承性的扩展,第 3 部分 Groovy 元编程为您提供常见问题的简单解决方案
- Java 下一代: 混入和特征 将新行为混合到 Groovy 和 Scala 类中
- Java 下一代: 局部套用和部分应用 为函数调度添加功能和间接引用
- Java 下一代: 函数式编码风格 Groovy、Scala 和 Clojure 共享的函数结构及其优势
- Java 下一代: 克服同义词干扰 认识不同 Java.net 语言中类似的函数结构
- Java 下一代: 内存化和函数式协同 核心函数特性及 Java 下一代语言如何实现和组合它们
- Java 下一代: 对比并发性 了解 Java 下一代语言中的并发性选项有何不同
- Java 下一代: Clojure 中的并发性 Clojure 如何抽象并发性和共享状态
- Java 下一代: 使用 Java 8 作为 Java 下一代语言 评估 Java 8 是否适合代替 Java
- Java 下一代: 选择您的下一个 JVM 语言
[编辑] 函数式思维
- 函数式思维: 以函数式的方式思考,第 1 部分 学习如何像函数式程序员一样思考
- 函数式思维: 运用函数式思维,第 2 部分 探索函数编程和控制
- 函数式思维: 运用函数式思维,第 3 部分 过滤、单元测试和代码重用的技巧
- 函数式思维: 不变性 通过较少的改动来提供功能更强大的 Java 代码
- 函数式思维: 耦合和组合,第 1 部分 探讨原生耦合抽象的含义
- 函数式思维: 耦合和组合,第 2 部分 面向对象构建块 VS 函数式构建块
- 函数式思维: Groovy 中的函数式特性,第 1 部分 隐藏在 Groovy 中的宝藏
- 函数式思维: Groovy 中的函数式特性,第 2 部分 元编程 + Functional Java
- 函数式思维: Groovy 中的函数式特性,第 3 部分 内存化和缓存
- 函数式思维: 函数设计模式,第 1 部分 模式在函数世界中的表现方式
- 函数式思维: 函数设计模式,第 2 部分 相同的问题,不同的范式
- 函数式思维: 函数设计模式,第 3 部分 解释器模式和扩展语言
- 函数式思维: 利用 Either 和 Option 进行函数式错误处理 类型安全的函数式异常
- 函数式思维: Either 树和模式匹配 使用 Either 和泛型在 Java 中创建 Scala 风格的模式匹配
- 函数式思维: 对调度(dispatch)的反思 下一代 JVM 语言如何为方法调度添加一些玄妙之处
- 函数式思维: 大量转换 同义词掩盖了相似性
- 函数式思维: 转换和优化 各种语言的更多功能比较
- 函数式思维: 惰性计算,第 1 部分 探索 Java 中的惰性计算
- 函数式思维: 惰性计算,第 2 部分 深入探讨惰性评估
- 函数式思维: 为什么函数式编程越来越受关注 为什么即使短期内不打算改变语言也应该关心函数式编程
[编辑] 函数式编程
- Closures (Lambda Expressions) for the Java Programming Language
- Java 的函数式之旅:使用 Apache Functor 体验函数式编程
- Apache Commons Functor: Function Objects for Java
- Frege is Haskell for the JVM
[编辑] Java Desktop
[编辑] Java Platform 开源项目
- OpenJDK
- IcedTea
- Apache Harmony
- https://jdk6.dev.java.net/
- https://jdk7.dev.java.net/
- ObjectWeb ASM
- GlassFish
- Mobile & Embedded
[编辑] Java平台上的脚本语言
[编辑] Java应用框架
- Awesome Java
- Spring
- WebWork
- Tapestry
- Struts
- Hibernate
- IBATIS
- Grails
- MyFaces
- DWR
- Echo
- EJOSA
- JFoxSOAF
- AppFuse
- OpenSSO
- JOSSO
- SOFIA
- LMAX Disruptor
[编辑] Java Games
- https://jme.dev.java.net/
- https://joal.dev.java.net/
- https://jogl.dev.java.net/
- https://jutils.dev.java.net/
- https://simple.dev.java.net/
- https://jgeom.dev.java.net/
[编辑] 相关技术
[编辑] 文档
- JDK 9 Language and Tooling Features
- Java 8: Unleashing Lambdas by Executing in a Distributed System
- Java 8 Stream API and RxJava Comparison: Patterns and Performance
- Java SE 8 for Java EE Developers
- New Tricks for Old Dogs: Collections Enhancements in Java 8
- The Java Date and Time API in Java SE 8: Overview and Tips
- James Writes Java: What I Have Learned by Reading James Gosling’s Code
- Java, Scala, and Friends: Touring the Java Bedrock of Big Data
- invokedynamic for Mere Mortals
- Making Java More Dynamic
- Practical Proxy Deep Dive
- Refactoring to Functional
- Introduction to MVC 1.0 (JSR 371)
- Innovating Democracy with Java EE and Open Source
- Improving Your Developer Career
- Going Reactive in Java
- Distributed Streams: The Stream API on Steroids
- Building iOS Apps with Java 8
- Build a Java Debugger for the Cloud: Practices in the Alibaba Financial Cloud
- Java Card Platform Evolution
- JUGs: The Health of Networks
- Lightweight Java in the Cloud
- Methods, Tools, and Approaches for Source Code Analysis and Quality Improvements
- Sprinkle Mirah into Your Java Mirah Programming Language
- Java Tools and Technologies Landscape for 2014
- The New Real-Time Specification for Java
[编辑] 链接
- http://java.sun.com/javase/
- Java SE Core Technologies http://java.sun.com/javase/technologies/core.jsp
- Java SE Tutorial
- Java SE 8 Documentation
- Java SE 7 Documentation
- Java SE 6 Documentation
- JDK 6 Documentation
- http://www.javarss.com/
- 下载 - http://download.huihoo.com/java/
- Huihoo Geronimo Applications
- Huihoo JOnAS Applications
- JVM 语言峰会
- Java Style Guidelines (Draft)
- Comparison of C# and Java
[编辑] 图集
分享您的观点