pragmatic-java-engineer
  • 引言
  • 第一章 后端技术导言
    • 1.1 后端基础设施
    • 1.2 Java后端技术概览
    • 1.3 如何学习后端技术
  • 第二章 Java项目工程化
    • 2.1 项目构建
    • 2.2 代码版本控制
    • 2.3 代码质量保证
  • 第三章 开发框架
    • 3.1 依赖注入
    • 3.2 对象关系映射
    • 3.3 日志
    • 3.4 Web MVC
    • 3.5 总结
  • 第四章 Spring
    • 4.1 Spring核心组件
    • 4.2 Spring数据操作框架
    • 4.3 使用Spring Boot快速开发
    • 4.4 Spring常用组件
    • 4.5 总结
  • 第五章 数据存储
    • 5.1 关系型数据库-MySQL
    • 5.2 非关系型数据库
    • 5.3 缓存
    • 5.4 搜索引擎-Elasticsearch
    • 5.5 总结
  • 第六章 数据通信
    • 6.1 RESTful架构风格
    • 6.2 远程过程调用-RPC
    • 6.3 消息中间件
    • 6.4 总结
  • 第七章 Java编程进阶
    • 7.1 Java内存管理
    • 7.2 Java网络编程
    • 7.3 Java并发编程
    • 7.4 Java开发利器
    • 7.5 Java新版本特性
    • 7.6 总结
  • 第八章 性能调优
    • 8.1 调优准备
    • 8.2 性能分析
    • 8.3 性能调优
    • 8.4 总结
  • 第九章 安全技术
    • 9.1 Java加密
    • 9.2 安全HTTP - HTTPS
    • 9.3 Web安全
  • 附录A: 代码构建常用命令
  • 附录B: Git常用命令
  • 附录C: MySQL常用命令
  • 附录D: MongoDB常用命令
  • 附录E: Java调优常用命令
  • 附录F: 如何应对在线故障
  • 附录G: 架构简明指南
Powered by GitBook
On this page

第七章 Java编程进阶

根据网络可以找到的资料以及笔者能够打听到的消息,目前国内外著名的几个大型互联网公司的主要语言选型如下:

  1. Google: C/C++、Go、Python、Java、JavaScript,不得不提的是Google贡献给Java社区的Guava包质量非常高,非常值得学习和使用。

  2. Youtube、豆瓣: Python。

  3. Fackbook、Yahoo、Flickr、新浪:PHP(优化过的PHP VM)。

  4. 网易、阿里、搜狐: Java、PHP、Node.js。

  5. Twitter: Ruby -> Java,之所以如此就在于与JVM相比,Ruby的runtime是非常慢的。并且Ruby的应用比起Java还是比较小众的。不过最近Twitter有往Scala上迁移的趋势。

可见,虽然最近这些年很多言论都号称Java已死或者不久即死,但是Java的语言应用占有率一直居高不下。与高性能的C/C++相比,Java具有GC机制,并且没有那让人望而生畏的指针,上手门槛相对较低;而与上手成本更低的PHP、Ruby等脚本语言来说,又比这些脚本语言有性能上的优势(暂且忽略FB自己开发的HHVM)。而且,Java也在不断的吸收其他语言的优势,优化自身的实现和使用。如果说Java编程是Java工程师最为基础的技能点,那么掌握其中的高级特性则是利用Java语言优势的关键。这些技能可以提高Java工程师的开发效率、代码质量以及Java应用的性能。本章就主要讲述相关知识:

  • Java内存管理:了解Java是如何做内存管理的才能从根本上掌握Java的编程技巧,避免一些内存问题的出现。

  • Java网络编程:了解网络编程模型有助于使用Java做网络编程并能够更好的优化实现。

  • Java并发编程:并发是提升应用性能非常关键的手段。

  • Java开发利器:了解Java中常用的工具类库,能够大大提升编程开发效率。

  • Java新版本特性:Java7、8、9带来了一些新特性提升开发效率和程序性能。

Previous6.4 总结Next7.1 Java内存管理

Last updated 1 year ago