什么是 Java 虚拟机?为什么 Java 被称作是 “ 平台无关的编程语言 ” ? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。 ...Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。 Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。 ...JDK: java 开发工具包 , 包含了 JRE 、编译器和其它工具(如: javaDOc 、 java 调试器 ) JRE: java 运行环境 , 包含 java 虚拟机和 java 程序所需的核心类库...(在 java 8 中我查看源码发现 Hashtable 并没有继承 Dictionary, 而且里面也没有同步方法,是不是 java 8 中 Hashtable 不在同步的了?...通过看源码知道 HashSet 的实现是依赖于 HashMap 的, HashSet 的值都是存储在 HashMap 中的。
受检查的异常必须在编译时被捕捉处理,命名为Checked Exception是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守。...31.Java移位运算符 java中有三种移位运算符 << :左移运算符,x << 1,相当于x乘以2(不溢出的情况下),低位补0 :带符号右移,x >> 1,相当于x除以2,正数高位补0,负数高位补...37.Java语言的鲁棒性 Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。...38.Java语言特性 Java致力于检查程序在编译和运行时的错误 Java虚拟机实现了跨平台接口 类型检查帮助检查出许多开发早期出现的错误 Java自己操纵内存减少了内存出错的可能性 Java还实现了真数组...for Java)Java堆栈跟踪工具 HSDIS:JIT生成代码反汇编 可视化 JConsole(Java Monitoring and Management Console):Java监视与管理控制台
{/collapse-item} {collapse-item label="instanceof "} instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例...Java的内部类分为好几种,通常情况用得不多,但也需要了解它们是如何使用的。...在Java程序中,出现这种情况,编译器会报错。...在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步: 声明:声明一个对象,包括对象名称和对象类型。 实例化:使用关键字 new 来创建一个对象。...{/collapse-item} {collapse-item label="非访问修饰符"} 为了实现一些其他的功能,Java 也提供了许多非访问修饰符。
while循环 while( 布尔表达式 ) { //循环内容 } do...while循环 do { //代码语句 }while(布尔表达式...
一、Java语言的特点 简单性 Java看起来设计的很像c++,取消了很多程序员很少使用的特征。例如:Java不支持go to语句,提供了break和continue语句以及异常处理。...Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。 高性能 Java是一种先编译后解释的语言,所以它不如全编译性语言快。...二、JDK和JRE的区别 JRE: java Runtime Environment(java运行时环境)。即java程序的运行时环境,包含了java虚拟机,java基础类库。...JDK: Java Development Kit(java开发工具包)。即java语言编写的程序所需的开发工具包。...JDK包含了JRE,同时还包括java源码的编译器javac、监控工具jconsole、分析工具jvisualvm等。
提高了代码的复用性 提高了代码的维护性 让类与类之间产生了关系,是多态的前提 继承弊端 类的耦合性增强了 开发的原则:高内聚,低耦合 耦合:类与类的关系 内聚:就是自己完成某件事情的能力 继承特点 Java...只支持单继承 Java支持多层继承(继承体系) 如果想用这个体系的所有功能用最底层的类创建对象 如果想看这个体系的共性功能,看最顶层的类 继承注意事项 子类只能继承父类所有非私有的成员(成员方法和成员变量...override(重写):发生在java的继承中,当子类需要使用和父类方法名相同,但实现过程不同的方法时,就会用到重写。
前言: 接着《java基础知识01》,再来聊聊剩下的那些知识点。 一、java基础类库: 1、String字符串: 字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中。...服务端网络编程步骤: 监听端口 获得连接 交换数据 关闭连接 3、Java网络编程: 和网络编程相关的API位于java.net包下。 (1)....部分相关API如下: InetAddress:java 中ip对象 Socket:套接字,通信的端点。...s.close(); ss.close(); } 五、设计模式: Java有23中设计模式,这里只挑几个常用的说一说,想深入了解可以研读《Java设计模式》这本书。...总结: 《java基础知识01》和本文简陋的总结了一些java基础的知识点,由于本人只是个小白,只能在此抛砖引玉,望各位大神多多指点!
当我们去看BigDecimal源码时可以发现,他的实现主要是用的是个无标度值和标度来表示的。所以在使用double时创建的是一个不准确的值,那么如何创建一个准确的小数值呢?...Java中的Timer定时调度任务是咋实现的 在JDK源码中是这样定义Timer类的 public class Timer { /** * The timer task queue....Java中的注解是干嘛的 Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。...Java 注解是从 Java5 开始添加到 Java 的。 Java的注解,可以说是一种标识,标识一个类或者一个字段,常常是和反射,AOP结合起来使用。...import java.lang.annotation.Target; import java.lang.annotation.ElementType; @Target({ElementType.TYPE
所以不会 重复( HashMap 比较key是否相等是先比较 hashcode 在比较 equals ) 以下是Hashset得源码: private static final Object PRESENT...当然 Java 里的数组是无法自动扩的,方法是使用一个新的数组代替已有的容量小的数组,就像我们用一个小桶装水,如果想装更多的水,就得换大水桶。...java.util.Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、 线程安全等操作。...九:数组在内存中是如何分配的 对于 Java 数组的初始化,有以下两种方式 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度,如: //只是指定初始值,并没有指定数组的长度...,如: //只是指定了数组的长度,并没有显示的为数组指定初始值,但是系统会默认给数组数组元素分配初始值为null String[] cars = new String[4]; //③ 因为 Java
J2SE:java标准版,适用于开发桌面应用程序; J2ME:java微型版,适用于消费产品,如手机、掌上计算机; J2EE:java企业版,用来构建企业服务应用; 对象的声明: 类名 对象名;
:返回根目录 del:删除文件 exit:退出dos命令行 计算机语言的发展史: 第一代:打孔机--纯机器语言 第二代:汇编 第三代:C、Pascal、Fortan面向过程语言;C++面向过程/对象;java...跨平台纯面向对象的语言;.Net跨语言平台; javaSE:java标准版,提供完整的java核心api,以前称为J2SE; javaEE:java企业版,主要正对web应用程序开发,以前称为J2EE;...javaME:小型版,用于移动终端,以前称为J2ME; java Card:支持一些Java小程序,运行在小内存设备上的平台; java语言特点: 面向对象;基本概念:类、对象;三大特性:封装、继承、...; java两种核心机制: java虚拟机:是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责指令执行,管理数据、内存、寄存器; 垃圾回收机制; jdk和jre: jdk,即java开发工具包其中包含了...java的开发工具,也包含了jre,安装了jdk就不用再安装jre; jre:java运行环境,包括java虚拟机和java程序所需的核心类库等;
jvm调用,不用创建对象,直接类名访问 void被jvm调用,不需要给jvm返回值 main一个通用的名称,虽然不是关键字,但是被jvm识别 String[] args 以前用于接收键盘录入的 代码块 在Java
学习视频【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibil 1.JAVA基础 1....转义字符: **变量:**就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。...Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。...3.异常体系结构 JAVA把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超累。...4.ERROR ERROR类对象由java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。
所以千万不能忽略基础的重要性,下面一起来温习一下那些容易忽略、容易混淆以及比较重要的Java基础。 一、概述: 1.JDK:Java Development Kit,java的开发和运行环境。...2.JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。...3.javac命令:当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。...内存:java分了5片内存。...本文总结了一些Java基础知识以及一个重点 —— 多线程。剩下的Java基础知识容我日后再整理。
JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。...JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。...具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。...简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。 == 和 equals 的区别是什么?...这是怎么回事,看了 equals 源码就知道了,源码如下: public boolean equals(Object obj) { return (this == obj); } 原来 equals
## Java的由来笔记 1.Java语言的创始人 James-Gosling 2.Java语言的公司 SUN Standford University Network...--->SUN Microsystems 3.Java语言的几个重大事件 1995 正式发布 1996 正式发布了可以下载的JDK工具包 JDK1.0 ...1999 发布第二代Java平台 简称Java2 细化三个不同的版本 标准版 Standard Edition J2SE 企业版 ... 2005 Java6版本 2009 Oracle公司 74亿 #### 配置环境变量笔记 1.配置环境变量 Path ...*JAVA_HOME 目的是为了让路径的写法变得简单(相对路径的写法) JAVA_HOME C://program files/java/jdk
四、 Java类和对象 1.面向对象简述 面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk...语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。 ...3.类与对象的定义和使用 在Java中定义类,使用关键字class完成。...语法如下: class 类名{ 类型 属性名; //属性 返回值类型 方法名(类型 参数); //行为 } 例如: class Student{ //在Java中,对象名采用大驼峰命名法,...这是因为在整个Java开发中,为了保证程序可以正常执行,即便用户没有定义任何构造方法,也会在程序编译后自动为类增加一个没有参数,方法名称与类名称相同,没有返回值的构造方法。
Java基础知识总结 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。...2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。...Java内存管理 Java内存管理:深入Java内存区域 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。...Java堆 对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。...转载请注明出处:http://www.cnblogs.com/BYRans/ PDF版下载链接:《Java基础知识总结》。
Java语言技术架构 JAVASE:(Java platform to Standard Edition)标准版,用于桌面级应用开发。...JAVAME:(Java plataform to Micro Editon)小型版,用于电子消费和嵌入式设备开发 JAVAEE:(Java Platform to Enterprise Edition...JDK: 是java开发工具包,有一个src类库源码压缩包、和其他几个声明文件。Bin,include,lib,jre四个文件夹。...JAVA的编译与运行: HelloWorld.java -->javac 编译 --> HelloWorld.class -->java 解释执行 --> 该系统环境下的机器码(二进制码)-->运行结果...○ 退出:exit编译:javac +.java文件 运行:java + 文件名
领取专属 10元无门槛券
手把手带您无忧上云