- 前言 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家。本篇文章主要讲解内存区域的年轻代,老年代和永久代,略微提及一些垃圾回收算法,下面是正文。 堆整体 堆主要用于存放各种类的实例对象和数组。在java中被分为两个区域:年轻代和老年代。在java中还有一个永... 前言 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家。本篇文章主要讲解内存区域的年轻代,老年代和永久代,略微提及一些垃圾回收算法,下面是正文。 堆整体 堆主要用于存放各种类的实例对象和数组。在java中被分为两个区域:年轻代和老年代。在java中还有一个永...
- 单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如:多线程是否安全?是否懒加载?性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式? 一、 单例模式 1.1 定义 单例模式就是在程序运行中只实例化一次,创建一个全局唯一对象。有点像 Java&nbs... 单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如:多线程是否安全?是否懒加载?性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式? 一、 单例模式 1.1 定义 单例模式就是在程序运行中只实例化一次,创建一个全局唯一对象。有点像 Java&nbs...
- 前言 本篇博客来自 https://www.cnblogs.com/clover-forever/p/12616869.html 自己在此记录一下,方便日后复习。 虚假唤醒的概念 jdk官方文档解释: 所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的... 前言 本篇博客来自 https://www.cnblogs.com/clover-forever/p/12616869.html 自己在此记录一下,方便日后复习。 虚假唤醒的概念 jdk官方文档解释: 所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的...
- 关于点的问题是用string.split("[.]") 解决。 关于竖线的问题用 string.split("\\|")解决。 关于星号的问题用 string.split("\\*")解决。 关于斜线的问题用 sring.split("\\\\")解决。 关于中括号的问题用 sring.split("\\[\\]"... 关于点的问题是用string.split("[.]") 解决。 关于竖线的问题用 string.split("\\|")解决。 关于星号的问题用 string.split("\\*")解决。 关于斜线的问题用 sring.split("\\\\")解决。 关于中括号的问题用 sring.split("\\[\\]"...
- Java正则的使用方式 String text = "123abc";boolean flag = text .matches("^[A-Za-z0-9]{1,10}-[A-Za-z0-9\\u4e00-\\u9fa5]{1,20}$");if (!flag) { system.out.printlf("不符合");} ... Java正则的使用方式 String text = "123abc";boolean flag = text .matches("^[A-Za-z0-9]{1,10}-[A-Za-z0-9\\u4e00-\\u9fa5]{1,20}$");if (!flag) { system.out.printlf("不符合");} ...
- 在java中final关键字标识无法被修改。接下来从final修饰数据、方法和类进行介绍。 final数据 final用来告知编译器这一块数据是恒定不变的。数据恒定不变又如下作用: 1、一个永不改变的编译时常量。 2、一个在运行时被初始化的值,而你不希望他改变。 编译器常量的情况,编译器可以将常量值代入任何可能用到的计算式... 在java中final关键字标识无法被修改。接下来从final修饰数据、方法和类进行介绍。 final数据 final用来告知编译器这一块数据是恒定不变的。数据恒定不变又如下作用: 1、一个永不改变的编译时常量。 2、一个在运行时被初始化的值,而你不希望他改变。 编译器常量的情况,编译器可以将常量值代入任何可能用到的计算式...
- 前言 最近复习遇到了这个问题,在此进行一个详细的记录,分享给大家。 两个接口的区别 包区别 Comparable接口是在java.lang下。 Comparator接口是在java.util下。 使用区别 如果在定义类时,就实现了Comparable接口,直接在里面重写compareTo()方法,如果没实现... 前言 最近复习遇到了这个问题,在此进行一个详细的记录,分享给大家。 两个接口的区别 包区别 Comparable接口是在java.lang下。 Comparator接口是在java.util下。 使用区别 如果在定义类时,就实现了Comparable接口,直接在里面重写compareTo()方法,如果没实现...
- 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只... 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只...
- 前言 相信大家在平时的工作中对于public和private的修饰权限是用的比较多的。对于protected和无修饰符用的是比较少的。我也一样,在读书的时候,又看到了这个问题,于是,在此进行总结和详细的钻研,来认真区分这些修饰符。分享给大家,供大家参考。 导图 我们先来看一张总体的导图,对这几个访问权限进行一个总体的了... 前言 相信大家在平时的工作中对于public和private的修饰权限是用的比较多的。对于protected和无修饰符用的是比较少的。我也一样,在读书的时候,又看到了这个问题,于是,在此进行总结和详细的钻研,来认真区分这些修饰符。分享给大家,供大家参考。 导图 我们先来看一张总体的导图,对这几个访问权限进行一个总体的了...
- 从数据库取数字,转为string,报错: java.math.BigDecimal cannot be cast to java.lang.String 错误代码 Integer.parseInt((String)map.get("id")) 解决方法 Object object = map.get("id"); ... 从数据库取数字,转为string,报错: java.math.BigDecimal cannot be cast to java.lang.String 错误代码 Integer.parseInt((String)map.get("id")) 解决方法 Object object = map.get("id"); ...
- 一、 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。将程序中的对象,放入文件中保存就是序列化,将文件中的字节码重新转成对象就是反序列化。 二、 序列化和反序列化的必要性 当两个进程进行远程通信时... 一、 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。将程序中的对象,放入文件中保存就是序列化,将文件中的字节码重新转成对象就是反序列化。 二、 序列化和反序列化的必要性 当两个进程进行远程通信时...
- 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 介绍 意图... 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 介绍 意图...
- 堆溢出 java.lang.OutOfMemoryError: Java heap space —-JVM Heap(堆)溢出 JVM 在启动的时候会自动设置 JVM Heap 的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用 JVM提供的 -Xmn -Xms -Xmx 等... 堆溢出 java.lang.OutOfMemoryError: Java heap space —-JVM Heap(堆)溢出 JVM 在启动的时候会自动设置 JVM Heap 的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用 JVM提供的 -Xmn -Xms -Xmx 等...
- 什么是PO PO(Persistence Object 持久化对象)是直接跟持久层数据库打交道的java Bean (model,entity,bean等叫法都是可以的),里面除了私有的成员变量之外,就只有其对应的set/get方法, 而且其变量一般跟数据库表中的列几乎(除了名字)一样。 什么是VO VO(Value ... 什么是PO PO(Persistence Object 持久化对象)是直接跟持久层数据库打交道的java Bean (model,entity,bean等叫法都是可以的),里面除了私有的成员变量之外,就只有其对应的set/get方法, 而且其变量一般跟数据库表中的列几乎(除了名字)一样。 什么是VO VO(Value ...
- 类的加载机制分为如下三个阶段:加载,连接,初始化。其中连接又分为三个小阶段:验证,准备,解析。 加载阶段 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后再堆内创建一个class对象,用来封装类在方法区内的数据结构。 加载class文件的方式: 从本地系统中直接加载 通过... 类的加载机制分为如下三个阶段:加载,连接,初始化。其中连接又分为三个小阶段:验证,准备,解析。 加载阶段 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后再堆内创建一个class对象,用来封装类在方法区内的数据结构。 加载class文件的方式: 从本地系统中直接加载 通过...
上滑加载中
推荐直播
-
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中 -
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
基于华为云码道,构建你的定制化AI搭子2026/08/14 周五 09:00-11:30
明亮-华为云开发者发展与支持部部长
本期直播将向您全面介绍华为云码道产品,并基于码道手把手教你部署自己的定制化AI陪伴搭子。
回顾中
热门标签