volatile笔记juc

读书笔记

1、可靠的开发软件,并让我们的开发更易于理解和维护的唯一途径,是遵循我们称之为 DRY 的原则:系统中的每一项都必须具有单一、无歧义、权威的表示。 DRY 是 Dont’t Repeat Yourself 的缩写。 2、重复的产生通常有以下种类: 强加的重复。开发者觉得他们无可选择,其实是有一些方法 ......
笔记

typescript装饰器(decorator)笔记

介绍: 随着TypeScript和ES6里引入了类,在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 Javascript里的装饰器目前处在建议征集的第三阶段,但在TypeScript里已做为一项 ......
typescript decorator 笔记

高等数学笔记一

数学基础知识 数据科学需要一定的数学基础,但仅仅做应用的话,如果时间不多,不用学太深,了解基本公式即可,遇到问题再查吧。 以下是以前考研考博时候的数学笔记,难度应该在本科3年级左右。 高等数学 1.导数定义: 导数和微分的概念 $f'({{x}{0}})=\underset{\Delta x\to ......
数学 笔记

Java开发笔记15(树的列表查询)

1. Controller: /** * 通过id查询树列表 * @param id */@GetMapping("/listById")private Result listByParentId(String id) { String stationTelecode = getStation(ge ......
笔记 Java

查看 WINDOWS 11 笔记本电池容量方法

大多人都有笔记本续航焦虑,随着笔记本的使用时间,电池容量也会有损耗。如果你想知道笔记本电池还剩余多少容量,可以通过用管理员身份运行终端,然后输入下面的命令: powercfg /batteryreport /output "C:\battery.html" 回车命令后,就会在 C 盘根目录生成 ba ......
容量 电池 WINDOWS 笔记本 笔记

Java开发笔记14(递归查询树的层级)

/** * 根据id查询树节点层级(0、1、2...) * @param id 主键id,code * @return 该树节点的层级 */ @Overridepublic Integer findLevelById(String id, String stationTelecode) { coun ......
层级 笔记 Java

代码大全阅读笔记1

第 5 章:软件构建中的设计 5.1 设计中的挑战 设计是一个险恶的问题; 设计是个了无章法的过程 => 直到你没时间做了为止。 设计就是确定取舍和调整顺序的过程。 设计受诸多限制。 设计是不确定的。 设计是一个启发式过程。 设计是自然而然形成的。 几乎所有的系统都在其开发的起始阶段经历某种程度的设 ......
代码 笔记 大全

SpringBoot学习笔记

一、Springboot 简介 目的:设计目的是用来简化Spring应用的初始搭建以及开发过程 Spring程序和SpringBoot程序对比 SpringBoot项目快速启动 对SpringBoot项目打包(执行Maven构建指令package) 执行启动命令(cmd中) java -jar sp ......
SpringBoot 笔记

微信小程序开发学习笔记(一)——概要、安装开发环境与第一个小程序

一、概要 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 微信小程序是腾讯于2017年1月9日推出的一种不需要下载安装即可在微信平 ......
概要 环境 笔记 程序

学习记录:第四周day02笔记

文件的分类 文本文件:是人能看懂的文件,存储的是字符符号的ASCII码的二进制 二进制文件:存储的是数据的补码的二进制 文件IO FILE *fopen(const char *path, const char *mode); 功能:打开或创建文件 参数: path:文件的路径,以字符串形式提供 m ......
笔记 day 02

学习记录:第四周day01笔记

结构: 结构是由程序员自己设计的一种数据类型,用于描述一种事务的各项数据,由若干个不同的基础类型组成 设计: struct 结构体类型名 { 类型名 成员名 ... }; 定义: struct 结构体类型名 结构体变量名; 注意:C语言中定义结构体变量时,struct关键字不能省 初始化: stru ......
笔记 day 01

学习记录:第二周day04笔记

五子棋 数据分析: 1、定义棋盘二维数组 2、定义角色变量(1?2?) '@'黑棋 '$'白棋 '*'空 3、定义变量 用于记录输入的落子位置 逻辑分析: 考虑是否需要初始化棋盘 for(;;) { 1、清屏、打印棋盘 2、落子 判断是否超范围 如果是则提示非法并重新落子 判断是是否已有,如果则提示 ......
笔记 day 04

学习记录:第二周day05笔记

一、什么是指针 指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存 二、为什么要使用指针 1、函数之间内存是相互独立的,但有时候需要函数之间共享变量 普通传参是单向值传递 全局变量容易命名冲突 使用数组还需要 ......
笔记 day 05

学习记录:第三周day01笔记

一、函数指针 函数名就是一个地址(整数),代表了该函数在代码段中的位置 函数指针就是专门指向某种函数的指针,它存储的是该函数在代码段中的位置(函数名) int main { int (*funcp)(const char*,...)=scanf; int num=0; funcp("%d",&num ......
笔记 day 01

学习记录:第三周day02笔记

一、字符串 字符:人能看懂的符号或图案,在内存中以整数形式存储,根据ASCII码表中的对应关系显示相应的符号或图案 '\0' 0 空字符 '0' 48 'A' 65 'a' 97 串:是一种数据结构,存储类型相同的若干个数据;对于串型结构的处理是批量性的,会从头开始直到遇到结束标志 void sho ......
笔记 day 02

学习记录:第三周day03笔记

通讯录项目: 姓名、性别、电话,最多存储50个联系人 功能: 1、添加新联系人 2、按名字删除联系人 3、按名字修改联系人 4、查找联系人,名字或电话,支持模糊查询 5、显示所有联系人信息 6、退出系统 预处理指令: 程序员所编写的代码不能被真正的编译器所编译,需要先经过一段程序翻译一下 翻译的过程 ......
笔记 day 03

学习记录:第三周day04笔记

预处理指令分类: 条件编译 根据条件决定让代码是否参与最终的编译 版本控制、代码注释 #if #elif #else #endif #include<stdio.h> ​ #define VERSION 3 ​ int main() { //版本控制 #if VERSION > 2 printf(" ......
笔记 day 04

vue 课堂笔记

1、 数组合并 说明:定义两个数组arr1 和arr2,然后把这两个合并放入arr3中; const arr1=[1,2,3,4,5] const arr2=[6,7,8,9] //合并数组 const arr3=[...arr1,...arr2] //转字符串以逗号分割 const arr4=ar ......
课堂笔记 课堂 笔记 vue

matlab学习笔记8关于矩阵和线性代数

#从基础的开始 eye(m,n) % 生成单位矩阵 size(A)%返回A的类型 eye(size(A))%生成同型矩阵 rand(m,n) %生成均匀分布矩阵 randn(m,n)%均值为0,方差为1的正态分布矩阵 vander(C)%生成范德蒙德矩阵 diag(v,k)%v是一个向量,k=0时本 ......
线性代数 代数 矩阵 线性 笔记

JUC8_阻塞队列

阻塞队列 概念 队列 队列就可以想成是一个数组,从一头进入,一头出去,排队买饭 阻塞队列 BlockingQueue 阻塞队列,排队拥堵,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示: 线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素 当阻塞队列是空时,从队列中获取元 ......
队列 JUC8 JUC

JUC14_Github学习

Github学习 使用Github优秀框架 + 源码 提升自己 常用词含义 watch:会持续收到该项目的动态 fork:复制某个仓库到自己的Github仓库中 star:可以理解为点赞 clone:将项目下载至本地 follow:关注你感兴趣的作者,会收到他们的动态 in关键字限制搜索范围 公式: ......
Github JUC 14

JUC15_乐观锁和悲观锁

乐观锁和悲观锁 乐观锁 概念 乐观锁:顾名思义,就是十分乐观,它总是认为不会出现问题,无论干什么都不去上锁~,如果出现了问题,再次更新值测试,这里使用了version字段。 也就是每次更新的时候同时维护一个version字段 乐观锁实现方式 取出记录时,获取当前的version 更新时,带上这个ve ......
JUC 15

JUC9_Synchronized和Lock的区别与好处

Synchronized和Lock的区别 前言 早期的时候我们对线程的主要操作为: synchronized wait notify 然后后面出现了替代方案 lock await singal 问题 synchronized 和 lock 有什么区别?用新的lock有什么好处?举例说明 synchr ......

JUC7_CountDownLatch_CyclicBarrier_Semaphore使用CyclicBarrier

CyclicBarrier 概念 和CountDownLatch相反,需要集齐七颗龙珠,召唤神龙。也就是做加法,开始是0,加到某个值的时候就执行 CyclicBarrier的字面意思就是可循环(cyclic)使用的屏障(Barrier)。它要求做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被 ......

JUC7_CountDownLatch_CyclicBarrier_Semaphore使用Semaphore

Semaphore:信号量 概念 信号量主要用于两个目的 一个是用于共享资源的互斥使用 另一个用于并发线程数的控制 代码 我们模拟一个抢车位的场景,假设一共有6个车,3个停车位 那么我们首先需要定义信号量为3,也就是3个停车位 /** * 初始化一个信号量为3,默认是false 非公平锁, 模拟3个 ......

JUC11_死锁编码及快速定位

死锁编码及定位分析 概念 死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去。如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 产生死锁的原因 系统资源不足 进程运行推进的顺序不对 ......
编码 JUC 11

Go笔记(八):指针

1、指针 在Go中,指针的操作有两个符号:&(取地址) 和 * (变量指针的声明 | 取指针变量的值)。 一个指针变量指向了一个值的内存地址。 Go中函数传值皆为值拷贝,对于引用类型的传值,可以创建一个指针变量,无需拷贝数据。Go中,类型指针不能进行偏移和运算。 2、指针地址和指针类型 变量在运行是 ......
指针 笔记

关于spinninup的学习笔记

作为reinforcement learning的一个入门学习的项目,spinningup的地址: https://spinningup.openai.com/en/latest/index.html ......
spinninup 笔记

ReactiveUI使用笔记,教程总结

ReactiveUI使用笔记,教程总结 一、LINQ和Rx LINQ(Language Intergrated Query) 对数据集合、关系数据、XML文件等对象进行查询和提取数据的技术,提供了统一的类似SQL的语法来对数据进行查询,而不用关心数据源的不同。 二、Rx(Reactive Exten ......
ReactiveUI 笔记 教程

TypeScript学习笔记-尚硅谷TypeScript教程(李立超老师TS新课)

TypeScript学习笔记-尚硅谷TypeScript教程(李立超老师TS新课)https://blog.csdn.net/m0_46549017/article/details/124626987?ops_request_misc=&request_id=&biz_id=&utm_medium= ......
TypeScript 老师 笔记 教程