java思考

    Java编程语言,其实是C++的一个大型复杂应用程序,Java程序最终会在C++之下运行。

    Java是一种跨平台的编程语言,它的跨平台性有JVM(java的运行环境)保证,不同的平台有不同的JVM版本,后端服务一般使用Linux。它是一种面向编程的语言,一等公民是对象,包括类和接口。相较于C、C++,Java免除了开发者对空间的管理,只需专业业务功能,所有的空间管理有JVM代为实现。因此,Java的入门门槛很低,由于封装了各种复杂的运行时负责机制,如内存分配、系统调用等,使得Java的高阶功能学习曲线增加。

    Java是一种强类型的编程语言,体现在两方面,一是基础数据类型向上转换是自动的,向下转换需要强制;另一方面是对象类型之间不能转换,除非是在一种集成体系中,且只能向更加抽象的方向转换。因为是强类型的,可以避免因为自动转换导致的数据精度问题,如C语言浮点数类型变量赋值个整数类型变量,导致计算错误。缺点是,在进行业务处理的时候,需要进行显示的转换(一般是调用相应方法即可,如Long.intValue()),导致很多临时变量。

    Java可以做的事情很多。Java最流行的用途当属Web后端服务,Java后端的生态丰富,多种服务器中间件,如Tomcat,Jetty,Sphere等;开发框架多样,如SpringMVC,SpringBoot,SpringCloud,Spring Alibaba等为Java作为后端服务提供了得天独厚的条件;还有apache基金提供各种各样的工具。Java可以做大数据开发,著名如Hadoop,Spark,Flink等大数据框架以及HBase,Hive等数据库都为Java大数据提供了支撑。Java可以做移动端开发,如Android APP开发。Java可以做嵌入式开发,多种智能设备中都有Java的身影。Java的GUI为桌面开发提供了支持。基本上Java涵盖了现在软件的方方面面,如果要选择一种简单易上手的编程工具,Java绝对是一个不错的选择。

    Java虽然应用广泛,但每一个方面是一个技术栈,需要持续的深入学习和实践。当然,并不是说学会了Java就要做一个程序员,任何技术类型相关的职业Java都能锦上添花。

    个人看来,Java在技术栈中处于中间位置,向上可以发展以面向对象为主的架构师;向下可以做底层开发和优化的技术专家。无论向哪个方向发展,都能增加自己的不可替代性。由于Java入门门槛低,基本所有的Java程序员都会选择其中一条作为自己的发展方向,如果是在技术上求索。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容