- 2024-12-23CS61B 0A Exercises
虽然以前有Java基础,但是工作四年主要使用的还是python和shell,另外对于数据结构和算法的基础也不牢固。所以开一个坑从头开始学习CS61B,对于Dicussion/Lab/Homework做一个记录,学完之后回头看能有一个收获。整体流程参考CS自学社区,学习课程为B站CS61B,本篇为学习完Lectrue01后的Homew
- 2024-12-07Day42--异常向上抛出
Day42--异常向上抛出方法调用栈的概念在Java程序执行过程中,方法之间会相互调用,当一个方法调用另一个方法时,就会形成一个方法调用栈。栈底是main方法(程序的入口),随着方法的调用,新的方法被压入栈顶。例如,main方法调用methodA,methodA又调用methodB,那么此时栈顶是methodB,中间是met
- 2024-07-10aop的几种动态代理以及简单案例(1)
SpingAOP是通过动态代理模式实现的,具体有两种实现方式,一种是基于Java原生的动态代理,一种是基于cglib的动态代理。1.jdk动态代理1.1创建需要被代理的方法接口publicinterfaceTargetInteface{voidmethod1();voidmethod2();intmethod3(Integeri);}1.
- 2024-07-05震惊,程序运行一半就不运行了
近期,我们的项目在生产环境中运行时频繁出现一个难以理解的Bug。这个问题颇为有趣,因此我决定在此记录下整个排查过程。首先,让我模拟一下出问题的代码:XController.java@ResourceprivateXServicexService;@GetMapping("/method1")publicvoidmethod1(){System.out.printl
- 2024-05-04c++继承两个类怎么实现
在C++中,继承两个类可以通过多重继承来实现。多重继承允许一个派生类从多个基类继承属性和方法。以下是一个继承两个类的示例:#include<iostream>//第一个基类classBase1{public:voidmethod1(){std::cout<<"Base1method1"<<std::endl;}};//
- 2024-01-27可重入锁的含义及解决的问题
可重入锁顾名思义可以重复利用的锁,但不是任何方法都能重复使用,而是最初占有锁的方法调用的方法,即是调用方法与被调方法可以同时占用同一把锁。下面从三个角度来说明:1.被调方法没有加锁publicclassLockTest{privatestaticfinalObjectobj=newObject();publicv
- 2023-12-28实现线程的三种方式
一、继承Thread类Thread类中创建线程最重要的两个方法为:publicvoidstart();publicvoidrun();采用Thread类创建线程,用户只需要继承Thread,覆盖Thread中的run方法,父类Thread中的run方法没有抛出异常,那么子类也不能抛出异常,最后采用start启动线程即可。【示例
- 2023-12-18SpringBoot 2项目中,serviceA的方法中调用了serviceB的方法能触发事务吗
需求描述在一个SpringBoot2.x项目中,有一个需求是在serviceA的method1方法中执行两个数据库操作,并在其中的某一步调用了serviceB的method2,而method2也包含了数据库操作。如果在这个过程中发生了异常,希望能够确保所有的数据库操作都能够回滚,以保持数据的一致性。该如何在代码中实现
- 2023-12-13net core 异步超时取消机制
方法一:利用Task.WhenAnynamespaceConsoleApp1{internalclassProgram{staticvoidMain(string[]args){Console.WriteLine("Hello,World!");CancellationTokenSourcects=newCancellationTokenSource
- 2023-05-05Java并发(四)----线程运行原理
1、线程运行原理1.1栈与栈帧 JavaVirtualMachineStacks(Java虚拟机栈JVM)我们都知道JVM中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分配一块栈内存。每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存
- 2023-03-02Decorator Pattern
装饰器模式:参考https://www.runoob.com/design-pattern/decorator-pattern.html动态地给一个对象添加一些额外的功能。装饰类和被装饰类可以独立发展,不会相互耦合,装饰模
- 2023-02-09云对象模板
1//云对象教程:https://uniapp.dcloud.net.cn/uniCloud/cloud-obj2//jsdoc语法提示教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/1293mo
- 2023-02-06一个简单的.net 6控制台程序框架
一个简单的.net6控制台程序框架其中包括,1.使用IOC控制接口的生成,2.使用OPtions来操作配置文件,3.使用nlog来控制日志4.自动获取所有的backgroundService并运行1.Pro
- 2022-12-07多态性(polymorphism)
外在表现出多种形式。一。分类 二。抽象类 多态表现在,抽象类自身不能实例化,要实例化必使用其派生的具类。 三。接口和抽象类的抽象
- 2022-10-21 2022年10月20日 C++类模型漫谈(四)
系统基于32位,MSVC编译器,VS开发工具1、之前看到的都是简单一点的类型继承,现在看下另外一个例子,菱形继承(又称钻石继承)。一个TypeA基类,TypeB和TypeC继承TypeA,TypeD同时继承Ty
- 2022-10-20 C++类模型漫谈(三)
系统基于32位,MSVC编译器,VS开发工具1、上篇直接通过类型对象调用成员函数,这种方式无法实现多态。所谓多态意思对函数的调用呈现出不同的形态。下面这个例子中a_ptr为指向
- 2022-10-02python抽象类
python抽象类Python本身不具有抽象类,通过导入abc模块可以另一抽象类和抽象方法。fromabcimportabstractmethod,ABCMetaclassBase(metaclass=ABCMeta):@abs