java笔记
文章平均质量分 75
Fency咖啡
java语言学习者,分享java知识和遇到的问题
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM 进阶学习,万字讲解
JVM 学习能理解我们写的 Java 代码底层是怎么跑的,怎么和操作系统,cpu 打交道,剖析程序执行的本质流程。本文篇幅较长。通读一遍,多了解熟悉● 程序计数器● 虚拟机栈:栈和操作数栈、动态链接、方法返回地址● 堆内存● 方法区:常量池,方法区gc原创 2025-10-06 00:25:08 · 1350 阅读 · 0 评论 -
JVM 学习 - 通俗易懂
JVM是Java程序运行的核心进程,负责执行编译后的.class字节码文件。它包含类加载、运行时数据区和执行引擎等核心组件。类加载过程分为加载、验证、准备、解析和初始化五个步骤,将字节码加载到方法区。运行时数据区包括线程私有的程序计数器、虚拟机栈和线程共享的堆、方法区等。其中程序计数器记录线程执行位置,确保多线程正确切换。JVM通过将Java源代码编译成平台无关的字节码,配合不同系统的JVM实现,实现"一次编写,到处运行"的特性。原创 2025-09-29 23:04:52 · 1366 阅读 · 0 评论 -
线程池与异步编程——语法归纳
CompletableFuture 是Futrue 的增强版,不阻塞线程,一般搭配线程池使用,执行异步任务。,容易导致 OOM,所以阿里规范建议直接用。CompletableFuture 工作流程。Spring 对线程池做了封装,常用。这时必须要做一个选择 —— 这就是。,线程池就没有能力再接新任务了。👉 问题:这些方法的队列可能是。Future 工作流程。异步执行任务,无线程。原创 2025-08-16 18:23:10 · 197 阅读 · 0 评论 -
为什么你觉得 java 中的 Lambda 抽象?手把手带你自定义一个 lambda 看不看?
lambda 表达式调用方关注行为,lambda 表达式的本质是传递行为,函数式接口可以被传递,调用方可实现函数式接口,那不就是把方法体传递给工具类,工具类已经定义好整体的实现包含了调用函数式接口,工具类整体逻辑就完整了。原创 2025-07-24 20:34:59 · 641 阅读 · 0 评论 -
《Head First 设计模式》第二章 - 笔记
设计原则之一 松耦合。原创 2025-05-19 17:14:52 · 1202 阅读 · 0 评论 -
《Head First 设计模式》第一章 - 策略模式笔记
本文介绍了设计模式中的策略模式,重点讲解了其核心思想和实现方式。策略模式通过将算法或行为封装在独立的类中,使得它们可以互相替换,从而实现了代码的解耦和职责分离。文章通过一个鸭子的实例,展示了如何将鸭子的飞行和叫声行为拆分为独立的策略类,并通过组合的方式将这些行为注入到Duck类中,实现了高内聚低耦合的设计。此外,策略模式还支持动态替换策略实例,提供了运行时灵活性,符合开闭原则。文章最后通过代码示例展示了如何实现和测试策略模式,并演示了如何动态改变鸭子的行为。原创 2025-05-12 17:26:36 · 627 阅读 · 0 评论 -
IDEA 创建项目时 SDK 添加多了,移除 SDK
先进入这个 SDK 的文件, 删除这个 SDK 环境变量以及文件。原创 2025-05-06 00:13:17 · 306 阅读 · 0 评论 -
《Effective java》 第三版 核心笔记
什么是接口定义类型?接口的主要目的是定义一个类型。当一个类实现了一个接口,它就是在向使用者声明它属于这个接口定义的类型,并承诺提供该接口所规定的行为(方法)。常量接口违反这个规则。接口就是用来定义规范的,如果声明了常量,那么子类会继承常量,出现污染命名空间等问题。什么是标记接口?标记接口是一种不包含任何方法或常量声明的接口。它的唯一作用是“标记”或指示实现它的类具有某种特定的属性或能力。// Serializable 接口就是一个标记接口// 没有任何方法声明// 实现标记接口的类。原创 2025-05-05 11:41:32 · 889 阅读 · 0 评论 -
java的代理、注解、反射快速回顾
反射获取注解信息,做一些校验逻辑等就很方便举例// 获取类上的注解Class<?//获取字段上的注解return age;return id;原创 2025-05-04 00:34:57 · 1118 阅读 · 0 评论 -
多线程知识点核心笔记
两个线程,一个叫 tortoise, 一个叫 rabbit, tortoise 先过了重点,然后 break for 循环,此时 break 掉的也只是 tortoise线程的循环,rabbit 畅通无阻,继续运行。:是 Lock 常用的实现类,可以通过构造方法实现公平锁,公平锁会尽量保证线程获取锁的顺序是按照它们请求锁的顺序来,等待时间越长越优先。当一个线程尝试获取一个锁,但锁当前被其他线程持有,该线程就会暂停执行,进入等待状态,直到锁被释放。线程是执行任务的“工人”,任务是“要完成的具体工作”。原创 2025-05-01 01:28:42 · 1059 阅读 · 0 评论 -
负载均衡场景和理论讲解,通俗易懂,带入实例
将用户的请求转发给各个服务器处理,实现转发的正是负载均衡器。解决单台服务器处理请求上限的问题。原创 2025-04-14 18:13:06 · 1107 阅读 · 0 评论 -
SpringBootElasticSearch 实现搜索建议 Suggester ,使用 ElasticsearchRestTemplate 方式
红色框的这个列表就是搜索建议搜索建议也叫自动补全,我们输入查询时,基于部分输入动态提供可能的完整查询或相关建议的功能。原创 2024-09-11 00:17:00 · 1409 阅读 · 1 评论 -
JAVA instanceOf使用,super 使用 , this 使用,euquals 跟 == 区别
instanceOf 比较操作符,用于判断第一个对象的运行类型是否为第二个对象的XX类型或XX类型的子类型如: System.out.println(AA instanceOf BB); 判断AA的运行类型 是否等于BB类型,或者BB的子类型,是就返回true ,否则返回falsesuper代表父类的引用,用于访问父类的属性、方法和构造器语法:调用属性和方法 super.属性名; super.方法名(参数);调用构造器 super(参数);细节1)方法名(参数);this.方法名(参数);访问方法,如果有继原创 2022-06-26 17:53:27 · 368 阅读 · 0 评论 -
IDEA安装,使用,快捷键,模板
目录8.1课前准备idea介绍IDEA下载IDEA的使用IDEA快捷键模板快捷键1.IDE(集成开发环境)2.业界公认最好的java开发工具3.IDEA支持java , HTML , CSS , PHP , MySQL , Python等4.试用期过后收费后面Eclipse也会用也是功能强大并且开源免费的一款开放工具官网下载:IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains安装:1)可以不安装在系统盘2)64位安装,其它默认下一步1)I原创 2022-06-24 14:24:59 · 224 阅读 · 0 评论 -
java二维数组,动态列的长度,杨辉三角
动态生成二位数组中列的长度原理:先声明数组行的长度,每行都看作一个一维数组,再去声明每列的数组长度。上代码经典应用案例,杨辉三角题目:打印一个这样的数据分析: 第一行有一个元素,第n行有n个元素每一行的第一个元素和最后一个元素都是1每行除了第一个元素和最后一个元素的值, arr[i][j] = arr[i-1][j] + arr[i-1][j-1];...原创 2022-06-19 21:40:24 · 379 阅读 · 0 评论 -
java运算符,进制转换,原码,反码,补码,
6月17日学习,运算符,标识符,键盘输入,进制,原码,反码,补码。原创 2022-06-17 17:15:29 · 422 阅读 · 0 评论 -
java数据类型转换,基本数据类型和String数据类型之间的转换
java自动类型转换,强制转换,基本数据类型和String转换。int、double、flaot、Boolean转换String,String转换int、double、flaot、Boolean原创 2022-06-16 17:07:06 · 414 阅读 · 1 评论
分享