当前位置: 首页 > news >正文

自由学习记录

约束的泛型通配符?

Java中的泛型

xiaomi和byd都继承了car,但是只是这两个类是car的子类而已,而arraylist<xiaomi> ,arraylist<byd> 两个没有半毛钱继承关系

所以传入的参数整体,是car的list变形,里面的确都能存car,但不可以整体换成别的byd的list变形,只有list里的单独car对象可以装byd

这个时候可以用?通配符去接一切类型,但是这也不好,如果我搞了只狗的list,来这个方法里面跑步,非常不合适,所以就有了?的范围规定,必须是car的子类就是extends ,父类就是super

c#中的泛型

在 C# 中,虽然没有直接像 Java 那样的“泛型通配符”概念(例如 ? extends T? super T),但 C# 提供了功能非常接近的机制,主要通过 泛型约束协变与逆变 来实现类似的效果。

协变逆变

// 协变接口:T 可以是派生类
public interface ICovariant<out T> {T GetItem();
}// 逆变接口:T 可以是基类
public interface IContravariant<in T> {void SetItem(T item);
}
ICovariant<object> obj = new Covariant<string>(); // string 是 object 的派生类
Console.WriteLine(obj.GetItem());
IContravariant<string> contravariant = new Contravariant<object>(); // object 是 string 的基类
contravariant.SetItem("Hello");

泛型约束

C# 还支持在泛型类型参数上应用约束来指定允许的类型,这提供了类似于 Java 中 ? extends T 的功能。

  • where T : class:T 必须是引用类型。
  • where T : struct:T 必须是值类型。
  • where T : SomeBaseClass:T 必须继承自 SomeBaseClass
  • where T : new():T 必须有无参构造函数。
public class MyClass<T> where T : Animal {public void DoSomething(T item) {// T 必须是 Animal 或其派生类item.Speak();}
}

SQL的update和delete

update

update的嵌套查询

select did from 部门表 where dname='要查的部的did,用这种方式得到';

update 要改的表 set 把数据进行修改 where did=(select 单个值的子表查询的使用)

 

再嵌入别的新表就OK了

同一张表不能同时又查又改,sql的保护机制

delete

 和update 同样的同时对应一张表,不能乱来,要嵌套个子,让删和查不同时

还有,虚拟表要名字的

SQL的select虚拟表

虚拟表的拼接

group by 之后, select did 和 avg(salary)

虚拟表 的左连接

join 虚拟的select表,(要as,这样后面的on才有活路比较) on d.did=tmp.did;

Java异常

现在编译异常并不常用,sun公司也在全面高度禁止使用这种异常,因为会造成一些很麻烦的问题,所以要写异常的话,写运行异常就够了

这种没写分号之类的语法错误,不是所谓的异常,是脑子异常

joke,这里的看似的编译异常,不属于真正的异常,没有抛出,不是明显人为的异常提示 

exception比较强烈,是直接抛出异常

编译时异常是担心你水平不行,而运行时异常就是直接的水平问题

两个异常就丢两次,外面要记得接住 ,或者再丢

又或者,只丢

这样就只要接一个异常exception就可以了

 在这个函数后面加上throw异常类型,就可以不管这个异常,

这里的异常更在于提醒程序员容易出错,所以不是所有异常都代表真的出问题了

异常出现后,程序会立刻死掉

编译时不报错,运行报错 

error一般程序员解决不了,硬件问题之类的基本上很难解决

固态硬盘和机械硬盘

固态硬盘(SSD)没有转盘或任何移动部件,所以不会像机械硬盘(HDD)那样在读取数据时有转动的声音或物理转动的部分。

  • 机械硬盘(HDD)有转动的盘片,读取数据时会转起来。
  • 固态硬盘(SSD)没有转盘,也没有任何移动部件,完全静音且不会转动。

“磁盘”这个词通常指的是那些会转动的存储介质,主要指传统的 机械硬盘(HDD)。机械硬盘内部有一个或多个磁盘片(也称为 盘片),这些盘片通过磁性存储数据,读取数据时需要旋转,并由机械臂进行读取。

SQL的子表查询

 分解

查询结果

而之后要用这三个为子查询,筛选出逼这三个人工资都高的人

用的就是all(select.....),这样就是大于里面的所有的值

当然

还可以用max得出三个人里的最高工资,然后再作为子表查询,

 这样也可以一个列值去比对多个子查询的结果,加any

拆解,查询 鞋机那和白露所在的部门中,存在于这两个部门的有哪些人

 要是查不在同一个部门?加个not 在in前面

一个列名等于多个值,可以用in

这两个等价关系 (少了个逗号)

sql挑一个行去查询

同样是可以拆分的

用子select查询,然后gender可以直接等于,加上and,后面继续跟要查的数据,

这样就不用in,或者()

但还是优雅的好

首先同样属于子查询,只是在自己的一个表里,挑出一个行的几个数据,如果和这个挑出来的行的这几个数据相同,就筛选出来

用in也可以,两行

sql的子查询

分组查询,通过did的不同分为多个组,然后select后面就可以接分组的依据和聚合函数avg(salary)

然后一个很标准的子查询

 把另一个不和组相关的用select()起来,在里面自由的写

Java的游戏项目

越先创建的jlabel就越显示在上层

在Java中把图片打包

swing jframe

Some psychological feelings

when you hesitate,remember write for yourself ,without any restriction.even the language thing,even to be a silly man who talk like a crazyer,hold on yourself,when you want ,then to fit.

Writing CSDN is indeed a kind of exercise. Sometimes I feel that the original purpose is just to find a place to record what I have learned, and by the way, I can post it for you to see.

But in this process, it seems easy to get lost. The main problem is that I want to learn something. This seems very clear, but as the variables increase, it does become less clear.

I thought that as long as I could record it, it would be fine. But I have to say that people are indeed greedy. After discovering the benefits, if the initial goal is not firm enough, there is a possibility that they will be led away.

who cares,man.when you small,think highly is not a good solvation ,still to yourself ,see the next happening,record and help by the way,even you tell dirty words ,not that so many guys will spend time to see,it's really a truth that the earth won't stop rotate for your some ridiculous dumb article decisions.

相关文章:

自由学习记录

约束的泛型通配符? Java中的泛型 xiaomi和byd都继承了car&#xff0c;但是只是这两个类是car的子类而已&#xff0c;而arraylist<xiaomi> ,arraylist<byd> 两个没有半毛钱继承关系 所以传入的参数整体&#xff0c;是car的list变形&#xff0c;里面的确都能存car…...

在 C# 中使用 LINQ 查询文件列表并找出最大文件

文章目录 1. 环境准备2. 创建项目3. 引入命名空间4. 示例代码5. 运行代码6. 进阶&#xff1a;异常处理7. 总结 在现代 C# 开发中&#xff0c;LINQ (Language Integrated Query) 提供了一种强大而优雅的方式来处理集合数据。本文将详细介绍如何使用 LINQ 查询文件系统中的文件&a…...

数学建模算法与应用 第6章 微分方程建模及其求解方法

目录 6.1 微分方程建模概述 6.2 发射卫星与三阶火箭建模 Matlab代码示例&#xff1a;火箭发射模拟 6.3 微分方程数值解法 Matlab代码示例&#xff1a;欧拉法与龙格-库塔法 6.4 放射性废料的处理 Matlab代码示例&#xff1a;放射性衰变 6.5 初值问题的Matlab数值求解 习…...

数据库的相关知识

数据库的相关知识 1.数据库能够做什么&#xff1f; 存储大量数据&#xff0c;方便检索和访问保持数据信息的一致、完整共享和安全通过组合分析&#xff0c;产生新的有用信息 2.数据库作用&#xff1f; 存储数据、检索数据、生成新的数据 3.数据库要求&#xff1f; 统一、…...

Python cachetools常用缓存算法汇总

文章目录 cachetools介绍缓存操作设置数据生存时间&#xff08;TTL&#xff09;自定义缓存策略缓存装饰器缓存清理cachetools 超过缓存数量maxsize cachetools 使用示例 cachetools介绍 cachetools : 是一个Python第三方库&#xff0c;提供了多种缓存算法的实现。缓存是一种用于…...

java类和对象_成员变量方法修饰符局部变量this关键字-cnblog

java类和对象 成员变量 权限修饰符 变量类型 变量名; 成员变量可以是任意类型,整个类是成员变量的作用范围 成员变量 成员方法 权限修饰符 返回值类型 方法名() 成员方法可以有参数&#xff0c;也可以有返回值&#xff0c;用return声明 权限修饰符 private 只能在本类…...

海信和TCL雷鸟及各大品牌智能电视测评

买了型号为32E2F(9008)的海信智能的电视有一段时间了&#xff0c;要使用这个智能电视还真能考验你的智商。海信电视有很多优点&#xff0c;它的屏幕比较靓丽&#xff0c;色彩好看&#xff0c;遥控器不用对着屏幕就能操作。但也有不少缺点。 1. 海信智能电视会强迫自动更新操作…...

Linux 基本系统命令及其使用详解手册(六)

指令&#xff1a;mesg   使用权限:所有使用者   使用方式:mesg [y|n]   说明 &#xff1a; 决定是否允许其他人传讯息到自己的终端机介面   把计 :   y:允许讯息传到终端机介面上。   n:不允许讯息传到终端机介面上 。   如果没有设定,则讯息传递与否则由终端机界…...

Oracle架构之段管理和区管理

文章目录 1 段1.1 简介1.1.1 定义1.1.2 分类 1.2 段空间的管理模式1.2.1 手工段空间管理&#xff08;Manual Segment Space Management&#xff09;1.2.2 自动段空间管理&#xff08;Auto Segment Space Management&#xff09; 1.3 段空间的手工管理&#xff08;Manual Segmen…...

mybatis-plus转换数据库json类型数据为java对象

JacksonTypeHandler JacksonTypeHandler 可以实现把json字符串转换为java对象。同一类型的handler有: Fastjson2TypeHandlerFastjsonTypeHandlerGsonTypeHandlerJacksonTypeHandler 至于需要哪一个选一个用就好了 使用方式 在实体类中加入注解 TableName(value "table_…...

Java | Leetcode Java题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; class Solution {public int findSubstringInWraproundString(String p) {int[] dp new int[26];int k 0;for (int i 0; i < p.length(); i) {if (i > 0 && (p.charAt(i) - p.charAt(i - 1) 26) % 26 1) { // 字符之差为…...

诺贝尔物理奖与化学奖彰显AI力量,探索智能新边界

在今年的诺贝尔物理学奖和化学奖的颁奖典礼上&#xff0c;人工智能&#xff08;AI&#xff09;再次成为耀眼的明星。两位物理学奖得主约翰J霍普菲尔德和杰弗里E辛顿因在人工神经网络和机器学习领域的开创性工作而获奖&#xff0c;而化学奖则颁给了在蛋白质结构设计和预测方面做…...

基于京东:HotKey实现自动缓存热点Key!!!

一.引言 某些热点数据&#xff0c;我们提前如果能够预判到的话&#xff0c;可以提前人工给数据加缓存&#xff0c;也就是缓存预热&#xff0c;将其缓存在本地或者Redis中&#xff0c;提高访问性能同时&#xff0c;减低数据库压力&#xff0c;也减轻后端服务的压力。但是&#…...

★ 算法OJ题 ★ 二分查找算法

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;塞尔达将和大家一起做几道二分查找算法算法题 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 算法专栏&#xff1a;★ 优选算法100天 ★_椎名澄嵐的博客-CSDN博客…...

RTSP RTP RTCP SDP基础知识

理论 流&#xff08;Streaming &#xff09; 是近年在 Internet 上出现的新概念&#xff0c;其定义非常广泛&#xff0c;主要是指通过网络传输多媒体数据的技术总称。 流式传输分为两种 顺序流式传输 (Progressive Streaming) 实时流式传输 (Real time Streaming) ​​​​​…...

静态变量、变量作用域、命名空间

静态变量 静态变量一般位于程序全局data区&#xff0c;只是编程语言根据它所在的scope做语言级别访问限制。 静态变量和全局变量 可以在C语言一个函数中定义static变量&#xff0c;并比较和全局变量的地址差异。 C系语言使用static关键字标示静态变量。 PHP使用大写的STATIC关键…...

Android笔记(二十四)基于Compose组件的MVVM模式和MVI模式的实现

仔细研究了一下MVI(Model-View-Intent)模式&#xff0c;发现它和MVVM模式非常的相识。在采用Android JetPack Compose组件下&#xff0c;MVI模式的实现和MVVM模式的实现非常的类似&#xff0c;都需要借助ViewModel实现业务逻辑和视图数据和状态的传递。在这篇文章中&#xff0c…...

MySQL 是否支持 XML

MySQL 是否支持 XML&#xff1a;概述与应用 虽然 MySQL 主要以处理关系型数据为主&#xff0c;但它也提供了对 XML 数据的支持。XML&#xff08;可扩展标记语言&#xff09;是一种用于数据传输和存储的通用格式。在许多应用场景中&#xff0c;XML 被广泛用于数据交换、配置文件…...

pikachu靶场总结(四)

九、越权漏洞 1.概述 如果使用A用户的权限去操作B用户的数据&#xff0c;A的权限小于B的权限&#xff0c;如果能够成功操作&#xff0c;则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。 一般越权漏洞容易出现在权限页面&#xff08;需要登…...

24.3 基于文件的服务发现模式

本节重点介绍 : 基于文件的服务发现提供了一种配置静态目标的更通用的方法可以摆脱对特定服务发现源的依赖通常的做法是调用内部CMDB的接口获取target数据&#xff0c;打上标签&#xff0c;生成json文件发给prometheus采集 基于文件的服务发现模式 解决的问题 之前手动配置…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...