而在《Java 虚拟机规范,Java SE 26 版》中,有关 Java 编程语言的信息已不再重复,读者可参考《Java 语言规范,Java SE 26 版》获取相关内容。 而在本版(Java SE 26 版)中,关于线程与锁的信息已移至《Java 语言规范,Java SE 26 版》的第 17 章。 有时,我们会通过形如 (JLS §x.y) 的交叉引用,指向《Java 语言规范,Java SE 26 版》(The Java Language Specification, Java SE 26 Edition 1.5.2 当前的预览 VM 特性Java SE 26 未定义任何预览 VM 特性。 下一章节:详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机的结构上
Java® 编程语言是一种通用的、支持并发的、面向对象的语言。它的语法与 C 和 C++ 相似,但省略了许多使 C 和 C++ 变得复杂、混乱且不安全的特性。 Java 平台最初是为了应对为联网消费设备构建软件时所遇到的问题而开发的。它被设计为支持多种主机架构,并允许安全地交付软件组件。 集成了 Java 平台的 Web 浏览器不再局限于一组预定义的功能。访问包含动态内容的网页的用户可以确信,他们的机器不会被这些内容所损害。 程序员可以“一次编写”,程序就能在任何提供 Java 运行时环境的机器上运行。 下一章节:详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机简介
上一章节:详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java® 编程语言简史Java 虚拟机(Java Virtual 本文所规范的 Java 虚拟机兼容 Java SE 26,支持《The Java Language Specification, Java SE 26 Edition》中所规定的 Java 编程语言。 为便于参考,下表列出了截至 Java SE 26 为止,各 Java SE 版本所支持的类文件主版本号范围。 (对于非常早期的版本,表中列出的是 JDK 版本号而非 Java SE 版本号。) ® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机规范26版本简介
由自己面向整个装修过程开始转向面向装修公司 在java是把世界世生活中的实际东西,转换成我们的计算机语言。 学生 :学习 吃饭 睡觉 打游戏 java中用类来描述现实生活中的东西 Student{ int age; String name; String sex
学习完了类之后,我们将继续学习一个Java中的重点内容“继承” 继承 1.1 为什么需要继承 举例: 在Cat类中和Dog类中我们发现有很多一样的地方,这样写太浪费空间和内存了 我们可以把它相同的地方都用一个类来表示 从继承概念中可以看出继承最大的作用就是:实现代码复用,还有就是来实现多态(后序讲) 1.3 继承的语法 在Java中如果要表示类之间的继承关系,需要借助extends关键字,具体如下: 修饰符 class 都是Java中的关键字 2. 只能在类的非静态方法中使用,用来访问非静态成员方法和字段 3. 组合表示对象之间是has-a的关系,比如:学校 组合和继承都可以实现代码复用,应该使用继承还是组合,需要根据应用场景来选择,一般建议:能用组合尽量用组合 总结: 后期博主会陆续更新Java SE的知识 如有不足之处欢迎补充交流 看到这里的友友们,支持一下博主,来个免费三连,感谢!
如果服务器只为单个域提供宿主环境,则可以忽略键/值对用Java连接到服务器import java.io.IOException;import java.net.Socket;import java.util.Scanner 只要主机操作系统支持IPv6格式的因特网地址,java.net包也将支持它。InetAddress.getByName:返回代表某个注解的InetAddress对象。 中断套接字操作,需要使用java.nio包提供的一个特性 ---SocketChannel类。 如绝对URI:http:/docs.mycompany.com/api/java/net/ServerSocket.html 和一个相对的URI:../.. /java/net/Socket.html#Socket() 那么可以用它们组合成一个绝对URI:http:/docs.mycompany.com/api/java/net/Socket.html#Socket
上一章节 :详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机的结构中2.6 栈帧(Frames)栈帧(frame 因此,在 Java 1.2 至 Java SE 16 期间,Java SE 平台允许 Java 虚拟机实现为每个浮点类型关联一个或两个值集(value sets):float 类型关联 float 值集和 因此,标记为 ACC_STRICT 的方法具有与 Java 1.0 和 1.1 中规定的相同的浮点语义。从 Java SE 17 及以后版本开始,Java SE 平台始终要求对浮点表达式进行严格求值。 ACC_STATIC 标志的要求是在 Java SE 7 中引入的,而“不接受参数”的要求则是在 Java SE 9 中引入的。 2.12 类库JVM 必须为 Java SE 平台类库的实现提供充分支持。
1.初识Java 1.1Java是什么 Java是一种优秀的程序设计语言。 1.使用记事本或者IDEA(集成开发环境)编写Java源程序 2.使用javac.exe编译器编译Java源程序,生成xxx.class的字节码 语法格式为:javac xxx.java 3.使用java 运行xxx.class字节码文件 语法格式为:java xxx.java 注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了 javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。 JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
上一章节:详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机的结构上2.3.3 returnAddress 类型与值 相反,Java 编程语言中操作 boolean 值的表达式在编译时会被转换为使用 Java 虚拟机 int 数据类型的值。Java 虚拟机直接支持 boolean 数组。 2.5.2 Java 虚拟机栈每个 Java 虚拟机线程都有一个私有的 Java 虚拟机栈(Java Virtual Machine stack),在线程创建时一同创建。 在《Java® 虚拟机规范》第一版中,Java 虚拟机栈被称为“Java 栈”。本规范允许 Java 虚拟机栈具有固定大小,或根据计算需要动态扩展和收缩。 下一章节 :详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机的结构下
上一章节:详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机规范26版本简介规范规定了一台抽象机器。 从 Java SE 15 及以后版本开始,Java 虚拟机采用 IEEE 754 标准的 2019 年版本。 在 Java SE 15 之前,Java 虚拟机采用的是 IEEE 754 标准的 1985 年版本,其中 binary32 格式被称为 single 格式,binary64 格式被称为 double 然而,Java SE 平台通常将给定浮点类型的 NaN 值视为已坍缩为单一的规范值(canonical value),因此本规范通常将任意 NaN 视为规范值进行讨论。 下一章节:详解The Java® Virtual Machine Specification Java SE 26 Edition系列之Java 虚拟机的结构中
The Java Virtual Machine specified here is compatible with Java SE 26, and supports the Java programming language specified in The Java Language Specification, Java SE 26 Edition. SE, up to Java SE 26. 本文所规范的 Java 虚拟机兼容 Java SE 26,支持《The Java Language Specification, Java SE 26 Edition》中所规定的 Java 编程语言。 为便于参考,下表列出了截至 Java SE 26 为止,各 Java SE 版本所支持的类文件主版本号范围。
否则会报出下标越界异常 1.3.2遍历数组 方法一:for循环 方法二:for each(增强for循环) 方法三:把数组转变为字符串,然后返回 注意:使用Arrays.时导入包import java.util.Arrays 2.引用变量目前是在main函数里面的,它属于局部变量,当函数结束就会被回收 4.数组的应用 4.1自主实现Arrays.toString(将数组以字符串的方式打印)功能 和C语言中的断言相比,Java Arrays在使用前要说明一下 import java.util.Arrays; Arrays.copyOf的使用很方便,不仅可以拷贝数组,还可以控制被拷贝数组的大小: 还可以实现部分拷贝:
1.继承的概念&作用 在Java中,继承是面向对象编程的三大基本特性之一(还有封装和多态),允许一个类(子类/继承类)继承另一个类(父类/基类)的属性和方法 继承的核心目的是: 1.子类能够在不改变父类原有特性的基础上进行扩展 以及它们之间的调用关系等到讲多态的时候再介绍 4.super关键字 4.1 使用super访问父类的成员 在Java中,super关键字用于在子类中引用其父类的成员。 如果想要访问父类的同名变量就需要借助super关键字 如果想要访问父类和子类中方法名一样,参数列表也一样的成员方法时,也可以借助super关键字 4.2 super&this的共性和区别① 共性: 1.都属于Java 2.从访问范围来看,this可以访问当前对象中的多有成员,但是super只能访问当前对象中从父类继承的成员 5.构造方法&初始化顺序 5.1 父类和子类的构造关系和执行顺序 当创建一个子类对象时,Java 无法在外部包的非子类中通过子类的引用来访问 注意二:在子类中,只能通过子类自己的引用来访问父类的protected成员;无法在子类中通过其他子类的引用来访问父类的protected成员 6.final关键字 在Java
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException public boolean java.lang.Object.equals(java.lang.Object) public native int java.lang.Object.hashCode() public final native java.lang.Class java.lang.Object.getClass() public final native void java.lang.Object.notify
Java是一门程序设计语言,它有三个版本,Java SE(标准版)、Java EE(企业版)和Java ME(微型版)。而Java SE只是一个使用Java进行编程的规范、框架,它不是一门编程语言。 Java SE(java standard edition),一般包括jdk、jre以及各种API文档等。 Java SE(Java Platform,Standard Edition)。 Java SE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。 Java SE包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。 Java SE = jdk + jre ·jdk是开发Java程序用的; ·jre是运行java程序用的; Java SE就是Java应用程序,是一种分类,不是什么软件。
注意事项: 1. catch 只能处理对应种类的异常 java中一切皆是类,异常也是类,因此catch只能捕获相应的异常“类型”。 at demo02.Test.main(Test.java:12) after try catch 由于 Exception 类是所有异常类的父类. 二、Java异常体系 Java中的异常分为两大类:一类叫做受查异常,另一类叫做非受查异常。 下图为Java内置的异常类之间的继承关系: 顶层类 Throwable 派生出两个重要的子类, Error 和 Exception 其中 Error 指的是 Java 运行时内部错误和资源耗尽错误. 三、自定义异常类 Java 中虽然已经内置了丰富的异常类, 但是我们实际场景中可能还有一些情况需要我们对异常类进行扩展, 创建符合我们实际情况的异常.
?
静态代理发生在编译期间。收到创建的。在编译时就已经将接口,被代理类,代理类等确定下来。代理类和代理对象都要实现同一个接口,同时,代理对象要操控目标对象。
一般 do while 很少用到, 更推荐使用 for 和 while. 4.输入输出 4.1输出控制台 4.2 从键盘输入 使用 Scanner 读取字符串/整数/浮点数 知识拓展:什么是Java Java中的流 (有点不太懂,以后再深入学习流) 5.Java中如何生成随机数呢? 总结:关于逻辑控制,Java与C语言大多一样。可以类比学习。
a) Object类可以接受所有的引用数据类型(数组、类、接口),为了让Object类可以接受Java中一切内容,引入包装类,把基本类型的数值封装到类的对象之中就产生了包装类。 以整型为例子 : 装箱: int→Integer 拆箱:Integer→int 2.自动拆装箱 Java编译器的优化,使用包装类就和使用基本类型一模一样。 自动拆装箱是一种java语法糖。 (借助编译器实现了基于编译器的新语法,增强了Java程序的可读性,便于开发人员使用和维护。) Java中的语法糖只存在于编译期, 在编译器将 .java 源文件编译成 .class 字节码时, 会进行解语法糖操作, 还原最原始的基础语法结构,如下为编译后的字节码: 有了自动拆装箱,使用包装类就和使用基本类型完全一致