跳到主要内容

63 篇文档带有标签「computer-science」

查看所有标签

ApplicationContext

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

APT 使用

How to write a annotation processor and use in Java Project

AspectJ形式AOP使用

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

AspectJ形式AOP概述

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

AspectJ织入方法

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

BeanFactoryPostProcessor

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Bean的构造过程

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

final域内存知识

在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序

github相关问题处理

just execute this will be ok. shell title="handler method" git config --global https.proxy http://127.0.0.1:7890

IoC注入方式1

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

IoC注入方式2

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Java 文件相关

使用 Spring-Boot 时集成 Resttemplate 无需额外导包<br/> <details> <summary>Controller</summary> java package whalefall.filedownloadorup;

java 面试题1

面向对象和面向过程的区别: - 面向过程更注重每一个步骤以及其顺序,面向对象更注重哪些对象,他们具有哪些能力 - 面向过程比较直接,而面向对象更易于复用、扩展和维护 三大特性: 封装:内部细节隐藏 只提供对外的接口

java 面试题2

参见博客 1. 降低资源消耗 2. 提高响应速度 3. 提高线程的可管理性 corePoolSize 核心线程数 正常工作创建的线程数

Java类描述

重载:同一个类,方法名相同,其它部分不同 重写:父子类,方法名相同,(一同两小一大)相同参数列表,返回值、异常类型,修饰符 | 特性 | 抽象类 | 接口 | | --- | --- | --- | | 继承 | 只能继承一个抽象类 | 可以实现多个接口 |

JAVA虚拟机

!20250922223849 1. 取二进制流:通过一个类的全限定名获取定义此类的二进制流。

Java问题汇总

先去Maven Repository找到对应的依赖,并下载。 去下载目录下执行如下命令,注意替换掉-DgroupId,-DartifactId,-Dversion,-Dfile

JMM相关内容

详情请见 对于会改变程序执行结果的重排序,JMM要求编译器和处理器必须禁止这种重排序。 对于不会改变程序执行结果的重排序,JMM对编译器和处理器不做要求(JMM允许这种重排序)。

Joinpoint

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

jUnit Stuff

本文整理了两种常用的测试方式: 1. 纯单元测试(Mockito + JUnit) 2. Spring Boot 测试(@SpringBootTest 排除自动装配) 特点: - 不依赖 Spring 容器

Kafka

Kafka deployment, Docker Compose, and Spring Boot integration

KMP算法

本文代码来自于中国大学MOOC

lambda 使用

> NOTES: 所有内容摘自 Java 8函数式编程 java public Set<String> findLongTracks(List<Album> albums) { Set<String> trackNames=new HashSet<>();

mysql存储过程

创建user表 sql SET NAMES utf8mb4; SET FOREIGNKEYCHECKS = 0; -- ---------------------------- -- Table structure for user

netty

!20250922233019 !20250922233035

Oracle 相关

sql CREATE [OR REPLACE] PROCEDURE [schema.] procedurename [parametername] [[IN] datatype [{:=|DEFAULT} expression]

Python 使用问题

Guide to configuring Python pip sources, virtual environments, and Jupyter notebooks in VSCode

RabbitMQ

RabbitMQ reliability, consumption patterns, and queue types

Redis

Redis common issues, cache penetration, avalanche, and configuration

Spring AOP中的Advice

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Spring AOP中的Aspect

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Spring AOP中的Pointcut

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Spring AOP的织入1

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Spring AOP的织入2

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/sprin

Spring Boot

A bug finds in those of tasks where you need change the date by the nature. <br/> Firstly You should inject a prototype bean to spring context, instea

Spring Core

1. xml配置方式 proxy-target-class=true:强制使用 CGLib 代理 proxy-target-class=false:Spring 会根据情况自动选择代理方式. import MyHighlight from "@site/src/components/MyHighLi

volatile域内存知识

避免使用锁:无锁并发编程,多线程竞争锁时,会引起上下问文切换,所以多线程处理时,可以用一些办法来避免使用锁,如将数据的ID按照Hash算法取模分段,不同的线程处理不同段的数据 CAS算法:java的atomic包使用CAS算法来更新数据,而不需要加锁

两个单链表相加

题目 NOTE 1. 要点不要忘了最后的进位 2. 两个单链表可以长度任意 java

事务处理

<font color='red'>本文摘自 周志明 凤凰架构:构建可靠的大型分布式系统</font>

二分插入

代码来自改视频改写 算法思维:该算法是在插入排序的基础上优化的 插入元素下标i,从0 ~ i-1找插入该元素的位置,

冒泡排序

算法思维:第一层for循环控制趟数,第二层for循环从j=0和j=1开始比较 如果发现前面比后面大则互换位置 优化:当第一趟下来 没有元素交换,说明该数组已经有序了不需要排序 java

分布式问题

1. 基于XA协议的:二阶段提交和三阶段提交 2. 基于时间补偿机制:TCC 基于业务层面实现 3. 本地消息表:基于数据库+mq,通过mq调用服务,完成响应后回调,将状态盖好才能完成。需要配合定时任务扫描,重发消息调用服务,需要保证幂等性;(不推荐使用)

功能注册引擎设计文档

本设计实现了一个基于注解驱动的业务-模板注册引擎,通过 @UseTemplate 注解在启动时自动绑定业务实现类与对应的处理模板,实现业务逻辑与处理流程的解耦。 - ✅ 注解驱动的自动注册机制 - ✅ 泛型类型安全检查

基于Schema的AOPA配置

本文相关代码(来自官方源码spring-test模块)请参见[spring-framework](https://github.com/Halcyon666/spring-frame

处理器内存模型

放松程序中写-读操作的顺序,由此产生了Total Store Ordering内存模型(简称为TSO)。 在上面的基础上,继续放松程序中写-写操作的顺序,由此产生了Partial Store Order内存模型(简称为PSO)。

希尔排序

代码参考该视频 算法思维: 说明 arr.length = n; 增量序列为 seq; 间隔 span = seq[p]

归并排序

视频链接 算法思路:将两个局部有序的数组归并为一个有序的数组

快速排序

代码源自该视频 算法思想:选择一个中心点,将比中心点小的移动到左边,反之移动到右边; 这时形成两个子序列,对子序列递归直至,每个序列只有一个元素为止;

插入排序

插入排序 将i元素插入到下标为0~i-1的位置上,逐个比较,如果发现前面的元素比arr[i]大 则将该元素后移 否则将i元素放入到空位置上 java package whale.simpleAlgorithm;

求4的幂

java package whale.leetcode.simple; / @Author: WhaleFall541 @Date: 2021/5/31 23:22 / public class PowerOfFour {

生产问题

- 问题定界,确定是系统内部问题还是,其它系统问题、或者网络原因 - 如果严重先考虑回退(或者重启应用),先解决掉问题,再找问题的原因 - 原因:连接池问题(线程池中使用)、慢SQL问题、Full GC 问题等

设计模式

<details> <summary>全局异常处理类ExceptionHandlingController</summary> java package com.whalefall.learncases.exception;

选择排序

算法思维:从0到n-1每次取一个为i, 和i后面的元素进行比较 令int k = i;如果发现比i位置上的还小,则将该位置的角标赋值给k。 最后交换i 和 k的位置;每一趟都能排好一个最小的值。

![](https://s2.loli.net/2023/07/15/T2tYREiaSpo3eyx.png) 锁是面向使用者的,它定义了使用者与锁交互的接口(比如可以允许两个线程并行访问),隐藏了实现细节;