多线程
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理” 。本文简单记录一些关于线程、多线程的问题。
参考文章:
多线程下如何保证事务的一致性、
Spring在多线程环境下如何确保事务一致性
详解Spring多线程下如何保证事务的一致性
全网最完整Java学习笔记
基本介绍并行和并发的区别并行:多个处理器或多核处理器同时处理多个任务。并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。
线程和进程的关系进程:是操作系统分配资源的基本单位,有独立的地址空间(内存空间的一部分,用于存储进程中的代码、数据和堆栈等信息)和内存空间,进程之间不能共享资源,上下文切换慢,并发低,能独立执行(有程序入口、执行序列、出口),更健壮(因为进程崩溃后 ...
JAVA I/O流
java.io是Java编程语言中处理输入输出(I/O)操作的核心类库,定义了数据流模型与多种接口,支持文件操作、网络通信及对象序列化等功能。其通过流(Stream)机制实现数据传输,涵盖字节流、字符流与缓冲处理等设计,为Java标准库的重要组成部分。
该库将数据源抽象为输入流和输出流,按传输方向分为输入型与输出型,按单位分为字节流(8位字节处理)与字符流(16位字符处理)。功能上包含直接操作设备的节点流和增强功能的过滤流,核心类包括InputStream、OutputStream、Reader、Writer四个抽象类及其子类,形成分层结构的I/O处理体系。
参考原文:全网最完整Java学习笔记
基本介绍什么是I/O流
I/O流(Input/Output Stream),即输入(Input)和输出(Output)流,是用于处理输入和输出操作的数据流。在Java中,一般用IO流写一个文件输出到操作系统中,或者从操作系统中输入一个文件进行读取。
IO流分类:
按数据流向:
输入流:读数据。
输出流:写数据。
按数据类型:
字节流:它处理单元为1个字节(byte),操作字节和字节数 ...
Java中的泛型
Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
原文链接:全网最完整Java学习笔记
基本介绍泛型,即参数化类型。泛型的出现是为了统一集合当中的数据类型。可在编译阶段约束操作的数据类型,并进行检查参数化类型:在方法定义时,将方法签名中的形参数据类型设置为参数(可称之为类型参数:尖括号 <> 中的泛型标识,用于指代任何数据类型),调用该方法时再从外部传入一个具体的数据类型和变量。
泛型的本质
将类、接口和方法中具体的类型参数化,并且提供了编译时类型安全检测机制。通过使用泛型,可以避免使用Object类导致的类型转换错误和减少了代码的冗余。泛型使用过程中,数据类型被设置为一个参数,使用时从外部传入一个数据类型;而一旦传入了具体的数据类型后,传入变量(实参)的数据类型若不匹配,编译器就会直接报错。这种参数化类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。细节:不能写基本数据类型;指定 ...
集合体系
集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再以一个类的形式提供。集合类是可以往里面保存多个对象的类,存放的是对象,不同的集合类有不同的功能和特点,适合不同的场合,用以解决一些实际问题。
原文链接:
全网最完整Java学习笔记
java基础——java集合list详解、JUC中的List安全类集合
HashMap底层原理、HashMap安全性问题、Java中的ConcurrentHashMap原理详解
Java集合(四)Set的常用实现类
集合体系集合和映射在Java中,集合是一组用于操作和存储数据的接口和类。 它主要包括Collection和Map两种。
集合(Collection):一组单独的元素。它通常应用了某种规则,例如 List(列表)必须按特定的顺序容纳元素,而一个Set(集)不可包含任何重复的元素。映射(Map):一系列“键-值”对的集合。它的存储内容是一系列键值对,如果知道了键(key) ...
JAVA 异常
Java中的异常(Exception)是程序运行时发生的不正常事件,分为检查异常(Checked Exception)和运行时异常(RuntimeException)。 异常处理机制包括捕获(try-catch)、声明(throws)和抛出(throw),确保程序在错误发生时仍能稳定运行或优雅终止。
原文链接:全网最完整Java学习笔记
基本介绍什么是异常Java中,异常(Exception)是指在程序执行过程中出现问题的一种情况,它可以中断程序的正常执行。异常通常是指由于错误、非法操作或意外情况导致的问题,比如文件未找到、数组越界、空指针引用等等。
异常机制:
当程序出现异常,程序安全的退出、处理完后继续执行的机制。Java是采用面向对象的方式来处理异常的。处理过程:
抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。
捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止
异常的分类
Error:错误类,无法通过 ...
面向对象编程(OOP)
面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。
原文链接:全网最完整Java学习笔记
概述面向对象(Object-Oriented,简称 OOP)是一种程序设计的范式,它基于对象的概念,将数据和操作数据的行为封装在对象中,以模拟现实世界的问题和解决方案。
核心概念:
对象(Object): 对象是现实世界中的实体或概念,在程序中被抽象为具有状态(属性)和行为(方法)的实例。
类(Class): 类是对象的模板,它定义了对象的属性和方法。类是对象的抽象,实际的对象是根据类的定义实例化而来的。
封装(Encapsulation): 封装是将对象的属性和方法封装在一个单元内,对外部隐藏对象的具体实现细节。通过封装,对象的内部实现对外部是不可见的,只有公共接 ...
JAVA的常用类
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。 Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
原文链接:全网最完整Java学习笔记
String类基本介绍String是一个类,用于存储字符串,内部封装了一系列用于操作字符串的方法,底层是final修饰的char数组。
JDK9开始,为了节省内存,进而减少垃圾回收次数,String底层由char数组改成了byte[]。
Java的String和c++的string区别:
java中字符串一个汉字长度是1;
c++中字符串,一个汉字长度是2.
基本用法创建创建字符串有两种方式,一种是使用字符串直接量,另一种是使用new+构造器。采用new的方式会多创建出一个对象来,占用了更多 ...
Java基本概念和语法
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。 Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
原文链接:全网最完整Java学习笔记
基本数据类型概述Java的八大基本数据类型分别是:
整型的byte、short、int、long;
字符型的char;
浮点型的float、double;
布尔型的boolean。
123456789101112131415161718192021222324252627282930313233343536public class Test { public static void main(String[] args) { // 1. 整型 ...
定时任务
定时任务在实际的开发中特别常见,比如电商平台 30 分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现,本文记录了定时任务常见的几种实现方式。
转载文章:定时任务最简单的3种实现方法(Java)
参考文章:Java实现定时任务、Quartz 定时任务(Scheduler)的 3 种实现方式
推荐文章:任务调度框架Quartz(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail
Java 语言实现定时任务在 Java 语言中,实现定时任务有几种常用的方法:
java.util.Timer 类:这是Java标准库提供的一个类,可以用来安排任务以后在后台线程中执行。使用 Timer 类,你可以创建一个 TimerTask 任务,然后使用 schedule 或 scheduleAtFixedRate 方法来安排任务的执行。
ScheduledExecutorService 接口:这是Java并发包中的一部分,提供了更灵活的定时任务调度能力。你可以使用 Executors 类创建一个 Schedu ...
Dubbo
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。本文
参考文章:
Dubbo介绍、原理
Dubbo(从入门到掌握)看完这一篇就够了
Dubbo两小时快速上手教程(直接代码、Spring、SpringBoot)
从原理到选型,一文带你搞懂RPC。
Dubbo什么是DubboDubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案,支持多种传输和序列化方案。Dubbo最常用的应用就是远程调用。 官网地址:http://dubbo.apache.org
Dubbo中服务端最核心的对象有四个:
ApplicationConfig:配置当前应用信息
ProtocolConfig: ...





