java的高级特性

简介: Java的关键特性包括:跨平台能力,依赖JVM实现“一次编写,到处运行”;面向对象编程,通过类和对象抽象提高代码复用和维护性;内置安全机制如内存管理和异常处理;丰富的标准类库提供各种API;以及支持多线程,充分利用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特性从浅到深大致学习路线
目录
相关文章
|
5月前
|
开发框架 Java API
最新Java基础系列课程--Day13-高级特性(二)
最新Java基础系列课程--Day13-高级特性
|
4月前
|
Java 数据挖掘 开发者
Java网络编程进阶:Socket通信的高级特性与应用
【6月更文挑战第21天】Java Socket通信是分布式应用的基础,涉及高级特性如多路复用(Selector)和零拷贝,提升效率与响应速度。结合NIO和AIO,适用于高并发场景如游戏服务器和实时数据分析。示例展示了基于NIO的多路复用服务器实现。随着技术发展,WebSockets、HTTP/2、QUIC等新协议正变革网络通信,掌握Socket高级特性为应对未来挑战准备。
39 1
|
4月前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【6月更文挑战第18天】在Java中,Map的两大代表HashMap和TreeMap提供高效键值对操作。HashMap允许设定初始容量和加载因子以优化性能,非线程安全,可借助synchronized或ConcurrentHashMap处理多线程。遍历可通过entrySet()、keySet()和values()。而TreeMap依据键进行排序,支持自然排序和自定义Comparator,提供范围查询、获取首尾键的功能,适用于需有序遍历的场景。理解和利用这些特性能增强代码功能和效率。
41 0
|
11月前
|
存储 安全 Java
学习Java的高级特性
学习Java的高级特性是成为一名优秀的Java开发者的必备知识。在本文中,我们将深入探讨泛型、注解、反射和Lambda表达式这些高级特性,并提供相应的Java代码示例。
|
5月前
|
Java 程序员 API
最新Java基础系列课程--Day13-高级特性(三)
最新Java基础系列课程--Day13-高级特性
|
5月前
|
开发框架 Java 程序员
最新Java基础系列课程--Day13-高级特性(一)
最新Java基础系列课程--Day13-高级特性
|
5月前
|
开发框架 Java 程序员
最新Java基础系列课程--Day13-高级特性
最新Java基础系列课程--Day13-高级特性
|
Java 编译器 数据库连接
优雅处理异常:Java高级特性之异常处理
优雅处理异常:Java高级特性之异常处理
666 0
|
Java API
Java高级特性之Lambda表达式:简洁优雅的函数式编程范式(目录篇)
Java高级特性之Lambda表达式:简洁优雅的函数式编程范式(目录篇)
92 0
|
设计模式 Java 程序员
一位Java程序猿的“炫技“:从高级特性到深奥的代码实践
前言 编程,既是科学也是艺术,具有极高的创造性。程序员在开发过程中,不仅需要对编程语言的语法和规则有深入的理解,还需要掌握一些"炫技"的编程技术和方法,以提升代码的效率,提高编程的乐趣。作为一名Java程序员,我会在这篇文章中分享一些Java的"炫技"编程技术。
187 0