Moonike Blog
  • 首页
  • 归档
  • 分类
  • 关于
  • 友链

JVM 的运行时数据区

我们可以将整个运行时数据区分为 线程私有区域 和 线程共享区域 这两个部分。下面简单介绍这两个区域所包含的部分及其功能: 线程私有区域: 程序计数器 PC :当前线程执行字节码行号的指示器 虚拟机栈:为除了 Native 方法以外的 Java 方法服务 本地方法栈:为 Java 方法服务 线程共享区域: 堆:存放几乎全部的对象实例 方法区:存储已被虚拟机加载的类信息、字段信息、方法信息、常
2025-03-24
Java > JVM虚拟机

Java8 Optional 类的使用

传统的防止出现 NullpointerException异常的方法是使用 if-else语句来进行判断,而 Optional 类的出现是为了简化对 null的判断。 什么是 Optional 类java.util.Optional<T>类是一个封装了Optional值的容器对象。如果值存在,调用get()方法可以获取值,并且调用isPresent()方法会返回true;如果值不存在,那
2025-03-18
Java > Java基础

向上转型与向下转型

向上转型与向下转型是 Java 中关于父子对象转换的两个概念。 假如我们有如下代码: 12345678910111213141516171819202122232425262728293031323334// 父类public class Animals { public int age = 0; public void eat(){ System.o
2025-03-12
Java > Java基础

如何创建一个线程

Thread类实现了Runnable接口,Runnable接口中有一个未实现的方法run()。 严格来说,只有一种方式能够创建 Java 线程:new Thread().start(),因为无论哪种方式,最终还是依赖于new Thread().start()。 继承Thread类,重写run()方法,调用start()方法开启线程; 1234567class MyThread extends
2025-03-11
Java > Java并发编程

线程池 ThreadPoolExecutor

什么是线程池池化技术已经屡见不鲜了,线程池、数据库连接池、HTTP 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。线程池就是管理一系列线程的资源池,其提供了一种限制和管理线程资源的方式。 线程池一般用于执行多个不相关联的耗时任务,没有多线程的情况下,任务顺序执行,使用了线程池的话可让多个不相关联的任务同时执行,提高任务的执行效率,降低资源消耗
2025-03-11
Java > Java并发编程

String

String类常用方法 length() 返回字符串长度 charAt(int index) 返回指定位置字符 indexOf(String str) 返回指定子字符串第一次出现的位置 trim() 去除前后空格 split(String regex) 根据正则表达式分割 valueOf(Object obj) 返回指定对象的字符串形式 format(String format, Object..
2025-02-27
Java > Java基础

异常

概括Exception 和 Error 都继承于 Throwable 接口。 Exception 又分为 Runtime Exception (Unchecked Exception) 和 Checked Exception 对于 Checked Exception,如果没有被 catch 关键字捕获或被 throws 关键字抛出的话,程序是无法正常通过编译的。 对于 Runtime Exce
2025-02-19
Java > Java基础

注释

单行注释(Single-line Comment) 以 // 开头,注释内容从 // 到行尾。单行注释通常用于简短的说明或注释一行代码。 示例: 12// 这是一个单行注释int x = 10; // 这也是单行注释 多行注释(Multi-line Comment) 以 /* 开始,以 / 结束,可以跨越多行。通常用于注释较长的内容或对代码块进行详细的解释。 示例: 123
2025-02-17
Java > Java基础

序列化

序列化和反序列化 序列化:将数据结构或对象转换成可以存储或传输的形式,通常是二进制字节流,也可以是 JSON, XML 等文本格式 反序列化:将在序列化过程中所生成的数据转换为原始数据结构或者对象的过程 常用场景 网络传输:对象在进行网络传输(比如远程方法调用 RPC 的时候)之前需要先被序列化,接收到序列化的对象之后需要再进行反序列化; 持久化:将对象存储到文件、数据库或内存之前需要进行序列化
2024-12-17
Java > Java基础

OOP:封装、继承、多态

封装封装就是把一个对象的状态信息隐藏在对象内部,不允许外部对象直接访问;但是可以对外提供一些方法来操作属性。其他对象只能通过已经授权的操作来和封装的对象进行操作,而无需了解其内部的实现细节。 继承不同类型的对象之间经常会有一些共同点,同时每一个对象中又定义了额外的特性使他们与众不同,我们通过继承就可以使得复用之前的代码非常容易。通过继承,我们可以直接使用父类的属性和方法,又可以实现自己独特的属性和
2024-12-13
Java > Java基础
1…34567

搜索

Copyright 2025 Moonike. All rights reserved.
Powed by Hexo Fluid
载入天数... 载入时分秒...
总访问量 次 总访客数 人