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: ...
SkyWalking
SkyWalking 不是传统意义上的中间件,但属于分布式追踪系统,主要用于监控微服务架构中的服务调用链路和性能分析。它提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,支持微服务、云原生架构,提供了总览、拓扑、应用、服务视图及链路追踪、告警等功能,能够串联用户请求到后端各系统节点的处理流程,帮助快速定位问题。
参考文章:
分布式链路追踪原理详解及SkyWalking、Zipkin介绍
分布式全链路追踪 SkyWalking基本原理
链路跟踪-SkyWalking系列
SkyWalking应用监控和链路跟踪随着微服务架构的流行,开发的运维压力增大,经常需要面临这些问题:
链路较长:在微服务场景下,整个链路会变得很长,服务出问题时,往往不能第一时间排查出问题。
缺少监控:缺少对于服务器,应用组件的实时运行信息,做到心中有数。
预警不及时,粒度较大:经常在服务器响应延迟甚至宕机后,才能发现问题,同时粒度较大,无法在接口层面进行预警。
基于Agent技术,SkyWalking提供了例如吞吐量,QPS,JVM信息等丰富的指标供参考,做到有效同时地告警,利用其丰富的 ...
远程过程调用
RPC(Remote Procedure Call)是一种允许程序像调用本地方法一样调用远程服务的通信协议,其核心价值在于屏蔽网络通信的底层复杂性,这与中间件“连接异构系统、简化开发”的核心目标完全一致。
参考文章:
什么是RPC?有哪些RPC框架?
一文搞定理解RPC
—RPC介绍一篇就够了&RPC的选择
推荐文章:从原理到选型,一文带你搞懂RPC
RPC简介RPC是远程过程调用(Remote Procedure Call)的缩写,是一种允许运行在一台计算机上的程序调用另一台计算机上子程序的技术。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。远程过程调用(RPC)跨越了开放系统互连(OSI)网络通信模型中的传输层和应用层。
完整的RPC框架:服务发现、负载、容错、网络传输、序列化等组件
RPC协议常说的RPC其实是RPC协议,即一种专门为服务间远程调用而设计的一种通用协议。该协议基于其它已有的传输协议,规定通信方式为C/S架构;并且在代码开发过程中要 ...





