JAVA理论-JAVA基础知识
1.Java 基础 知识
1.1 面向对象的特征(了解)
1.2 Java 的基本数据类型有哪些
1.3JDK JRE JVM 的区别 (必会)

1.4 重载和重写的区别
1.5 Java 中==和 equals 的区别
1.6 String、StringBuffer、StringBuilder 三者之间的区别
- 如果要操作少量的数据用:String
- 多线程操作字符串缓冲区下操作大量数据用:StringBuffer
- 单线程操作字符串缓冲区下操作大量数据用:StringBuilder
1.7 接口和抽象类的区别是什么?
1.8 string 常用的方法有哪些?
1.9 什么是单例模式?有几种?
public class Singleton{private static Singleton instance =new Singleton();private Singleton(){}private static Singleton getInstance(){return instance; }
}
懒汉式:非线程安全,延迟初始化
public class Singleton{private static Singleton instance ;private Singleton(){}private static Singleton getInstance(){if(instance==null){intstance=new Singleton(); }return instance; }
}
双重检查锁:线程安全,延迟初始化
public class Singleton{private volatile static Singleton instance ;private Singleton(){}private static Singleton getInstance(){if(instance==null){synchronized(Singleton.class){if(instance==null){intstance=new Singleton(); } } }return instance; }
}
1.10 反射
在java中的反射机制是指在运行状态中,对于任意的类都能知道这个类所有的属性和方法;并且对于任意一个对象,都能调用它非私有的任意一个方法;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制
获取Class对象的3种方法:
调用某个对象的getClass()方法
Person p=new Person();
Class clazz=p.class;
调用某个类的class属性来获取该类对于的Class对象
Class clazz=Person.class;
使用Class类中的forName()静态方法(最安全、性能最好)
Class clazz=Class.forName("类的全路径"); (最常用)
1.11 jdk1.8 的新特性
1. Lambda表达式
Lambda允许把函数作为一个方法的参数
new Thread( ()->System.out.println("abc")).start();
2.方法引用
方法引用允许直接引用已有 Java 类或对象的方法或构造方法。
ArrayList<String> list=new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.forEach(System.out::println)
3.函数式接口
有且仅有一个抽象方法的接口叫做函数式接口,函数式接口可以被隐式转换为Lambda表达式。通常函数式接口上会添加@FunctionalInterface注解。
4.接口允许定义默认方法和静态方法
从JDK8开始,允许接口中存在一个或多个默认非抽象方法和静态方法
5.Stream API
新添加的StreamAPI把真正的函数式编程风格引入java中。这种风格将要处理的元素集合可以看作一种流,流在管道中传输,并且可以在管道和节点上进行处理,比如筛选,排序,聚合等
List<String> list=Arrays.asList("abc","","abc");
list.stream().filter(string->!string.isEmpty())//过滤空字符串.distince()//去重.forEach(a->System.out.print(a));
6 日期/时间类改进
之前的 JDK 自带的日期处理类非常不方便,我们处理的时候经常是使用的第三方
工具包,比如 commons-lang
包等。不过 JDK8 出现之后这个改观了很多,比如日期时间的创建、比较、调整、
格式化、时间间隔等。
这些类都在 java.time 包下,LocalDate/LocalTime/LocalDateTime。
7 Optional 类
Optional 类是一个可以为 null 的容器对象。如果值存在则 isPresent()方法会返
回 true,调用 get()方法会返回该对象。
8 Java8 Base64 实现
Java 8 内置了 Base64
1.12 Java 的异常
- 运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常一般都是由程序逻辑错误引起的。
- 非运行时异常(编译异常):是RuntimeException以外的异常。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException 等以及用户自定义的Exception 异常,一般情况下不自定义检查异常。
1.13 BIO、NIO、AIO 有什么区别?
1.14 Threadlocal(线程局部变量) 的原理
1.16 同步锁、死锁、乐观锁、悲观锁
同步锁:
死锁:
乐观锁:/
悲观锁:
1.17 synchronized 底层实现原理
- 普通同步方式,锁是当前实例对象
- 静态同步方法,锁是当前类的class对象
- 同步方法块,锁是括号里面的对象
1.18 synchronized 和 volatile 的区别是什么?
1.19synchronized 和 Lock 有什么区别?
相关文章:

JAVA理论-JAVA基础知识
1.Java 基础 知识 1.1 面向对象的特征(了解) 面向对象的特征:封装、继承、多态、抽象 封装:就是把对象的属性和行为(数据)结合为一个独立的整体,并尽量隐藏对象的内部细节,公开我希…...

免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版
渗透智能-ShirtAI,可以免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版、除此之外还能免费使用AI搜索、Gemini AI、AI照片修复、AI橡皮擦、AI去背景、AI智能抠图、AI证件照、OCR识别、在线思维导图、在线绘图工具、PDF工具箱、PDF翻译。 传送入口&a…...

SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载
视频教程: 一个强大的语音分离和降噪软件 SoloSpeech 是由约翰霍普金斯大学、香港中文大学、南洋理工大学、清华大学及布拉格理工大学等多所高校共同主导开源的一个创新的语音处理项目,旨在解决在多人同时说话的环境中,准确提取并清晰呈现特定…...

深入解析 Java ClassLoader:揭开 JVM 动态加载的神秘面纱
大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构! Java 之所以能实现“一次编写,到处运行”,很大程度得益于其虚拟机(JVM)强大的跨平台能力。…...

CICD实战(一) -----Jenkins的下载与安装
服务器IPJenkins192.168.242.153gitlab192.168.242.154 1、安装工具(可选,如果有就不需要安装) sudo yum install wget net-tools 2、关闭防火墙 #关闭防火墙(如果是云服务器部署,去安全组放通对应的端口即可) systemctl stop firewalld …...
【.net core】.KMZ文件解压为.KML文件并解析为GEOJSON坐标数据集。附KML处理多线(LineString)闭环问题
通过使用ZipFile解压KMZ文件,获取其中的KML文件,并解析KML文件,输出解析后的坐标数据集。 KML文件:地理信息的标准格式 解析后的坐标数据集输出格式(GEOJSON坐标数据集):[[[经度,纬度],[经度,纬度]]] 解…...
Python打卡训练营day46——2025.06.06
知识点回顾: 不同CNN层的特征图:不同通道的特征图什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。通道注意力:模型的定义和插入的位置通道注意力后的特征图和热力图 …...
网络资源缓存
前端性能优化是提升用户体验和页面响应速度的关键,可以从 网络优化、资源优化、缓存优化 三个方面系统地进行。以下是详细说明: 一、网络优化(减少请求数、降低延迟、提升加载速度) 减少 HTTP 请求数量 合并请求(CSS…...
Linux中 SONAME 的作用
🧠 一、从 -lexample 到 SONAME ✅ 假设你有以下文件结构: /libexample.so → libexample.so.1 /libexample.so.1 → libexample.so.1.0.0 /libexample.so.1.0.0 # SONAME: libexample.so.1/libexample.so.2 → libexample.so.2.0.0 /libexample.so.2.0…...

Devops系列---python基础篇二
1、列表 1.1 概念 格式: 名称 [ “元素1”,“元素2”,…] #定义一个列表 computer ["主机","键盘","显示器","鼠标"]类型方法用途查index(“元素”)查看元素索引位置count(“元素”)统计元素出现的次数reverse()倒序排…...
自定义事件wpf
// 自定义控件 public class MyCustomControl : Control { public static readonly RoutedEvent MyCustomEvent EventManager.RegisterRoutedEvent( "MyCustom", RoutingStrategy.Bubbling, typeof(RoutedEventHandler), typeof(MyCustomControl) ); public event R…...

TLV4062-Q1、TLV4082-Q1迟滞电压比较器应用笔记
文章目录 主要作用应用场景关键优势典型应用示意图TLV4062-Q1 和 TLV4082-Q1 的主要作用及应用场景如下: 主要作用 精密电压监测:是一款双通道、低功耗比较器,用于监测输入电压是否超过预设阈值。 集成高精度基准电压源(阈值精度1%),内置60mV迟滞功能,可避免因噪声导致的…...
C++.OpenGL (3/64)着色器(Shader)深入
着色器(Shader)深入 着色器核心概念 #mermaid-svg-xC0jTt9mJWGVa7yE {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-xC0jTt9mJWGVa7yE .error-icon{fill:#552222;}#mermaid-svg-xC0jTt9mJWGVa7yE .error-text{fi…...

DHCP介绍
DHCP介绍 1 DHCP简述2 DHCP协议分析2.1 主要流程2.2 DHCP全部报文介绍2.3 IP租用更新报文2.4 DHCP协议抓包分析 3 DHCP应用3.1 DNSmasq参数配置3.2 DNSmasq框架代码3.2.1 创建socket监听67端口3.2.2 监听67端口3.2.3 处理DHCP请求 3.3 DNSmasq模块排障方法 4 常见问题排查4.1 问…...
李沐《动手学深度学习》d2l安装教程
文章目录 最新回答报错提醒安装对应版本安装C工具和Windows SDK 最新回答 安装旧版本即可 pip install d2l0.17.0 WARNING: Ignoring invalid distribution -pencv-python (e:\python3.10\lib\site-packages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple C…...

[蓝桥杯]耐摔指数
耐摔指数 题目描述 X 星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。X 星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。…...
深入理解数字音频:采样率、位深与量化
在当今数字时代,音频技术已经渗透到我们生活的方方面面——从流媒体音乐到视频会议,从播客到智能家居。但你是否曾好奇过,这些美妙的声音是如何被捕捉、存储并在数字世界中重现的?本文将带你深入了解数字音频的核心概念࿰…...

2024年第十五届蓝桥杯青少Scratch初级组-国赛—画矩形
2024年第十五届蓝桥杯青少Scratch初级组-国赛—画矩形 题目点下方,支持在线编程,在线获取源码和素材~ 画矩形_scratch_少儿编程题库学习中心-嗨信奥 程序演示可点下方,支持源码获取~ 画矩形-scratch作品-少儿编程题库…...
java面试场景题: 设计⼀个微博系统
微博系统设计指南:从理论到实践 系统设计考察的核心能力 系统设计面试模拟真实工作场景,候选人需与面试官协作解决模糊问题。关键在于沟通、分析和权衡能力,而非追求完美方案。面试官关注思考过程,而非最终答案。 常见误区与改…...
市面上哪款AI开源软件做ppt最好?
市面上哪款AI开源软件做ppt最好? aippt:AiPPT - 全智能 AI 一键生成 PPT 网站形式,需要注册 ai to pptx :SmartSchoolAI/ai-to-pptx: 前端后端同时开源。 Ai-to-pptx是一个使用AI技术(DeepSeek)制作PPTX的助手,支持在…...

JMM初学
文章目录 1,线程间的同步和通信1.1, 共享内存并发模型 (Shared Memory Model)线程通信机制线程同步机制特点 1.2, 消息传递并发模型 (Message Passing Model)线程通信机制线程同步机制特点 适用场景对比 2,Java内存模型JMM2.0,Java内存模型的基础(1)内存…...
transformer和 RNN以及他的几个变体区别 改进
Transformer、RNN 及其变体(LSTM/GRU)是深度学习中处理序列数据的核心模型,但它们的架构设计和应用场景有显著差异。以下从技术原理、优缺点和适用场景三个维度进行对比分析: 核心架构对比 模型核心机制并行计算能力长序列依赖处…...

构建云原生安全治理体系:挑战、策略与实践路径
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从传统安全走向“云原生安全” 随着企业 IT 架构从传统单体系统向容器化、微服务和云原生平台转型…...
vue-print-nb 打印相关问题
一、背景与解决方案 1、ElementUI表格打印通病,均面临边框丢失、宽度超出问题:相关解决代码有注释; 2、大多数情况下不会打印页眉页脚的日期、网址、未配置popTitle显示的undefined:相关解决代码有注释; 3、打印预览页…...

vcs仿真产生fsdb波形的两种方式
目录 方法一: 使用verilog自带的系统函数 方法二: 使用UCLI command 2.1 需要了解什么是vcs的ucli,怎么使用ucli? 2.2 使用ucli dump波形的方法 使用vcs仿真产生fsdb波形有两种方式,本文参考《vcs user guide 20…...
每日算法 -【Swift 算法】三数之和
Swift|三数之和(3Sum)详细题解 注释 拓展(LeetCode 15) ✨题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a, b, c,使得 a b c 0。请你找出所有和为 0 且不重…...

Go语言底层(三): sync 锁 与 对象池
1. 背景 在并发编程中,正确地管理共享资源是构建高性能程序的关键。Go 语言标准库中的 sync 包提供了一组基础而强大的并发原语,用于实现安全的协程间同步与资源控制。本文将简要介绍 sync 包中常用的类型和方法: sync 锁 与 对象池,帮助开发…...
登高架设作业操作证考试:理论题库高频考点有哪些?
一、安全基础知识 法律法规 《安全生产法》《特种作业人员安全技术培训考核管理规定》中关于登高作业的强制性要求(如持证上岗、培训时限等)。 事故责任划分:未系安全带、无监护作业等违规行为的法律后果。 个人防护 安全带使用标准&#…...

2025年06月06日Github流行趋势
项目名称:agent-zero 项目地址url:https://github.com/frdel/agent-zero项目语言:Python历史star数:8958今日star数:324项目维护者:frdel, 3clyp50, linuztx, evrardt, Jbollenbacher项目简介:A…...
华为云CentOS配置在线yum源,连接公网后,逐步复制粘贴,看好自己对应的版本即可,【新手必看】
华为云镜像源配置 YUM 源的详细步骤: 1. 备份原有的 YUM 源配置文件 在修改 YUM 源之前,建议备份原有的配置文件。通常,YUM 源的配置文件位于 /etc/yum.repos.d/ 目录下。例如,备份 CentOS 的默认 YUM 源配置文件: …...