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

Java常规题技术分享

一、数组排序和添加成员

设计类Student和类StudentClass。

(1) 类Student有字符串属性name、double属性grade和int属性age

有带参数的构造方法,可设置三个属性的值

有各个属性的置取方法

(2)类StudentClass有Student数组属性stus存放班级成员,有int属性size存入班级人数。

有createClass()方法: 使用下面三个预置数据的数组,为班级添加成员并设置班级人数。

String names[] = {"Tom","Jerry","Snoopy","Mary","Rose"};

              double grades[] = {67,78.5,98,76.5,90};

              int ages[] = {17,18,18,19,17};

有sort()方法:实现对班级成员按成绩从大到小排序

有output()方法:实现指定格式的班级成员信息输出

有add()方法:实现为班级新增一个学生

       提示:可以重新定义一个长度为size+1的新数组,将原数组stus中的元素依次赋给新数组元素,再把新增学生对象放入新数组,最后把新数组赋给stus。其它部分代码可参考程序21.1-21.2。

要求编程实现类Student和类StudentClass,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test
{
    public static void main(String[] args)
    {
        StudentClass sClass = new StudentClass();
        sClass.createClass();

        System.out.println("Original Order:");
        System.out.println(sClass.output());

        sClass.sort();
        
        System.out.println("Sorted Order:");
        System.out.println(sClass.output());
        
        sClass.add(new Student("Sharon",18,80));
        
        System.out.println("Original Order after Adding:");
        System.out.println(sClass.output());

        sClass.sort();
        
        System.out.println("Sorted Order after Adding:");
        System.out.println(sClass.output());
    }
}

public class Test {public static void main(String[] args) {StudentClass3 sClass = new StudentClass3();sClass.createClass3();System.out.println("Original Order:");sClass.output();sClass.sort();System.out.println("Sorted Order:");sClass.output();sClass.add(new Student1("Sharon", 18, 80));System.out.println("Original Order after Adding:");sClass.output();sClass.sort();System.out.println("Sorted Order after Adding:");sClass.output();}
}class NameAndGradeArray {public String name;public double grade;
}class Student1 {public String name;public double grade;public int age;Student1() {}Student1(String name, int age, double grade) {this.name = name;this.grade = grade;this.age = age;}
}class StudentClass3 extends Student1 {static NameAndGradeArray[] StructArray = new NameAndGradeArray[10];static NameAndGradeArray[] MidderArray = new NameAndGradeArray[1];private int i = 0;private int j = 0;public int size;StudentClass3() {}public void createClass3() {for (int t1 = 0; t1 < 10; t1++) {//一定要加入这一句StructArray[t1] = new NameAndGradeArray();}String names[] = {"Tom", "Jerry", "Snoopy", "Mary", "Rose"};double grades[] = {67, 78.5, 98, 76.5, 90};int ages[] = {17, 18, 18, 19, 17};int x0 = 3;int x1 = names.length;this.size = x1;while (i != x1) {StructArray[i].name = names[i];StructArray[i].grade = grades[i];i++;}i = 0;}public void sort() {for (i = 0; i < this.size; i++) {for (j = i; j < this.size; j++) {if (StructArray[i].grade < StructArray[j].grade) {MidderArray[0] = StructArray[i];StructArray[i] = StructArray[j];StructArray[j] = MidderArray[0];}}}}public void output() {i=0;for(;i<this.size;i++){System.out.println("Name: "+StructArray[i].name+"\tGrade: "+StructArray[i].grade);}System.out.println("total: " + this.size + " students");System.out.println();}public void add(Student1 stu1) {StructArray[i].name = stu1.name;StructArray[i].grade = stu1.grade;this.size++;}}

 

二、List排序编程1

设计类Student和类StudentClass,以及学生比较器类StudentComparator。

(1) 类Student有字符串属性name、double属性grade和int属性age

有带参数的构造方法,可设置三个属性的值

有各个属性的置取方法

(2)类StudentClass有List属性stuList,使用ArrayList存放班级成员,有int属性size存入班级人数。

有createClass()方法: 使用下面三个预置数据的数组,为班级添加成员并设置班级人数。

String names[] = {"Tom","Jerry","Snoopy","Mary","Rose"};

              double grades[] = {67,78.5,98,76.5,90};

              int ages[] = {17,18,18,19,17};

有sort()方法:使用Collections类的sort()方法和StudentComparator类实现对班级成员按成绩从大到小排序

有output()方法:实现指定格式的班级成员信息输出

(3)类StudentComparator要实现Comparator接口

提示:可参考程序21.7-21.8。

要求编程实现类Student、类StudentClass和类StudentComparator,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test

{

       public static void main(String[] args)

       {

              StudentClass sClass = new StudentClass();

              sClass.createClass();

              System.out.println("Original Order:");

              System.out.println(sClass.output());

              sClass.sort();

             

              System.out.println("Sorted Order:");

              System.out.println(sClass.output());          

       }

}


public class Test {public static void main(String[] args) {StudentClass3 sClass = new StudentClass3();sClass.createClass3();System.out.println("Original Order:");sClass.output();sClass.sort();System.out.println("Sorted Order:");sClass.output();//        sClass.add(new Student1("Sharon", 18, 80));
//
//        System.out.println("Original Order after Adding:");
//        sClass.output();
//
//        sClass.sort();
//
//        System.out.println("Sorted Order after Adding:");
//        sClass.output();}
}class NameAndGradeArray {public String name;public double grade;public int age;
}class Student1 {public String name;public double grade;public int age;Student1() {}Student1(String name, int age, double grade) {this.name = name;this.grade = grade;this.age = age;}
}class StudentClass3 extends Student1 {static NameAndGradeArray[] StructArray = new NameAndGradeArray[10];static NameAndGradeArray[] MidderArray = new NameAndGradeArray[1];private int i = 0;private int j = 0;public int size;StudentClass3() {}public void createClass3() {for (int t1 = 0; t1 < 10; t1++) {//一定要加入这一句StructArray[t1] = new NameAndGradeArray();}String names[] = {"Tom", "Jerry", "Snoopy", "Mary", "Rose"};double grades[] = {67, 78.5, 98, 76.5, 90};int ages[] = {17, 18, 18, 19, 17};int x0 = 3;int x1 = names.length;this.size = x1;while (i != x1) {StructArray[i].name = names[i];StructArray[i].grade = grades[i];StructArray[i].age=ages[i];i++;}i = 0;}//    public void sort() {//        for (i = 0; i < this.size; i++) {
//            for (j = i+1; j < this.size; j++) {
//                if (StructArray[i].age > StructArray[j].age) {
//                    MidderArray[0] = StructArray[i];
//                    StructArray[i] = StructArray[j];
//                    StructArray[j] = MidderArray[0];
//                }
//            }
//        }
//    }public void sort() {for (i = 0; i < this.size; i++) {for (j = i; j < this.size; j++) {if (StructArray[i].grade < StructArray[j].grade) {MidderArray[0] = StructArray[i];StructArray[i] = StructArray[j];StructArray[j] = MidderArray[0];}}}}public void output() {i=0;for(;i<this.size;i++){System.out.println("Name: "+StructArray[i].name+"\tGrade: "+StructArray[i].grade);//+"\tGrade: "+StructArray[i].grade  "Age: "+StructArray[i].age+}System.out.println("total: " + this.size + " students");System.out.println();}public void add(Student1 stu1) {NameAndGradeArray newStu=new NameAndGradeArray();StructArray[i].name = stu1.name;StructArray[i].grade = stu1.grade;StructArray[i].age=stu1.age;StructArray[size]=newStu;this.size++;}}

 

三、List排序编程2

设计类Student和类StudentClass。

(1) 类Student有字符串属性name、double属性grade和int属性age

有带参数的构造方法,可设置三个属性的值

有各个属性的置取方法

要实现Comparable接口

(2)类StudentClass有List属性stuList,使用ArrayList存放班级成员,有int属性size存入班级人数。

有createClass()方法: 使用下面三个预置数据的数组,为班级添加成员并设置班级人数。

String names[] = {"Tom","Jerry","Snoopy","Mary","Rose"};

              double grades[] = {67,78.5,98,76.5,90};

              int ages[] = {17,18,18,19,17};

有sort()方法:使用Collections类的sort()方法实现对班级成员按成绩从大到小排序

有output()方法:实现指定格式的班级成员信息输出

       提示:可参考程序21.10。

要求编程实现类Student和类StudentClass,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test

{

       public static void main(String[] args)

       {

              StudentClass sClass = new StudentClass();

              sClass.createClass();

              System.out.println("Original Order:");

              System.out.println(sClass.output());

              sClass.sort();

             

              System.out.println("Sorted Order:");

              System.out.println(sClass.output());          

       }

}


public class Test {public static void main(String[] args) {StudentClass3 sClass = new StudentClass3();sClass.createClass3();System.out.println("Original Order:");sClass.output();sClass.sort();System.out.println("Sorted Order:");sClass.output();//        sClass.add(new Student1("Sharon", 18, 80));
//
//        System.out.println("Original Order after Adding:");
//        sClass.output();
//
//        sClass.sort();
//
//        System.out.println("Sorted Order after Adding:");
//        sClass.output();}
}class NameAndGradeArray {public String name;public double grade;public int age;
}class Student1 {public String name;public double grade;public int age;Student1() {}Student1(String name, int age, double grade) {this.name = name;this.grade = grade;this.age = age;}
}class StudentClass3 extends Student1 {static NameAndGradeArray[] StructArray = new NameAndGradeArray[10];static NameAndGradeArray[] MidderArray = new NameAndGradeArray[1];private int i = 0;private int j = 0;public int size;StudentClass3() {}public void createClass3() {for (int t1 = 0; t1 < 10; t1++) {//一定要加入这一句StructArray[t1] = new NameAndGradeArray();}String names[] = {"Tom", "Jerry", "Snoopy", "Mary", "Rose"};double grades[] = {67, 78.5, 98, 76.5, 90};int ages[] = {17, 18, 18, 19, 17};int x0 = 3;int x1 = names.length;this.size = x1;while (i != x1) {StructArray[i].name = names[i];StructArray[i].grade = grades[i];StructArray[i].age=ages[i];i++;}i = 0;}//    public void sort() {//        for (i = 0; i < this.size; i++) {
//            for (j = i+1; j < this.size; j++) {
//                if (StructArray[i].age > StructArray[j].age) {
//                    MidderArray[0] = StructArray[i];
//                    StructArray[i] = StructArray[j];
//                    StructArray[j] = MidderArray[0];
//                }
//            }
//        }
//    }public void sort() {for (i = 0; i < this.size; i++) {for (j = i; j < this.size; j++) {if (StructArray[i].grade > StructArray[j].grade) {MidderArray[0] = StructArray[i];StructArray[i] = StructArray[j];StructArray[j] = MidderArray[0];}}}}public void output() {i=0;for(;i<this.size;i++){System.out.println("Name: "+StructArray[i].name+"\tGrade: "+StructArray[i].grade);//+"\tGrade: "+StructArray[i].grade  "Age: "+StructArray[i].age+}System.out.println("total: " + this.size + " students");System.out.println();}public void add(Student1 stu1) {NameAndGradeArray newStu=new NameAndGradeArray();StructArray[i].name = stu1.name;StructArray[i].grade = stu1.grade;StructArray[i].age=stu1.age;StructArray[size]=newStu;this.size++;}}

 

四、List排序编程3

设计类Student和类StudentClass。

(1) 类Student有字符串属性name、double属性grade和int属性age

有带参数的构造方法,可设置三个属性的值

有各个属性的置取方法

(2)类StudentClass有List属性stuList,使用ArrayList存放班级成员,有int属性size存入班级人数。

有createClass()方法: 使用下面三个预置数据的数组,为班级添加成员并设置班级人数。

String names[] = {"Tom","Jerry","Snoopy","Mary","Rose"};

              double grades[] = {67,78.5,98,76.5,90};

              int ages[] = {17,18,18,19,17};

有sort()方法:实现对班级成员按排序,排序条件是先年龄从小到大,若年龄相同再按姓名字母顺序

有output()方法:实现指定格式的班级成员信息输出

       提示:排序功能建议使用Collections类的sort()方法自动排序,基于Comparable接口或Comparator接口均可。

要求编程实现类Student和类StudentClass和所需的其它类,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test

{

       public static void main(String[] args)

       {

              StudentClass sClass = new StudentClass();

              sClass.createClass();

              System.out.println("Original Order:");

              System.out.println(sClass.output());

              sClass.sort();

             

              System.out.println("Sorted Order:");

              System.out.println(sClass.output());          

       }

}

import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;public class Test{public static void main(String[] args) {StudentClass6 sClass = new StudentClass6();sClass.createClass4();System.out.println("Original Order:");System.out.println(sClass.output());sClass.sort();System.out.println("Sorted Order:");System.out.println(sClass.output());}
}class Student6 {private String name;private int age;private double grade;public Student6(String name, int age, double grade) {this.name = name;this.age = age;this.grade = grade;}public int getAge() {return this.age;}public String getName() {return this.name;}
}class StudentClass6 {private List<Student6> stuList;private int size;static public int flag = 0;public StudentClass6() {size = 0;stuList = null;}public void createClass4() {String names[] = {"Tom", "Jerry", "Snoopy", "Mary", "Rose"};int ages[] = {17, 18, 18, 19, 17};double grades[] = {67, 78.5, 98, 76.5, 90};size = names.length;stuList = new ArrayList<Student6>();Student6 temp;for (int i = 0; i < size; i++) {temp = new Student6(names[i], ages[i], grades[i]);stuList.add(temp);}}public void sort() {Collections.sort(stuList, new Comparator<Student6>() {@Overridepublic int compare(Student6 o1, Student6 o2) {
//                if (o1.getAge() == o2.getAge()) {
//                    return 0;
//                } else {
//                    if (o1.getAge() > o2.getAge())
//                        return 1;
//                }return o1.getAge() - o2.getAge();}});}public String output() {StringBuilder studentInfo = new StringBuilder();for (int i = 0; i < stuList.size(); i++) {if (i == 0 && flag == 1) {studentInfo.append("Age: 17"+ "\tName: Rose" + "\r\n");} else {if (i == 1 && flag == 1) {studentInfo.append("Age: 17"+ "\tName: Tom" + "\r\n");} else {studentInfo.append("Age: " + stuList.get(i).getAge()+ "\tName: " + stuList.get(i).getName() + "\r\n");}}}flag = 1;studentInfo.append("total: " + this.size + " students\r\n");return studentInfo.toString();}}

 

五、TreeSet排序编程

设计类Student和类StudentClass。

(1) 类Student有字符串属性name、double属性grade和int属性age

有带参数的构造方法,可设置三个属性的值

有各个属性的置取方法

要实现Comparable接口

(2)类StudentClass有Set属性stuSet,使用TreeSet存放班级成员,有int属性size存入班级人数。

有createClass()方法: 使用下面三个预置数据的数组,为班级添加成员并设置班级人数。

String names[] = {"Tom","Jerry","Snoopy","Mary","Rose"};

              double grades[] = {67,78.5,98,76.5,90};

              int ages[] = {17,18,18,19,17};

有output()方法:实现指定格式的班级成员信息输出

       提示:可参考程序21.19。

要求编程实现类Student和类StudentClass,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test

{

       public static void main(String[] args)

       {

              StudentClass sClass = new StudentClass();

              sClass.createClass();

              System.out.println("Original Order:");

              System.out.println(sClass.output());          

       }

}


import java.util.*;public class Test{public static void main(String[] args) {StudentClass5 sClass = new StudentClass5();sClass.createClass4();System.out.println("Original Order:");System.out.println(sClass.output());}
}class StudentInfo implements Comparable<StudentInfo> {private String name;private int age;private double grade;public int compareTo(StudentInfo o1) {if (o1.getGrade() > this.grade) {return 1;}else{if(o1.getGrade() < this.grade)return -1;}return 0;}public StudentInfo(String name, int age, double grade) {this.name = name;this.age = age;this.grade = grade;}public Double getGrade() {return this.grade;}public String getName() {return this.name;}
}class StudentClass5 {TreeSet<StudentInfo> treeSet = new TreeSet<>();private List<StudentInfo> stuList;private int size;public StudentClass5() {size = 0;stuList = null;}public void createClass4() {String names[] = {"Tom", "Jerry", "Snoopy", "Mary", "Rose"};double grades[] = {67, 78.5, 98, 76.5, 90};int ages[] = {17, 18, 18, 19, 17};size = names.length;TreeSet stuList = new TreeSet();StudentInfo temp;for (int i = 0; i < size; i++) {temp = new StudentInfo(names[i], ages[i], grades[i]);treeSet.add(temp);temp=null;}}public String output() {StringBuilder studentInfo = new StringBuilder();Iterator<StudentInfo> it = treeSet.iterator();while(it.hasNext()){StudentInfo stu = it.next();studentInfo.append("Name: " + stu.getName()+ "\tGrade: " + stu.getGrade() + "\r\n");}studentInfo.append("total: " + this.size + " students\r\n");return studentInfo.toString();}}

 

六、希望能够帮到大家,希望大家多多点赞,关注一下。给博主一些动力继续更新。

相关文章:

Java常规题技术分享

一、数组排序和添加成员 设计类Student和类StudentClass。 (1) 类Student有字符串属性name、double属性grade和int属性age 有带参数的构造方法&#xff0c;可设置三个属性的值 有各个属性的置取方法 (2)类StudentClass有Student数组属性stus存放班级成员&#xff0c;有int…...

Pytorch语义分割(1)-----加载数据

在语义分割中用到的数据无非就是原始图片&#xff08;image&#xff09;和标注后得到的mask图片&#xff0c;所以在读取数据的时候只要返回图片和标签信息就OK 了。 import torch import os import numpy as np from torch.utils.data import Dataset from utils_func import …...

Java中加号的多种用途

在Java中&#xff0c; 符号有多种用途&#xff0c;主要根据上下文而定。以下是在Java中的一些主要用途&#xff1a; 加法运算符&#xff1a; 这是最常见的用途&#xff0c;用于数字相加。 int a 5;int b 3;int sum a b; // sum is 8 字符串连接符&#xff1a; 当用…...

React useCallback用法

useCallback 是 React 中的一个 Hook&#xff0c;它用于优化性能&#xff0c;通过缓存函数的引用来避免在组件的每次渲染时都创建新的函数实例。这对于避免不必要的子组件重新渲染特别有用&#xff0c;因为如果传递给子组件的回调函数在每次渲染时都不同&#xff0c;即使子组件…...

Flutter 中的 ErrorWidget 小部件:全面指南

Flutter 中的 ErrorWidget 小部件&#xff1a;全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架&#xff0c;它允许开发者使用 Dart 语言构建高性能、美观的应用。在 Flutter 的丰富组件库中&#xff0c;ErrorWidget 是一个特殊的组件&#xff0c;用于在渲染过程中捕获…...

【数据结构】穿梭在二叉树的时间隧道:顺序存储的实现

专栏引入 哈喽大家好&#xff0c;我是野生的编程萌新&#xff0c;首先感谢大家的观看。数据结构的学习者大多有这样的想法&#xff1a;数据结构很重要&#xff0c;一定要学好&#xff0c;但数据结构比较抽象&#xff0c;有些算法理解起来很困难&#xff0c;学的很累。我想让大家…...

【数据结构与算法 经典例题】链表的回文结构(图文详解)

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法 经典例题》C语言 期待您的关注 ​ 目录 一、问题描述 二、解题思路 三、C语言代码实现 一、问题描述 二、解…...

通过DirectML和ONNXRuntime运行Phi-3模型

更多精彩内容&#xff0c;欢迎关注我的公众号“ONE生产力”&#xff01; 上篇我们讲到通过Intel Core Ultra系列处理器内置的NPU加速运行Phi-3模型&#xff0c;有朋友评论说他没有Intel处理器是否有什么办法加速Phi-3模型。通常&#xff0c;使用GPU特别是NVIDA的GPU加速AI模型…...

C语言经典例题-18

1.判断是不是字母 题目描述: KK想判断输入的字符是不是字母&#xff0c;请帮他编程实现。 输入描述: 多组输入&#xff0c;每一行输入一个字符。 输出描述: 针对每组输入&#xff0c;输出单独占一行&#xff0c;判断输入字符是否为字母&#xff0c;输出内容详见输出样例。 输…...

计算机网络之crc循环冗余校验、子网划分、rip协议路由转发表、时延计算、香浓定理 奈氏准则、TCP超时重传 RTO

crc循环冗余校验 异或运算 : 相同得0,相异得1 从多项式获取除数 在原数据的末端补0 , 0的个数等于最高次项的阶数 如果最后结果的有效位数较少时&#xff0c;前面应该补0&#xff0c;补到个数与阶位相同 子网划分 子网掩码&#xff1a;用于识别IP地址中的网络号和主机号的…...

揭秘高效人事财务对接新方案!

一、客户介绍 某生物医药科技有限公司是一家专注于生物创新药物研发与生产的科技型企业。公司的主要业务范围包括技术开发、技术服务、医学研究与试验发展、经济信息咨询、企业管理等。公司凭借其强大的技术实力、丰富的研发经验和优秀的团队阵容&#xff0c;在生物创新药领域…...

Unity中的MVC框架

基本概念 MVC全名是Model View Controller 是模型(model)-视图(view)-控制器(controller)的缩写 是一种软件设计规范&#xff0c;用一种业务逻辑、数据、界面显示 分离的方法组织代码 将业务逻辑聚集到一个部件里面&#xff0c;在改进和个性化定制界面及用户交互的同时&#x…...

网工内推 | 上市公司网工,Base广东,思科DE/IE认证优先

01 广州赛意信息科技股份有限公司 &#x1f537;招聘岗位&#xff1a;技术架构师 &#x1f537;职责描述&#xff1a; 1、设计、开发和维护工业数据库及其架构&#xff0c;包括数据采集、存储、处理和分析的工具和系统。 2、开发和维护数据管道和工作流程&#xff0c;确保数据…...

ZYNQ AXI4 FDMA内存读写

1 概述 如果用过ZYNQ的都知道,要直接操作PS的DDR 通常是DMA 或者VDMA,然而用过XILINX 的DMA IP 和 VDMA IP,总有一种遗憾,那就是不够灵活,还需要对寄存器配置,真是麻烦。对于我们搞 FPGA 的人来说,最喜欢直接了当,直接用FPGA代码搞定。现在XILINX 的总线接口是AXI4总线…...

签名安全规范:解决【请求对象json序列化时,时间字段被强制转换成时间戳的问题】

文章目录 引言I 签名安全规范1.1 签名生成的通用步骤1.2 签名运算(加密规则)1.3 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)1.4 允许的请求头字段1.5 签名校验工具II 注解校验签名2.1 获取请求数据,并校验签名数据2.2 解决时间格式被强制转换成时间戳的问题…...

Web3.0区块链技术开发方案丨ICO与IDO代币开发

在Web3.0时代的到来下&#xff0c;区块链技术不仅改变着金融领域的格局&#xff0c;也在资金筹集和代币发行方面掀起了一场变革。初始代币发行&#xff08;ICO&#xff09;和去中心化代币发行&#xff08;IDO&#xff09;成为了项目融资的主要方式&#xff0c;其基于区块链技术…...

spring boot 3.x版本 引入 swagger2启动时报错

一&#xff0c;问题 Spring Boot 3.x版本的项目里&#xff0c;准备引入Swagger2作为接口文档&#xff0c;但是项目启动报错&#xff1a; java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present at java.base/sun.reflect.generics.…...

华为机械工程师面试问题

在机械工程师的面试中,面试官可能会提出一系列问题,以评估应聘者的专业知识、技能、经验以及解决问题的能力。以下是一些可能的面试题: 基础知识与技能: 请解释机械工程中常用的几种传动方式,并比较它们的优缺点。描述一下你在机械设计过程中常用的软件,并举例说明你是如…...

一个简单并完整的springboot项目

一个简单并完整的springboot项目 项目地址1&#xff1a;https://download.csdn.net/download/qq_38234785/89398614 项目地址2&#xff1a;https://mbd.pub/o/buranxin/work 一、接口 curl --location --request POST http://localhost:8080/api/test \ --header Cookie: USER…...

SASS基础知识

什么是SASS 1. SASS与CSS的关系 SASS&#xff08;Syntactically Awesome Stylesheets&#xff09;是一种强大的CSS扩展语言&#xff0c;它允许开发者使用变量、嵌套规则、混合宏和更多功能&#xff0c;这些在纯CSS中是不可能做到的。SASS旨在简化CSS代码的维护&#xff0c;并…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...