• java碎碎碎碎碎碎


    目录

    switch的参数类型:

    数组复制方法:

    java.util.Collection:

    java.util.Collections :

    Math.round():

    HashMap和Hashtable都是典型的Map实现:

    JDBC使用的是桥接模式

    实例变量是放在堆内存中。

    Java String的join()方法:

    " + "

    HashMap采用了链地址法,ThreadLocalMap则是开放地址法。

    数组:


    switch的参数类型:

    switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。

    没有break情况下,遇到匹配的case会一直运行下去。

    数组复制方法:

    1. 1.for循环逐一复制
    2. 2.System.arraycopy
    3. 3.Array.copyOf
    4. 4.使用clone方法

    效率 : System.arraycopy > clone > Arrays.copyOf > for循环

    1. public class test2 {
    2. public static void main(String[] args) {
    3. int []nums={1,2,3,4,5,6};
    4. System.out.println(Arrays.toString(nums));
    5. // long start = System.currentTimeMillis();
    6. int []num=new int[nums.length];
    7. for(int i=0;i
    8. num[i]=nums[i];
    9. }
    10. System.out.println(Arrays.toString(num));
    11. // long cost = System.currentTimeMillis() - start;
    12. // System.out.println("Logic cost : " + cost);
    13. // long start1 = System.currentTimeMillis();
    14. int []num1=new int[nums.length];
    15. System.arraycopy(nums,0,num1,0,nums.length);
    16. // long cost1 = System.currentTimeMillis() - start1;
    17. // System.out.println("Logic cost1 : " + cost1);
    18. System.out.println(Arrays.toString(num1));
    19. int []num2=nums.clone();
    20. System.out.println(Arrays.toString(num2));
    21. int[] num3 = Arrays.copyOf(nums,nums.length);
    22. System.out.println(Arrays.toString(num3));
    23. }
    24. }

    java.util.Collection:

    是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

    java.util.Collections :

    是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

    Math.round()

    表示“四舍五入”,而四舍五入是往大数方向入。Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。

    HashMap和Hashtable都是典型的Map实现

    Hashtable在实现Map接口时保证了线程安全性,而HashMap则是非线程安全的。所以,Hashtable的性能不如HashMap,因为为了保证线程安全它牺牲了一些性能。

    Hashtable不允许存入null,无论是以null作为key或value,都会引发异常。而HashMap是允许存入null的,无论是以null作为key或value,都是可以的。


    JDBC使用的是桥接模式

    定义 : 将抽象部分与它的实现部分分离,使它们都可以独立的变化

    意图 : 将抽象与实现解耦


    实例变量是放在堆内存中。

    静态变量是放在方法区中。

    局部变量是放在对应方法的栈帧变量表当中。


    Java String的join()方法:

    elements用指定的字符串delimeter连接起来,返回这个新组成的字符串

    1. String message = String.join("-", "Java", "is", "cool");
    2. System.out.println(message);//Java-is-cool

    " + "

    在java中,“+” 和 “+=” 是经过重载的运算符,而java不允许程序员进行运算符的重载。如果 “+” 之前是String,那么此时,“+” 的作用就是连接两个字符串;若此时 “+” 后面是基本数据类型的话,可以直接进行连接,若是引用数据类型的话,则会调用该对象的toString()方法。

    1. System.out.println("is "+ 100 + 5);//is 1005
    2. System.out.println(100 + 5 +" is");//105 is
    3. System.out.println("is "+ (100 + 5));//is 105
    4. System.out.println(100+" is"+5);//100 is5
    5. System.out.println(100+5+" is "+200+5);//105 is 2005
    6. System.out.println("is "+100+5+200+300);//is 1005200300

    HashMap采用了链地址法,ThreadLocalMap则是开放地址法。

    开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。 

    链地址法:将所有关键字为同义词的结点链接在同一个单链表中。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数 组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。

    数组:

    当数组的初始化完成后数组在内存中所占用的空间将会被固定,即使我们清空这个数组中的元素,它所占用的空间依然会被保留,这造成了Java数组长度的不可变。

    数组是一种引用数据类型,继承自Object类的,所以其中也包含了未被重写的equals()方法,所有的引用变量都能调用equals()方法来判断他是否与其他引用变量相等,使用这个方法来判断两个引用对象是否相等的判断标准与使用==运算符没有区别,只有在两个引用变量指向同一个对象才会返回true。


    个人总结:

    今天成功返校,同时,也换了一个学习的地方,继续学习后端。

    返校后还要进行一个周的隔离,这一个周都要在宿舍度过。问题不大,一眨眼就过去了。

  • 相关阅读:
    Hyperf微服务——五、JsonRpc远程调用
    公司组织架构图怎么制作?
    ICDE 2023|TKDE Poster Session(CFP)
    MySql的初识感悟,以及sql语句中的DDL和DML和DQL的基本语法
    机器学习(V)--无监督学习(一)聚类
    数据集笔记:纽约花旗共享单车od数据
    drf的JWT认证
    拉美巴西阿根廷媒体宣发稿墨西哥哥伦比亚新闻营销如何助推跨境出海推广?
    ConvNets 与 Vision Transformers:数学深入探讨
    MFC 基础篇(一)
  • 原文地址:https://blog.csdn.net/Hubery_sky/article/details/126639309