Java的特性

简介: Java的关键特性包括:1) 跨平台能力,依赖JVM在不同系统上运行;2) 面向对象编程,通过类和对象实现代码的高复用和维护性;3) 内置的安全机制,如内存管理和异常处理,确保程序安全;4) 丰富的标准类库,提供各种API简化开发;5) 支持多线程,充分利用CPU资源。学习路线可从基础知识逐步深入到高级特性。

Java的特性(这篇不发,太深奥)
1.跨平台特性
Java 语言设计之初的目标是“一次编写,到处运行”(Write Once, Run Anywhere, WORA),哎?上面好像听过这个说法对不对,我们前面说高级语言写好一次后,通过翻译成不同计算机系统认识的字节序列,就可以实现一次写好,到处运行。这里Java也是一样,Java有一个叫JVM虚拟机的东西,不同的计算机系统和设备都有对应不同的虚拟机,Java代码经过Javac命令编译后成为.class的字节码文件,然后虚拟机加载字节码文件后解释为特定平台的机器语言,这样Java 程序就可以在不同的计算机系统上运行。这个也是Java能广为使用的原因之一。
由此可见,我们编写的Java代码第一步将编译成.class的字节码文件,然后再由虚拟机加载解释为机器语言,最后计算机进行逻辑运算。
2.面向对象
Java是面向对象的语言。对象就是万物,人是一个对象,狗也是一个对象,车、你、房子都是对象(英语是Object),世界上的任何事物都是一个对象。
每个对象都有自己的属性,比如人有手、有年龄,车有轮子,发动机等等,这就是对象的属性。
每个对象都有自己能做的事情,比如狗能跑,房子能住,人能说话等等,这就是对象的方法(method函数)。
所以,对象有自己的属性和方法,属性可以被赋值,方法可以被调用,记住。
然后你就在想,人也有年龄,狗也有年龄,人能跑,狗也能跑,这就是对象的共同属性,我们把所有共同的属性抽离到一起成为动物(动物也可以是一个Object),就成了类(class)!
类就是相同属性和方法的对象抽象到一起形成的类群,比如男人女人抽象为人类,人和狗抽象为动物,人、房子、狗、颜色、数据、函数等等所有事物,抽象为Object!
这就是面向对象中类和对象的概念!还有类之间进行继承、封装等等概念,以及多态的概念!
面向对象编程有助于提高代码的可重用性和可维护性。

  与面向过程编程对比
    面向对象编程(Object-Oriented Programming, OOP)和面向过程编程(Procedural Programming)是计算机编程的两种基本范式。
    面向对象编程强调将数据和操作数据的函数封装在一起形成对象。它通过封装、继承、多态等机制来组织代码,使得程序更加模块化、可维护和可扩展。而面向过程编程侧重于将程序分解为一系列的函数或过程,通常使用流程控制语句来控制每个函数或过程完成一个特定的任务。
  代码结构上来看,面向对象使用类和对象来构建程序结构,每个类定义了一组共同的属性和方法(人类有名字,会跑),而对象则是类的实例(张三会跑)。而面向过程通常由一系列的函数或过程组成。
  面向对象耦合性低,因为它把一些功能模块化的封装了起来,代码更灵活易于修改。而面向过程就紧密关联,不易于维护,适合干一些简单的场景。
3.安全特性
  Java内置了一些安全特性来保证Java安全的运行,比如自动内存管理、自动垃圾回收GC、异常错误捕捉处理、沙箱模型等,防止恶意代码的执行。
4.标准类库
  Java内置了很多的标准类库,用来让你方便开发,你只要引入对应的类库包,就可以使用类库中的API来实现你得功能。
  无论是基础的字符串操作、日期,还是网络编程、输入/输出(I/O)流操作、图形用户界面(GUI)等等,都有成熟的类库支持你直接使用。
  我们引入类库就是为了使用其中的API,对应上述面向对象的类和对象概念,就是引入包,使用包中的类生成对象,然后使用对象调用方法,方法就是API。
  各式各样的API方法可以支持你完成各种功能,以后慢慢用。
5.多线程
  碉堡的特性,电脑的cpu可以有多条线程来执行任务,Java代码可以完全利用到cpu的对条线程来‘同时’执行你分配的任务。
  其实我们肉眼看到线程是同时执行,但是底层还是一个一个执行,这个停了那个开,那个停了这个开,嗖嗖嗖。
Java大致的一些特性就是这些了,以后我们会一步一步的逐个去研究使用它们,加油。
Java特性从浅到深大致学习路线
目录
相关文章
|
2月前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
72 2
|
2月前
|
存储 Java
深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。
【10月更文挑战第16天】本文深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。HashSet基于哈希表实现,添加元素时根据哈希值分布,遍历时顺序不可预测;而TreeSet利用红黑树结构,按自然顺序或自定义顺序存储元素,确保遍历时有序输出。文章还提供了示例代码,帮助读者更好地理解这两种集合类型的使用场景和内部机制。
43 3
|
2月前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
33 2
|
2月前
|
存储 算法 Java
Java Set因其“无重复”特性在集合框架中独树一帜
【10月更文挑战第14天】Java Set因其“无重复”特性在集合框架中独树一帜。本文深入解析Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定的数据结构(哈希表、红黑树)确保元素唯一性,并提供最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的`hashCode()`与`equals()`方法。
34 3
|
2月前
|
安全 Java API
Java 17新特性让你的代码起飞!
【10月更文挑战第4天】自Java 8发布以来,Java语言经历了多次重大更新,每一次都引入了令人兴奋的新特性,极大地提升了开发效率和代码质量。本文将带你从Java 8一路走到Java 17,探索那些能让你的代码起飞的关键特性。
89 1
|
2月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
82 3
|
28天前
|
分布式计算 Java API
Java 8引入了流处理和函数式编程两大新特性
Java 8引入了流处理和函数式编程两大新特性。流处理提供了一种声明式的数据处理方式,使代码更简洁易读;函数式编程通过Lambda表达式和函数式接口,简化了代码书写,提高了灵活性。此外,Java 8还引入了Optional类、新的日期时间API等,进一步增强了编程能力。这些新特性使开发者能够编写更高效、更清晰的代码。
31 4
|
2月前
|
存储 Java API
优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。
【10月更文挑战第19天】本文介绍了如何优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。内容包括Map的初始化、使用Stream API处理Map、利用merge方法、使用ComputeIfAbsent和ComputeIfPresent,以及Map的默认方法。这些技巧不仅提高了代码的可读性和维护性,还提升了开发效率。
80 3
|
2月前
|
存储 安全 Java
Java Map新玩法:深入探讨HashMap和TreeMap的高级特性
【10月更文挑战第19天】Java Map新玩法:深入探讨HashMap和TreeMap的高级特性,包括初始容量与加载因子的优化、高效的遍历方法、线程安全性处理以及TreeMap的自然排序、自定义排序、范围查询等功能,助你提升代码性能与灵活性。
28 2
|
2月前
|
Java 开发者
在Java的集合世界里,Set以其独特的特性脱颖而出,它通过“哈希魔法”和“红黑树防御”两大绝技
【10月更文挑战第13天】在Java的集合世界里,Set以其独特的特性脱颖而出。它通过“哈希魔法”和“红黑树防御”两大绝技,有效抵御重复元素的侵扰,确保集合的纯洁性和有序性。无论是“人海战术”还是“偷梁换柱”,Set都能从容应对,成为开发者手中不可或缺的利器。
32 6