首页 > 其他分享 >杂项

杂项

时间:2024-03-13 14:34:35浏览次数:19  
标签:定义 杂项 内存 new 方法 public size

Spring测试

一直记错怎么测试Spring方法

依赖:junit依赖不需要,下面已经整合包括了

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.1.6.RELEASE</version>
        </dependency>

测试类:

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WppApplication.class)
public class SpringbootInfluxApplicationTests {

    @Autowired
    private WeatherForecastMapper weatherForecastMapper;

    @Test
    public void test() throws Exception {
        System.out.println(weatherForecastMapper.getFutureWeatherForecastList());
    }
}

2024年3月13日 星期三

  1. 关于实体类使用包装类还是基本类型:包装类是引用类型,默认值为null,不小心就报空指针异常,但是对于数据库比较好,没有赋值时显示null而不是0显得更为合理;int是基本类型,初始值为0,不存在空指针异常,但是默认值怎么设置合理
  2. 概念
    • 回调callback:指被传入到另一个函数的函数
    • 异步编程:指在代码执行时不会阻塞程序运行的方式
    • 事件驱动:指程序的执行是由外部事件触发而不是顺序执行的方式

1.1小知识

1.命令行编译

javac HelloWorld.java—进行编译,生成.class文件,也就是字节码文件。

java HelloWorld—启动Java虚拟机,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机针对加载到内存中的Java类进行解释执行,便可看到运行结果。

  • char是Java的基本数据类型之一(默认值\u0000)占16位;
    char定义在方法体内,是局部变量,不赋初始值,所以编译不通过;如果定义成类变量在类里面可以通过!
  • 事实证明声明为一个public的类时,文件名也必须保持一致;
    同时如果不声明public,在调用命令行命令时,会找不到或无法加载主类;
class a{						//未声明public 在命令行执行会找不到zhu类
    public static void main(String[] args){
        char a='\u0000';
        System.out.println(a);	
        //不赋初值此处会报错,只要不调用可以不赋值(因为在方法体内属于局部变量)
    }
}

获取不同的数据类型的长度

length——数组的属性; length()——String的方法; size()——集合的方法

// 获取字符串长度
String str = "hello, world!";
int strLength = str.length();
// 获取StringBuffer的长度
StringBuffer sb = new StringBuffer("Hello");
int sbLength = sb.length();
// 获取字符数组的长度
char[] arr = {'H', 'e', 'l', 'l', 'o'};
int arrLength = arr.length;
// 获取列表的长度
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int size = list.size();
// 集合的大小
Set<Character> set = new HashSet<>();
set.add('a');
set.add('b');
System.out.println(set.size());
// map的大小
int size = map.size();

this

  • this在类中代表当前对象,可以通过this关键字完成当前对象的成员属性、成员方法和构造方法的调用;
  • this只能用于方法体内,当一个对象创建后,Java虚拟机会给这个对象分配一个引用自身的指针,这个指针就是this。因此this只能在类中的非静态方法中使用,this属于对象而不属于类
  • 当在定义类中的方法时,如果需要调用该类对象,就可以用this来表示这个对象

静态变量

  • 方法体内不能定义静态变量。静态变量是属于类的属性,用static关键字修饰,只能在类中定义。在方法内部进行定义是不合法的。一些代码语句也是不能直接在类里写的,需要写在方法体内,或者代码块;

2.内存泄漏和内存溢出

  • 内存泄漏是指程序在使用完动态分配的内存后未正确释放该内存,导致内存无法被再次使用,造成内存的浪费。当程序中存在内存泄漏时,频繁执行该部分代码可能会导致内存资源耗尽,最终导致系统性能下降甚至崩溃。内存泄漏通常是由于程序中存在逻辑错误、资源管理错误或程序设计不合理等原因引起的。
  • 内存溢出是指程序在申请内存空间时,超过了已分配给该程序的可用内存容量,导致程序崩溃或异常退出。内存溢出通常发生在程序需要存储大量数据或者执行复杂任务时,但没有足够的内存来满足需求。这种情况可能是由于算法错误、递归调用产生堆栈溢出、无限循环或内存管理不当等原因引起的。
  • 内存泄漏的最终结果就是内存溢出,内存溢出是Java程序内存泄漏的最直接的表现

3.包装类

  1. 抽象方法不能有方法体, 也不能有{}
    • 抽象方法也不能使用private修饰, 其他三个可以
  2. 方法体类不能有private修饰变量, 因为定义在方法体内的变量本身就是一个局部变量, 访问范围就是局部范围,
    • 延伸: 方法体类不能定义静态static变量, 因为静态变量是属于类, 可以通过类名进行访问, 应该在类中定义
    • 方法体内页不能定义常量, 常量一般声明为public static final
  3. new Integer(123) 和 Integer.valueOf(123) 的区别
    • new每次肯定都会创建一个新对象
    • 编译器在自动装箱的过程会调用valueOf()方法, 使用享元模式
    • valueOf()会使用缓存对象
    • new Integer(123) == Integer.valueOf(123) 为false
  4. 不能隐式的向下转型, 但是 += 可以执行隐式类型转换
  5. boolean默认值是false, Boolean不赋初始值是null

1.2集合

框架体系

List:有序、可重复、有索引
Set:无序、不重复、无索引

复杂度

时间复杂度

时间复杂度表示了算法的执行时间与数据规模之间的增长关系

常对幂指阶:

O(1) 、O(n) 、O(n * log(n)) 、O(n^2) 、O(2^n) 、O(n!)

空间复杂度

一般不计算,也比较简单

迭代器

hasNext()判断当前位置是否有元素,有元素返回true,没有元素返回false
next()获取元素,并移动指针

  1. ArrayList默认容量10
  2. HashMap默认容量16(数组超过64,链表超过8,才会转为红黑树)

标签:定义,杂项,内存,new,方法,public,size
From: https://www.cnblogs.com/code-jia/p/18070556

相关文章

  • 【杂项】trick
    数区间颜色个数只数最左边的一个。维护时间戳来避免多次memset。树状数组上倍增-\(O(\logn)\)。P6619[省选联考2020A/B卷]冰火战士开始二分,设初始位置为\(r\),\(sum=\sum\limits_{i=1}^rtr_i\),要求的数记为\(ans\)。考虑依次跳\(2^{\logn},2^{\logn-1},.......
  • 杂项
    数据生成#include<bits/stdc++.h>usingnamespacestd;signedmain(){mt19937_64rd(chrono::system_clock::now().time_since_epoch().count());uniform_int_distribution<int>dis(1e7,1e9);for(inti=1;i<=10;i++){s......
  • 杂项
    杂项等比数列:\(S_n=a_0\frac{q^n-1}{q-1}\)n以内质数个数大概是\(\frac{n}{\ln\n}\),插一条证明(虽然这篇文章大部分都是在讲别的……)在12e9范围内,1N中任何数的不同质因子都不会超过10个,且所有质因子的指数总和不超过30证明:因为最小的11个质数的乘积大于2e9,且2^31>2e9,所以成......
  • 杂项与密码10
    misc1.盲文,摩斯 用了已知工具,不知道。。。搜一哈 下面是盲文。。。。对着看看kmdonowg 得到一个音频。。。像电报  是摩斯密码 得到答案 2.与佛论禅密码,zip伪密码 试了可用工具。。。没找到什么,搜搜。。 伪加密。。。好像是修改成00 是佛曰密码......
  • 密码与杂项9
    misc1.流量包流量题。。。搜搜 跟着走 找到啦。。flag{da73d88936010da1eeeb36e945ec4b97} 2.二维码 是一个二维码 哈?!!! 记得把F换成小写,不然是错的3.文件分离,压缩包解密先看看属性有没有 没有 再用winhex看看 没flag,也没提示。看看有没有隐藏的......
  • Linux驱动开发之杂项设备注册和Linux2.6设备注册
    Linux设备驱动开发中,需要向内核正确注册设备,才能创建设备节点,以供应用层访问。本文将详细介绍Linux下的两种设备注册方法:杂项设备注册和Linux2.6新方法注册。一、杂项设备注册杂项设备注册简介杂项设备注册是Linux驱动开发中的一种设备注册方式。在Linux系统中,杂项设备是一类......
  • ctf.show新手必刷_菜狗杯 杂项签到/损坏的压缩包/谜之栅栏/你会数数吗/你会异或吗
    杂项签到下完压缩包打开获得一张糊糊的图片丢进010editor看一下,既然是签到,会不会直接就藏在里面呢..ctrl+F搜下ctf,找到flag:(小提示:记得把查找的对象从HexBytes换成Text)损坏的压缩包打开压缩包,发现打不开,确实是损坏的压缩包。损坏的话可能是格式不太对,或者格式对了但是内......
  • 杂项与密码7
    misc1.jpg 先用工具看看 没有出现其他压缩包,但有文件。。搜搜 要手动分离 出来啦 2.bmp 没见过的文件尾 不需要改 哈?!! 3.文件分离 根据题意用winhex看看 没有。。分离文件 有文件 dd4这个文件。。有 4.文件属性 没有 题目说这个......
  • 杂项与密码6
    misc1.文件分离 打开 什么也没有,用winhex.也没发现。。。再用binwalk分离文件。 刚开始以为这些数字和字母组成密码,找了很多,但没有。就一个一个文件看 在第三个找到了2.修改文件名(pdf-txt 先转为dox,没有。。。又去liunx去修改文件名,得到3.颜表情密码,源代码......
  • 杂项与密码5
    misc1.修改长度提示是隐写术。。有两个软件。 是png.该用winhex。修改一哈长度看看 416用16转换一哈 换成500 找到了  出来了   2.二进制,新建文件,源代码看了wp..文字隐写。。。。在文件选择选项,打开特殊符号但不知道是什么。。。搜。二进制 得......