话接上回,继续核心类与API的学习,最后介绍一下Object类以及与数学、日期/时间有关的类,就结束该部分的学习了,其他的根据需要自行了解。...一、Object类 1、概述 Object 是 Java 类库中的一个特殊类,也是所有类的父类,任何 Java 对象都可以调用 Object 类的方法。...父类:java.lang.Object 实现的接口有: interface java.io.Serializable interface java.lang.Comparable interface...import java.util.Date; //导包 import java.util.Scanner; public class DateDemo { public static void...直接来看一个打印日历的小案例 //演示日历 import java.util.Calendar; //导包 import java.util.Date; public class DateDemo {
学完Java的面向对象特性后,接下来学习Java核心类与API。Java的API可理解为Java自己提供的标准类库,开发人员可直接使用其方法。...字面量也常称为常量,Java的字面量可以是任意基本数据类型。...3.3 字符串存储位置 java内存空间理解(面试考点),图示如下 java虚拟机内存结构(面试考点) 1)堆 堆主要存放Java在运行过程中new出来的对象,凡是通过new生成的对象都存放在堆中...,对于堆中的对象生命周期的管理由Java虚拟机的垃圾回收机制GC进行回收和统一管理。...它有个名字叫做Non-Heap(非堆),目的是与Java堆区分开。(拓展:方法区是线程安全的。由于所有的线程都共享方法区,所以,方法区里的数据访问必须被设计成线程安全的。
话接上回,继续核心类与API的学习,这次介绍StringBuffer/StringBuilder/StringJoiner类。...System.out.println(str1.getClass()); //class java.lang.String } } 注:可用getClass()方法判断变量类型...5.1 背景及功能重述 1)String String 是 Java 中基础且重要的类,被声明为 final class,是不可变字符串。...三、StringJoiner类 1、概述 StringJoiner是Java8新出的一个类,作用是在构造字符串时可以自动添加前缀、后缀及分隔符,无需实现添加字符的逻辑。..."); sj.add("SE"); System.out.println(sj); // [Hello Java SE] } } 在不需要指定“开头”和“结尾
话接上回,继续核心类与API的学习,这次介绍一下枚举类以及与系统、交互有关的类,需要了解并能使用即可。 一、枚举类 1、概述 枚举也称穷举,简单理解就是把所有可能一一列举出来(穷尽所有可能)。...二、交互相关 1、Console类(简单了解) JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备。Console类的目的是使Java程序和控制台之间的交互更容易。...import java.io.Console; //导包 public class Demo1 { public static void main(String[] args) {...2.1 next方法 直接看案例 import java.util.Scanner; //导包 public class ScannerDemo { public static void main...import java.util.Scanner; //导包 public class ScannerDemo { public static void main(String[] args){
上一次学完了Java的核心类与API,这次来学习异常处理。我们都知道,Java语言具有健壮性和安全性,而异常处理机制就是其重要保证。如下 一、类型 错误(Error)和异常(Exception)。...import java.util.InputMismatchException; import java.util.Scanner; public class ExceptionDemo { public...at ExceptionDemo.deposit(ExceptionDemo.java:7) at ExceptionDemo.main(ExceptionDemo.java:11) 2、自定义异常...import java.util.InputMismatchException; import java.util.Scanner; class MyException extends Exception...尽量避免在 Java中使用 assert关键字,除非哪天 Java默认支持开启 -ea的开关。
Java核心(二)注解 注解是什么? 注解是一种特殊的接口,注解继承自 java.lang.annotation.Annotation。...\Demo.java 查看字节码: javap ....元注解有: java.lang.annotation.Retention java.lang.annotation.Target java.lang.annotation.Documented java.lang.annotation.Inherited...其值是 java.lang.RetentionPolicy枚举。...注解与反射(java.lang.reflect包下) 可以通过 java.lang.reflect.Class的 isAnnotationPresent()得知是否存在注解。
Java核心(一)枚举 Java 1.5 发行版本增加了新的引用类型: 枚举, 在其之前,我们使用枚举类型值的时候通常是借助常量组成合法值的类型,例如表示光的三原色:红黄蓝的代码表示可能是以下这样的。...幸好,Java 1.5引入了枚举类型Enum。...枚举的特性 Java 的枚举类型的父类均为 java.lang.Enum Java的枚举本质上是int值 使用枚举类型将前面的使用常量方式调整如下: public enum LighjtOriginColorEnums...return desc; } public void setDesc(String desc) { this.desc = desc; } } Effective Java...中的场景实例: 枚举中的抽象方法 在 Effective Java 第二版中的第30条定律中,举例了一个场景,如实现四则运算。
本文由来源 jackaroo2020,由 javajgs_com 整理编辑,其版权均为 jackaroo2020 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。
Java核心(三)反射 Java反射给我们提供了在运行时检查甚至修改应用行为的机制。 反射是java高级的核心技术,所有有经验的程序员都应该理解。...Java中的反射 Java的反射是一种很强大的机制,在正常的编程中使用并不多,但它是java的主干,很多Java EE 框架均使用了反射技术: JUnit 利用反射技术解析@Test注解,从而得到测试的方法并调用它们...实现的接口:interface java.util.List java.util.ArrayList实现的接口:interface java.util.RandomAccess java.util.ArrayList...实现的接口:interface java.lang.Cloneable java.util.ArrayList实现的接口:interface java.io.Serializable =========...java.util.RandomAccess java.util.ArrayList实现的接口:interface java.lang.Cloneable java.util.ArrayList实现的接口
更新日志 2022-9-20 杭州 初始版本 整理复习一下Java核心的基础内容。...---- Java中的变量 Java 修饰符 ---- 分类 访问修饰符 非访问修饰符 访问控制修饰符 Java中支持4种,用来保护类、变量、方法和构造方法的访问。...---- Java接口 ---- Java核心API Number/Math类 下表是其一些常用的方法。...Channel和Buffer是NIO的两个核心对象: Channel(通道)是对传统的输入/输出系统的模拟,所有数据都要通过通道传输; Buffer(缓冲)是一个容器(数组),是程序与Channel...FloatBuffer DoubleBuffer 只能通过静态方法实例化Buffer: public static CharBuffer allocate(int capacity); Buffer的核心是
重学Java之核心类 一、String Java字符串的特点: 字符串对象可以直接使用"..."...Java使用Unicode编码。 ? 有了Unicode为什么还需要UTF-8? 英文Unicode编码和ASCII不一致,同时包含大量英文的文本会浪费空间。...编码最佳实践 Java使用Unicode编码 Java程序运行时使用Unicode编码 输入输出时把String和byte[]转换,需要考虑编码 始终优先考虑UTF-8编码 总结 字符串是不可变对象 字符串操作不改变原字符串内容...对应读方法getName() - 对应写方法setName() 总结 JavaBean是一种符合命名规范的class JavaBean通过: getter/setter来定义属性 属性是一种通用的叫法,并非Java...Weekday.SUN) if("r".equals(Color.RED)) 用enum定义常量 关键字enum定义常量类型 常量本身带有类型信息 使用 == 比较 enum定义的类型实际上是class - 继承自java.lang.Enum
***************** java基础 ***************** 一、java 中的局部变量、实例变量和类变量 二、java中的基本类型和引用类型 三、java中的位操作符...反射和动态代理 1、反射:本质就是通过字节码对象对类进行解构,获得类的属性和方法,从而对该类进行一些特殊的操作 反射的核心就是获取 class 文件对象:Class.forName(“全限定名”)...要么就是通过实现接口达到这个目的; 静态代理:代理的类一直存在,会导致系统臃肿和难以维护; 动态代理:代理类不是一直存在的,访问的时候动态创建,结束访问后自动销毁,可以大大的节约资源; (2)动态代理核心...API 核心的类:InvocationHandler 和 Proxy; 核心方法:proxy 类的 newProxyInstance 方法和 InvocationHandler 的 invoke(classloader...,interfaces,handler); 三、java泛型 1、泛型本质:java 类型的参数化,增强 java 语言的动态性,使得可以编写出适用于各种类型的通用代码 2、泛型应用:泛型接口、泛型类
所使用的HashMap源码的版本信息如下: /* * @(#)HashMap.java 1.73 07/03/13 * * Copyright 2006 Sun Microsystems, Inc....Use is subject to license terms. */ 一.概述 在Java中每一个对象都有一个哈希码,这个值可以通过hashCode()方法获得。...因此java的开发人员选择了31这个乘数因子,尽量使得各个字符串映射的结果在整个java的整数域内均匀分布。...谈完java对象的哈希码,我们来看看今天的主角HashMap,HashMap可以看作是Java实现的哈希表。...HashMap中存放的是key-value对,对应的类型为java.util.HashMap.Entry,所以在HashMap中数据都存放在一个Entry引用类型的数组table中。
Java 核心技术 3.1. 反射机制 3.2. 异常 3.3. 多线程 3.4. 文件与 I\O 流 ---- 3. Java 核心技术 3.1....反射机制 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java.../java-programming/exceptions-java 在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。...这些异常发生时,Java 虚拟机(JVM)一般会选择线程终止。...Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态(图源《Java 并发编程艺术》4.1.4 节)。
一、J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具类,是 Java 并发能力的主要体现(注意,不是全部,有部分并发能力的支持在其他包中...由 Java 并发框架图不难看出,J.U.C 包中的工具类是基于 synchronized、volatile、CAS、ThreadLocal 这样的并发核心机制打造的。...所以,要想深入理解 J.U.C 工具类的特性、为什么具有这样那样的特性,就必须先理解这些核心机制。...无论共享数据是否真的会出现竞争,它都要进行加锁(这里讨论的是概念模型,实际上虚拟机会优化掉很大一部分不必要的加锁)、用户态核心态转换、维护锁计数器和检查是否有被阻塞的线程需要唤醒等操作。...CAS 的原理 Java 是如何实现 CAS ? Java 主要利用 Unsafe 这个类提供的 CAS 操作。
超类的private属性并不能被子类访问。假如我们编写一个Manager类继承Employee类。
Java编程思想 文章目录 简介 第一章 对象导论 伴随多态的可装换对象 单根继承 参数化类型 对象的创建和生命期 第二章 一切都是对象 必须由你创建所有的对象 方法、参数和返回值 第三章...编程思想为 Java 开发的圭臬, 是 Java 开发的经典手册....(在堆上创建) 第二章 一切都是对象 描述: 尽管 Java 是基于 C++ 的, 但相比之下, Java 是一种更“纯粹”的面向对象程序设计语言 必须由你创建所有的对象 对象的存储 寄存器....在 Java 中, 你要使用执行控制语句来做出选择 break 和 continue 无穷循环的两种基本方式: for(; 和 while(true) goto 是 Java 中的一个保留字, 目前的版本中没有使用它...第七章 复用类 复用代码时 Java 众多引人注目的功能址以.
在前面讲 java数据类型时也提到接口,是一种引用类型。 注:interface关键字声明接口,implements关键字实现接口。...interface 接口名 extends 父接口1, 父接口2, ... { 0-N 常量 0-N 抽象方法 0-N 内部类、接口、枚举 0-N 默认方法或静态方法 // Java...(Java类是单继承) 4)实现接口语法如下 [修饰符] class 实现类名 extends 父类 implements 接口1, 接口2, ... { } 接口与接口之间有继承关系extends...5、总结 1)Java的接口(interface)定义了纯抽象规范,一个类可以实现多个接口; 2)接口也是数据类型,属于引用类型,适用于向上转型(upcasting)和向下转型(downcasting...} static class Inner{ //静态内部类 public Inner(){ //System.out.println(a); 编译出错,java
面向对象是 Java的主要特性之一,是一种重要的编程思想。...一、对象/类 1、概念 1.1 对象(object) Java中一起皆对象。那么什么是对象?简单理解,对象是一个实例(instance),有状态(属性)和行为(方法)。...p.age); p.eat(); // 调用方法 p.sleep(); } } 测试结果 zhangsan 20 lishi 20 吃饭 睡觉 pass:Java..." "+Person.gender+" "+p.age); } } 测试结果(建议自己把代码跑一遍,加深理解) 吃饭 睡觉 吃饭 zhangsan 女 20 5)本类 this this 是 Java
本次内容是我们学习的核心和重点。...我们都知道,内核是操作系统的核心,如现在的 Linux操作系统正是在 原有Linux内核的基础上发展而来的。宏内核即把所有的功能都耦合起来,放在内核中。...而微内核则恰好相反,内核中只会存放一些核心功能,其余所有功能都会被移出内核,变成一种特殊的用户进程——服务进程,从而降低耦合。...import手动导包)pass:java.lang.Object 类是 Java 语言的根类,任何类都是 Object 类的子类 / 间接子类。...是子类对父类的允许访问方法的实现过程进行重新编写,返回值和形参都不能改变(外壳不变,核心重写)2)为什么要有重写?
领取专属 10元无门槛券
手把手带您无忧上云