被动收入
什么是被动收入 被动收入(Passive...
日常锻炼计划
1. 力量训练 体重训练:俯卧撑、引体向上(如果可能的话)、深蹲跳、平板支撑、仰卧起坐/卷腹。 2. 速度与爆发力 短跑冲刺:在安全的场地或跑步机上进行50米冲刺练习。 跳跃训练:立定跳远、箱跳(如果没有箱子可以做原地跳跃)、高抬腿跑。 3. 柔韧性和拉伸 静态拉伸:针对全身各大肌群,每个动作保持20-30秒。 动态拉伸:例如腿部摆动、肩部绕环等,适合用作热身活动。 瑜伽或普拉提:有助于提升整体柔韧性和核心稳定性。 4. 敏捷性 障碍跑:设置一些小障碍物(如书本),进行穿梭跑。 梯形跑:如果没有敏捷梯,可以在地面想象线条进行前后左右移动训练。 5. 心肺耐力 有氧运动:长跑、快走、原地高抬腿跑、登山者式(类似爬山的动作)。 高强度间歇训练(HIIT):短时间内高强度运动(如快速跳绳或原地跑步)与低强度恢复期交替进行。 6. 平衡能力 单腿站立:闭眼增加难度。 瑜伽姿势:如树式、战士三式等需要良好平衡感的动作。 猫牛式:瑜伽中的一个基本姿势,有助于脊柱灵活性和平衡感。 7....
Java IO模型详解
I/O的定义 I/O 是 Input/Output 的首字母缩写,即输入/输出,它描述的是数据流动的过程。输入/输出是相对而言的。下面将从两个角度出发来进一步理解 IO: 计算机结构的视角 根据冯·诺依曼结构,计算机分为五大部分,分别是:控制器、运算器、存储器、输入设备、输出设备。 输入设备(如鼠标键盘)和输出设备(如显示器)都属于外设(外部设备),而像硬盘、网卡这种既属于输入设备又属于输出设备。 从计算机的角度出发的话,操作系统将从输入设备读取到的数据写入到输出设备,这就是一次完整的 I/O 过程。 即 I/O 描述了计算机核心(CPU和内存)与外部设备之间的数据转移的过程。 应用程序的视角 我们都知道,应用程序作为一个文件保存在磁盘中,只有加载到内存中成为一个进程才能够运行。 为了确保操作系统的安全性和稳定性,操作系统会将内存分为 内核空间 和 用户空间,进行内存隔离。 而我们运行的应用程序都是运行在用户空间的,只有内核空间才能进行系统态级别的资源有关的操作,比如文件管理、进程通信、内存管理等。也就是说,我们想要进行 I/O...
Java List接口及实现类
Java中的List接口是java.util包下集合框架的一部分,它是Collection接口的直接子接口。List接口定义了一个有序的、可变的元素序列,并且允许重复元素。它提供了对元素进行索引访问的能力,以及通过索引位置添加、删除和修改元素的方法。 以下是List接口的一些关键特性: 有序:列表中元素的顺序是明确的,可以通过索引(从0开始)来确定每个元素的位置。 可变大小:列表的长度可以动态地改变,允许在运行时添加或删除元素。 允许重复:与Set不同,List允许存储重复的对象。 索引操作:提供了get(int index)方法获取指定索引处的元素,set(int index, E element)方法替换指定索引处的元素,add(int index, E...
Java标准
Java标准 JDK是实现Java标准的工具包,标准相当于接口,JDK是具体实现 JDK有Oracle JDK, OpenJDK等等 java版本eg:Java8和JavaSE,javaEE关系
final关键字
final关键字 修饰类,方法,方法内参数,变量 修饰类:表示类不可变,不可被继承,类中的方法隐式的添加final 修饰方法:表示方法不可以被重写 修饰方法参数: 表示参数不可变,当参数要在内部类中使用,参数需要final修饰 修饰变量: 表示变量不可变 当修饰的变量为基本类型(int, float等)时,变量值无法修改 当修饰的变量为引用时(String, Object等),变量的引用无法改变,引用的值是可以改变的 空白final: 声明final类型的变量时,未给变量付初值 只要确保变量在使用前被初始化即可(一般用构造器中初始化)
java学习路线
学习Java的路线有很多,但是大多数人都建议从Java SE基础开始,然后学习MySQL、JDBC和Java Web1。在学习过程中,一定要理论结合实践,不要只看书,一定要多动手看代码、写代码2。可以通过看书和视频结合的方式学习,视频会更生动,不会那么枯燥2。 在掌握了基础知识后,可以学习一些更高级的技术,比如Maven、Spring、SpringMVC、MyBatis、Redis、SpringBoot和SpringCloud等3。在学习过程中,可以参考一些项目实战,以便更好地理解和应用所学知识。
3
...
3.01
教你透彻了解红黑树 二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意结点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意结点的左、右子树也分别为二叉查找树。 没有键值相等的结点(no duplicate nodes)。 因为,一棵由n个结点,随机构造的二叉查找树的高度为lgn,所以顺理成章,一般操作的执行时间为O(lgn).(至于n个结点的二叉树高度为lgn的证明,可参考算法导论 第12章 二叉查找树...
3.02
B树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B±tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。 但是咱们有面对这样一个实际问题:就是大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下,因此我们该想办法降低树的深度,从而减少磁盘查找存取的次数。一个基本的想法就是:采用多叉树结构(由于树节点元素数量是有限的,自然该节点的子树数量也就是有限的)。 这样我们就提出了一个新的查找树结构——平衡多路查找树,即B-tree(B-tree树即B树*,B即Balanced,平衡的意思**)**,这棵神奇的树是在Rudolf Bayer,...