上一篇
java的名词英文怎么说
- 后端开发
- 2025-08-23
- 5
va 的英文名词就是 “Ja
va”,它是面向对象的高级编程语言,广泛应用于企业级开发、移动
基础语法与结构相关术语
中文名词 | 英文全称 | 缩写/简称 | 说明 |
---|---|---|---|
类 | Class | 定义对象的模板,包含属性和方法(如 public class MyClass {} ) |
|
对象 | Object | 类的实例化结果(通过 new 关键字创建,MyClass obj = new MyClass(); ) |
|
方法 | Method | 类中的行为逻辑单元,对应C语言中的函数(如 void display(){...} ) |
|
构造函数 | Constructor | 特殊的方法名与类名相同,用于初始化新对象(无返回类型) | |
成员变量/字段 | Field / Member Variable | 类或对象的状态数据存储位置(如 private int age; ) |
|
局部变量 | Local Variable | 方法内部声明的临时变量(作用域仅限当前代码块) | |
静态变量 | Static Field | static | 属于类而非实例共享的属性(使用 static 修饰符声明) |
常量 | Constant | final | 不可修改的值(通过 final 关键字定义,如 final double PI = 3.14; ) |
接口 | Interface | 抽象类型的规范集合,仅能包含抽象方法和默认方法(实现多继承效果) | |
抽象类 | Abstract Class | abstract | 允许部分方法未实现的基类,子类必须重写其抽象方法才能实例化 |
继承 | Inheritance | extends | 子类获取父类属性和方法的机制(单根继承树结构) |
多态性 | Polymorphism | 同一消息根据接收者的不同产生不同行为的能力(编译时类型 vs 运行时类型) | |
重载 | Overloading | 同一作用域内方法名相同但参数列表不同的多个定义共存 | |
覆盖/重写 | Overriding | @Override | 子类重新实现父类中已存在的方法(需保持相同的签名) |
包 | Package | Java源文件的组织单位(对应文件系统的目录结构,如 import java.util.; ) |
|
访问修饰符 | Access Modifiers | public/protected/private/default | 控制类、方法和变量可见性的关键词 |
数据类型与运算体系
原始类型(Primitive Types)
类型 | 关键字 | 默认值 | 占用字节数 | 典型用途 |
---|---|---|---|---|
整型 | byte | (byte)0 | 1 | 处理微小整数(范围 -128~127) |
short | (short)0 | 2 | 短整数存储 | |
int | 0 | 4 | 通用整型计算 | |
long | 0L | 8 | 大数值场景(如时间戳) | |
浮点型 | float | 0f | 4 | 单精度科学计算 |
double | 0d | 8 | 双精度高精度需求 | |
布尔型 | boolean | false | 逻辑判断标志位 | |
字符型 | char | ‘u0000’ | 2 | Unicode编码单个字符 |
注意:原始类型不属于任何类层次结构,但包装类(Wrapper Class)如
Integer
,Double
提供了对象化的封装。
引用类型(Reference Types)
包括所有非原始类型的实体:数组(Array)、类(Class)、接口(Interface)、枚举(Enum)、注解(Annotation)等,它们都继承自根类 Object
。
异常处理机制
术语 | 英文表述 | 功能描述 | 示例代码片段 |
---|---|---|---|
异常 | Exception | 程序运行错误的事件通知 | try { ... } catch (IOException e) {} |
错误 | Error | JVM严重故障(通常不可恢复) | OutOfMemoryError , StackOverflowError |
运行时异常 | Unchecked Exception | 无需显式捕获的派生自RuntimeException的子类 | NullPointerException , ArrayIndexOutOfBoundsException |
受检异常 | Checked Exception | 必须用try-catch处理或声明抛出 | SQLException , FileNotFoundException |
自定义异常 | User-defined Exception | 根据业务需求扩展的标准异常类 | class MyCustomException extends Exception {} |
集合框架核心组件
顶层接口与实现类对比表
Collection类型 | 接口定义 | 常用实现类 | 特点 |
---|---|---|---|
List | java.util.List | ArrayList, LinkedList, Vector | 有序、可重复元素序列 |
Set | java.util.Set | HashSet, TreeSet, LinkedHashSet | 无序且唯一元素的数学集合模型 |
Map | java.util.Map | HashMap, TreeMap, LinkedHashMap | 键值对映射结构,允许null键(除TreeMap外) |
Deque | java.util.Deque | ArrayDeque, ConcurrentLinkedDeque | 双端队列支持头部/尾部插入删除操作 |
迭代器模式应用
Iterator<String> iter = list.iterator(); while(iter.hasNext()){ System.out.println(iter.next()); // 安全遍历避免ConcurrentModificationException }
️ 重要区别:
fail-fast
机制会在并发修改时抛出异常,而CopyOnWriteArrayList
采用写时复制策略保证线程安全。
多线程编程关键概念
概念 | 英文术语 | 作用说明 | 典型API调用方式 |
---|---|---|---|
线程 | Thread | OS调度的基本执行单元 | new Thread().start(); |
Runnable接口 | Runnable | 任务与执行解耦的设计模式 | new Thread(new MyRunnable()).start(); |
Callable接口 | Callable | 支持返回值的任务提交给ExecutorService | Future<Integer> future = executor.submit(task); |
锁机制 | Lock | ReentrantLock实现互斥访问共享资源 | Lock lock = new ReentrantLock(); lock.lock(); ... lock.unlock(); |
条件变量 | Conditions | await/signal机制协调生产者消费者模型 | Condition condition = lock.newCondition(); condition.await(); |
原子操作类 | AtomicXXX | CAFE原则下的无锁算法实现 | AtomicInteger counter = new AtomicInteger(); counter.getAndIncrement(); |
JVM内存区域划分
内存区块 | 英文名称 | 垃圾回收影响范围 | |
---|---|---|---|
方法区 | Method Area | 类元信息、静态变量、常量池 | 随ClassLoader卸载而释放 |
堆 | Heap | 对象实例、数组分配空间 | Minor/Major GC重点扫描区域 |
栈 | Stack | 线程私有的局部变量、操作数栈帧 | Young Generation快速回收策略 |
PC寄存器 | Program Counter Register | 当前执行指令地址指示器 | 无影响 |
Native方法栈 | Native Method Stack | JNI调用本地库时的过渡区域 | 不受GC管理 |
调优技巧:通过
-Xms
和-Xmx
参数调整堆初始/最大容量,使用-XX:+UseG1GC
启用G1收集器优化混合负载场景性能。
常用开发工具链术语对照表
工具名称 | 官方定位 | 主要功能模块 | 典型命令行用法 |
---|---|---|---|
Maven | Dependency Management Tool | POM文件解析、仓库配置、生命周期管理 | mvn clean install -DskipTests |
Gradle | Build Automation System | Groovy脚本构建脚本、增量编译优化 | gradle build --refresh-dependencies |
Ant | Classic Build Tool | XML格式构建流程定义 | ant jar -Dbuild.compiler.argline="..." |
IntelliJ IDEA | Java IDE | Smart Code Completion、Profiler集成 | idea.exe 启动后导入项目即可 |
JUnit | Unit Testing Framework | 断言机制、测试套件组织 | @Test void testAddition(){...} |
Selenium | Web Automation Tool | Browser驱动模拟用户交互 | WebDriver driver = new ChromeDriver(); |
FAQs(常见问题解答)
Q1: Java中的接口能否包含静态方法?如何调用?
A: 自Java 8起,接口允许定义默认方法(使用default
关键字)和静态方法,静态方法属于接口自身而非实例,可直接通过接口名调用。
interface MathUtils { static int add(int a, int b){ return a + b; } } // 调用方式:MathUtils.add(3,5); // 结果为8
这种设计既保持向后兼容性,又扩展了接口的功能边界。
Q2: String是不可变的(immutable),那为什么还能进行拼接操作?
A: String对象的不可变性体现在任何修改都会生成新的对象,当执行str1 += "abc"
时,JVM实际创建了一个新的String实例指向拼接后的结果,原字符串仍保留在常量池中,若频繁修改建议改用StringBuilder
或StringBuffer
(线程安全版),前者在单线程环境下性能更优。
StringBuilder sb = new StringBuilder("Hello"); sb.append(" World!"); // 内部维护可变字符数组,避免重复创建对象 String result = sb.toString(); // 最终转换为