相信这个咖啡图标学没学过Java的人都见过。我小时候打开我的世界游戏就会看见这个图标(当时不知道什么意思)。
那Java是什么呢?Java是Sun公司推出的能够跨越多平台的、可移植性最高的一种面向对象的编程语言,也是目前最先进、特征最丰富、功能最强大的计算机语言。利用Java可以编写桌面应用程序、Web应用程序、分布式系统应用程序、嵌入式系统应用程序等,从而使其成为应用广泛的开发语言。
Java在编程语言中的流行度很高,这和他广泛的应用场景有很大关系。
为了满足不同开发人员的需求,Java开发分成了以下3个方向:
1. Java SE:主要用于桌面程序的开发。它是学习Java EE和Java ME的基础。
2. Java EE:主要用于网页程序的开发。随着互联网的发展,越来越多的企业使用Java语
言来开发自己的官方网站,其中不乏一些世界500强。
3. Java ME:主要用于嵌入式系统程序的开发。
那Java有什么特点吗?
Java语言的特性:
1. 简单
Java语言的语法简单明了,容易掌握,是纯面向对象编程语言。与c++相比,Java没有头文件、没有令人头疼的指针、结构、联合、操作符重载、虚基类等等。和c++相比真是简单不少(不信你都学学试一试)。
2.纯面向对象
什么是面向对象呢?当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
对象是什么?世间万物都可以称为对象。
举个面向过程的例子:
1、执行加洗衣粉方法;
2、执行加水方法;
3、执行洗衣服方法;
4、执行清洗方法;
5、 执行烘干方法;
以上就是将解决这个问题的过程拆成一个个方法(是没有对象去调用的),通过一个个方法的执行来解决问题。
再举个面向对象的例子:
1、我先弄出两个对象:“洗衣机”对象和“人”对象
2、针对对象“洗衣机”加入一些属性和方法:“洗衣服方法”、“清洗方法”、“烘干方法”
3、针对对象“人”加入属性和方法:“加洗衣粉方法”、“加水方法”
4、然后执行
对人调用加洗衣服方法
对人调用加水方法
对洗衣机调用洗衣服方法
对洗衣机调用清洗方法
对洗衣机调用烘干方法
解决同一个问题 ,面向对象编程就是先抽象出对象,然后用对象执行方法的方式解决问题。
3.分布式(微服务)
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
4.健壮性
Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(避免了我们在学习C和Cpp时遇到的令人头疼的指针问题,如指针悬挂等)。而且Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
5.安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统。
从一开始,Java就设计成能够防范常见的各种攻击:
- 运行时堆栈溢出。蠕虫和病毒常用的攻击手段。
- 破坏自己进程空间之外的内存。
- 未经授权读写文件。
因此Java具有较高的安全性。
6.高性能
边解释边执行,导致了Java代码运行效率偏低,但近年来JVM也在不断的优化,比如:JIT(即时编译器),热点代码探测,让Java程序的执行效率大幅提高,与C和C++的差距已经很小了。
7.多线程
Java是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。
Java优点这么多,那它有缺点吗?
世界上没有十全十美的事物,Java当然也不例外。
Java的缺点:
1.使用大量的内存。靠虚拟机运行,运行速度相对较慢(之前慢,现在已经快很多了)。
2.不能和底层打交道,不支持底层操作。
3.启动时间慢。
4.由于Java删除了指针,虽然操作难度降低了,但是不如c/c++灵活。
本人第一篇博客,希望大家多多支持,也欢迎大家指出我的不足之处,谢谢大家!