精选牛客网鄙视题&详解(一)【Java部分】

openEuler 22.03 LTS SP4离线安装UKUI桌面全攻略(附依赖包下载) 本文提供openEuler 22.03 LTS SP4系统离线安装UKUI桌面环境的完整实战指南。针对无网络环境,详细解析了利用dnf工具下载依赖包、配置离线软件源、处理依赖冲突及安装后优化的全流程,并附带了关键依赖包资源,帮助运维人员高效完成图形化部署。 阅读详情

精选牛客网鄙视题&详解(一)

1. 经典问题:继承关系中程序执行的顺序问题
  • 初始化父类中的静态成员变量和静态代码块 ;
  • 初始化子类中的静态成员变量和静态代码块 ;
  • 初始化父类的普通成员变量和代码块,再执行父类的构造方法
  • 初始化子类的普通成员变量和代码块,再执行子类的构造方法;
// 答案:YXYZ
class X{
    Y y=new Y();
    public X(){
        System.out.print("X");
    }
}
class Y{
    public Y(){
        System.out.print("Y");
    }
}
public class Z extends X{
    Y y=new Y();
    public Z(){
        System.out.print("Z");
    }
    public static void main(String[] args) {
        new Z();
    }
}
2. Java Object类的基本方法
  • getClass():
    返回正在运行的class 类,一般当我们在多线程的时候想看那个线程正在执行的时候可以查看

      public final native Class<?> getClass();
    
  • hashCode():
    可以想象数组的索引,表示Hash码值,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

      public native int hashCode();
    
  • equals():
    一般equals和==是不一样的,但是在Object中两者是一样的
    从equal可以看出我们比较的是对象的引用,他其实与== 没有差别, 但是为什么我们认为他是比较的内容?因为我们重写了他

      public boolean equals(Object obj) {
          return (this == obj);
      }
     //重写,比较的是内容
      public boolean equals(Object obj) {
          if (obj instanceof Boolean) {
              return value == ((Boolean)obj).booleanValue();
          }
          return false;
      }
    
  • clone():
    赋值一份引用,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法

    主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法。

    protected native Object clone() throws CloneNotSupportedException;
    
  • toString():
    返回该对象的字符串表示,一般情况下我们都会重写它

      public String toString() {
      return getClass().getName() + "@" +  Integer.toHexString(hashCode());
      }
    
  • notify():
    他的作用就是唤醒等待的线程

      public final native void notify();
    
  • notifyAll()
    他的作用就是唤醒所有等待的线程

  • wait()
    他的作用就是让线程上锁,处于等待状态

  • finalize():
    他的作用主要就是当jvm进行垃圾回收之前会执行,用于释放资源,在释放资源之前她会先检查一下该对象的状态是否可达,一般情况下不要调用,因为会抛异常,如果已经释放资源,你依旧调用这个时候就会抛出异常

3. 类加载时静态代码块执行的顺序
  • 类加载是并不是静态块最先初始化,而是静态域!

  • 而静态域中包含:静态变量、静态块和静态方法,而他们的初始化顺序取决于然们的位置,从上到下依次进行初始化

  • 构造代码块({}内的部分)在每一次创建对象时执行,始终在构造方法前执行

  • 构造方法在新建对象时调用( 就是new的时候 )

    public class B
    {
        public static B t1 = new B();
        public static B t2 = new B();
        {
            System.out.println("构造块");
        }
        static
        {
            System.out.println("静态块");
        }
        public static void main(String[] args)
        {
            B t = new B();
        }
    }
    
    • 分析:由题目可知该类中既有静态变量,又有静态块,还有静态方法,
      所以首先初始化静态变量t1(这时忽略其他带有static的部分)打印"构造块",再初始化静态变量t2(这时还是忽略其他带有static的部分)打印"构造块",再然后静态块打印"静态块",最后执行main打印"构造块"
4. Java反射机制
Java反射机制主要提供了以下功能: 
  • 在运行时判断任意一个对象所属的类;

  • 在运行时构造任意一个类的对象;

  • 在运行时判断任意一个类所具有的成员变量和方法;

  • 在运行时调用任意一个对象的方法;生成动态代理。
    解析:

    JAVA反射机制概念:
    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
    反射是通过一个名为Class的特殊类,用Class.forName(“className”);得到类的字节码对象,然后用newInstance()方法在虚拟机内部构造这个对象(针对无参构造函数)。
    也就是说反射机制让我们可以先拿到java类对应的字节码对象,然后动态的进行任何可能的操作,
    使用反射的主要作用是方便程序的扩展。

5. try{} catch{} finally()的使用
  • 鄙视题1

    try {
        system.out.println("try");
        throw new Exception();
    }
    catch {
        system.out.println("catch");
    }
    finally {
        system.out.println("finally");
    }
    
    // 执行结果
    try,catch,finally
    
  • 鄙视题2

    public int add(int a,int b)
    {
        try {
            return a+b;
        }
        catch (Exception e) {
            System.out.println("catch语句块");//不会执行
        }
        finally{
            System.out.println("finally语句块");
        }
        //因为try中有return,所以finally之后的都不会执行
        System.out.println("我不会出现的!");//不会执行
        return 0;//不会执行
    }
    
    // 执行结果
    finally语句块
    
    /*
    1、finally块一定会执行,无论是否try…catch。
    2、finally前有return,会先执行return语句,并保存下来,再执行finally块,最后return。
    3、finally前有return、finally块中也有return,先执行前面的return,保存下来,再执行finally的return,覆盖之前的结果,并返回。
    */
    
  • 鄙视题3

    public static void main(String[] args) {
        try {
            int i = 100 / 0;
            System.out.println(i);//后面的语句不会执行
        } catch (Exception e) {
            System.out.println(1);
            throw new RuntimeException();//只会执行finally中的,其他的不会执行
        } finally {
            System.out.println(2222);
        }
        //不会执行
        System.out.println(3);
    }
    // 执行结果
    1
    2222
    Exception in thread "main" java.lang.RuntimeException
    
    /*
    需要理解Try…catch…finally与直接throw的区别:
    
    - try catch是直接处理,处理完成之后程序继续往下执行.
    - throw则是将异常抛给它的上一级处理,程序便不往下执行了。
    - 本题的catch语句块里面,打印完1之后,又抛出了一个RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了
    */
    
  • 鄙视题4

    public class TryCatchDemo {
        public int calculate() {
    
            int x = 1;
    
            try {
                System.out.println("A");
                return ++x;
    
            } catch (Exception e) {
                //System.out.println("D");
            } finally {
                System.out.println("B");
                ++x;
            }
            // 因为try中有return,所以finally之后的都不会执行
            System.out.println("C");// 不会执行
            return x;// 不会执行
        }
    
        public static void main(String[] args) {
            TryCatchDemo tryCatchDemo=new TryCatchDemo();
            int y=tryCatchDemo.calculate();
            System.out.println(y);
        }
    }
    
    // 执行结果
    A
    B
    2
    
    /*
    解析:
    如果 try 语句里有 return,那么代码的行为如下:
    A,有返回值:就把返回值保存到局部变量中
    (执行”return ++x”,x=2,保存在局部变量)
    B,执行 jsr 指令跳到 finally 语句里执行
    (准备执行finally{…}代码块)
    C,执行完 finally 语句后,返回之前保存在局部变量表里的值
    (虽然执行”++x”后x=3,但是返回保存在局部变量中的x=2)
    */
    

throws:写在方法声明之后,表示方法可能抛出异常,调用者需要处理这个异常。
throw:写在方法体中,表示方法一定会抛出一个异常,要么try…catch处理,要么throws抛出。

6. ArrayList list = new ArrayList(20);中的list扩充几次?

当第一次插入元素时才分配10(默认)个对象空间。之后扩容会按照1.5倍增长。
初始化的三种方式:

  • public ArrayList(),默认的新构造器,将会以默认的大小来初始化内部的数组(默认大小为不同jdk版本不同:jdk1.7、jdk1.8中默认初始数组容量为0,而jdk1.6中默认为10)
  • public ArrayList(Collection<?extends E> c),用一个ICollection对象来构造,并将该集合的元素添加到ArrayList
  • public ArrayList(int initialCapacity),用指定的大小来初始化内部的数组
7. Java中的新生代、老年代、永久代和各种GC

参考链接

JVM中的堆,一般分为三大部分:新生代、老年代、永久代
一、 新生代

  • 主要是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。
  • 新生代又分为 Eden区、ServivorFrom、ServivorTo三个区(默认的:Edem : from : to = 8 : 1 : 1 )
    • Eden区:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。当Eden区内存不够的时候就会触发MinorGC,对新生代区进行一次垃圾回收。
    • ServivorTo:保留了一次MinorGC过程中的幸存者。
    • ServivorFrom:上一次GC的幸存者,作为这一次GC的被扫描者。
  • 当JVM无法为新建对象分配内存空间的时候(Eden满了),Minor GC被触发。因此新生代空间占用率越高,Minor GC越频繁。
  • MinorGC的过程:采用复制算法
    首先,把Eden和ServivorFrom区域中存活的对象复制到ServicorTo区域(如果有对象的年龄以及达到了老年的标准,一般是15,则赋值到老年代区)
    同时把这些对象的年龄+1(如果ServicorTo不够位置了就放到老年区)
    然后,清空Eden和ServicorFrom中的对象;最后,ServicorTo和ServicorFrom互换,原ServicorTo成为下一次GC时的ServicorFrom区。

二、 老年代

  • 老年代的对象比较稳定,所以MajorGC不会频繁执行。
  • 在进行MajorGC前一般都先进行了一次MinorGC,使得有新生代的对象晋身入老年代,导致空间不够用时才触发。当无法找到足够大的连续空间分配给新创建的较大对象时也会提前触发一次MajorGC进行垃圾回收腾出空间。
  • MajorGC采用标记—清除算法:
    首先扫描一次所有老年代,标记出存活的对象,然后回收没有标记的对象。MajorGC的耗时比较长,因为要扫描再回收。MajorGC会产生内存碎片,为了减少内存损耗,我们一般需要进行合并或者标记出来方便下次直接分配。当老年代也满了装不下的时候,就会抛出OOM(Out of Memory)异常。

三、 永久代

  • 指内存的永久保存区域,主要存放Class和Meta(元数据)的信息。
  • Class在被加载的时候被放入永久区域。它和和存放实例的区域不同,GC不会在主程序运行期对永久区域进行清理。所以这也导致了永久代的区域会随着加载的Class的增多而胀满,最终抛出OOM异常。
  • 在Java8中,永久代已经被移除,被一个称为“元数据区”(元空间)的区域所取代。
  • 元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制。类的元数据放入 native memory, 字符串池和类的静态变量放入java堆中. 这样可以加载多少类的元数据就不再由MaxPermSize控制, 而由系统的实际可用空间来控制。
  • Major GC和Full GC区别
    • Full GC:收集young gen、old gen、perm gen
    • Major GC:有时又叫old gc,只收集old gen
8. 可以把任何一种数据类型的变量赋给Object类型的变量。

引用类型都直接或间接继承自Object
基本类型 在赋值时都会 先自动装箱成其相对应包装类型,然后赋值。所以是正确的。

补充:java的装箱与拆箱

参考链接

  1. 定义:装箱就是将基本数据类型转化为包装类型,那么拆箱就是将包装类型转化为基本数据类型。

    ​ Java中基础数据类型与它们的包装类进行运算时,编译器会自动帮我们进行转换,转换过程对程序员是透明的,这就是装箱和拆箱,装箱和拆箱可以让我们的代码更简洁易懂

    原始类型所占位数包装类型
    byte1字节,8位Byte
    short2字节,16位Short
    int4字节,32位Integer
    long8字节,64位Long
    float4字节,32位Float
    double8字节,64位Double
    char2字节,16位Character
    boolean长度不明确Boolean

    当表格中左边列出的基础类型与它们的包装类有如下几种情况时,编译器会自动帮我们进行装箱或拆箱.

    • 进行 = 赋值操作(装箱或拆箱)
    • 进行+,-,*,/混合运算 (拆箱)
    • 进行>,<,==比较运算(拆箱)
    • 调用equals进行比较(装箱)
    • ArrayList,HashMap等集合类 添加基础类型数据时(装箱)
  • 示例

    /*
    装箱:
    因为10是属于基本数据类型的,原则上它是不能直接赋值给一个对象Integer的,但当javac发现在一个需要Integer的上下文里出现了int类型的值,就会通过Integer.valueOf()自动把这个值装箱为Integer,自动将基本数据类型转化为对应的封装类型。
    */
    Integer a = 10;
    
    
    /* 拆箱:故名思议就是将对象重新转化为基本数据类型
    自动拆箱有个很典型的用法就是在进行运算的时候:因为对象时不能直接进行运算的,而是要转化为基本数据类型后才能进行加减乘除
    */
    int b = a;
    int i = new Integer(2);//这是拆箱  
    
  • 鄙视题

    int num1 = 297;
    Integer num2 = 297;
    System.out.println("num1==num2: " + (num1 == num2));
    
    Integer num3 = 97;
    Integer num4 = 97;
    System.out.println("num3==num4: " + (num3 == num4));
    
    num3 = 297;
    num4 = 297;
    System.out.println("num3==num4: " + (num3 == num4));
    
    // 结果
    num1 == num2: true
    num3 == num4: true
    num3 == num4: false
    
    /*
    分析:考察自动装箱拆箱缓存问题
    这是因为JVM会自动维护八种基本类型的常量池,int常量池中初始化-128~127的范围,所以当为Integer i=127时,在自动装箱过程中是取自常量池中的数值,而当Integer i>128时,i不在常量池范围内,所以在自动装箱过程中需new i,所以地址不一样。
    */
    

    以下时实现自动装箱过程所调用的方法:

    //boolean原生类型自动装箱成Boolean
    public static Boolean valueOf(boolean b) {
      return (b ? TRUE : FALSE);
    }
      
    //byte原生类型自动装箱成Byte
    public static Byte valueOf(byte b) {
      final int offset = 128;
      return ByteCache.cache[(int)b + offset];
    }
      
    //byte原生类型自动装箱成Byte
    public static Short valueOf(short s) {
      final int offset = 128;
      int sAsInt = s;
      if (sAsInt >= -128 && sAsInt <= 127) { // must cache
        return ShortCache.cache[sAsInt + offset];
      }
      return new Short(s);
    }
      
    //char原生类型自动装箱成Character
    public static Character valueOf(char c) {
      if (c <= 127) { // must cache
        return CharacterCache.cache[(int)c];
      }
      return new Character(c);
    }
      
    //int原生类型自动装箱成Integer
    public static Integer valueOf(int i) {
      if (i >= IntegerCache.low && i <= IntegerCache.high)
        return IntegerCache.cache[i + (-IntegerCache.low)];
      return new Integer(i);
    }
      
    //int原生类型自动装箱成Long
    public static Long valueOf(long l) {
      final int offset = 128;
      if (l >= -128 && l <= 127) { // will cache
        return LongCache.cache[(int)l + offset];
      }
      return new Long(l);
    }
      
    //double原生类型自动装箱成Double
    public static Double valueOf(double d) {
      return new Double(d);
    }
      
    //float原生类型自动装箱成Float
    public static Float valueOf(float f) {
      return new Float(f);
    }
    
    /*
    通过分析源码发现,只有double和float的自动装箱代码没有使用缓存,每次都是new 新的对象,其它的6种基本类型都使用了缓存策略。使用缓存策略是因为,缓存的这些对象都是经常使用到的(如字符、-128至127之间的数字),防止每次自动装箱都创建一此对象的实例。而double、float是浮点型的,没有经常使用到的数据,缓存效果没有其它几种类型使用效率高。且装箱调用的都是valueOf方法。
    而拆箱跟自动装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为基本类型的数据。
    */
    
  • 总结:
    自动装箱和拆箱是由编译器来完成的,编译器会在编译期根据语法决定是否进行装箱和拆箱动作,装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的xxxvalue方法实现的(xxx代表对应的基本数据类型)。

9. jre 判断程序是否执行结束的标准是()
// 程序可以理解为进程
所有的前台线程执行完毕
  • 后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。

  • 前台线程:是指接受后台线程服务的线程,其实前台后台线程是联系在一起,就像傀儡和幕后操纵者一样的关系。傀儡是前台线程、幕后操纵者是后台线程。由前台线程创建的线程默认也是前台线程。可以通过isDaemon()和setDaemon()方法来判断和设置一个线程是否为后台线程。

  • 主线程也即是指 main()函数,是一个前台线程,使用new Thread方式创建的线程默认都是前台线程。

  • 前台线程和后台线程的区别和联系:

    1、后台线程不会阻止进程的终止。属于某个进程的所有前台线程都终止后,该进程就会被终止。所有剩余的后台线程都会停止。

    2、可以在任何时候将前台线程修改为后台线程。

    3、不管是前台线程还是后台线程,如果线程内出现了异常,都会导致进程的终止。

10. Java的集合
  • 鄙视题1
下面哪些接口直接继承自Collection接口()
答案:List、Map
  • 鄙视题2
对 Map 的用法,正确的有:

A.new java.util.Map().put("key" , "value") ;
B.new java.util.SortedMap().put("key" , "value") ;
C.new java.util.HashMap().put( null , null ) ;
D.new java.util.TreeMap().put( 0 , null ) ;

// 正确答案: C D

/*
解析:
Map和SortedMap是接口,不能直接new对象,A,B错误
HashMap  允许null-null键值对  C正确
TreeMap  允许value值为null,不允许key值为null,D是value为null,key不为null,正确
*/
  • ArrayList是线程不安全的,在多线程的情况下不要使用。
    • 如果一定在多线程使用List的,您可以使用Vector,因为Vector和ArrayList基本一致,区别在于Vector中的绝大部分方法都使用了同步关键字修饰,这样在多线程的情况下不会出现并发错误哦,还有就是它们的扩容方案不同,ArrayList是通过原始容量*3/2+1,而Vector是允许设置默认的增长长度,Vector的默认扩容方式为原来的2倍。 切记Vector是ArrayList的多线程的一个替代品。
  • LinkedList
    • LinkedList的链式线性表的特点为: 适合于在链表中间需要频繁进行插入和删除操作。
    • LinkedList的链式线性表的缺点为: 随机访问速度较慢。查找一个元素需要从头开始一个一个的找。速度你懂的。
3.PCIe协议分析1-预备知识点 PCIE协议分析1主要讲一下四方面: PCI-E配置空间 PCI-E地址映射 PCI-E Bar空间 PCI-E层级结构详谈 (1)PCIE配置空间 我们过来学习PCIE的同学应该都接触各种类型的功能芯片吧,这些功能芯片连接在电路里面我们可以认为它是一个外部设备,这些设备里面有自己独有的寄存器区域,比如SDRAM里面的ID寄存器或者其他配置寄存器。好的,其实我们PCIE板卡也相当... 阅读详情

相关推荐

Xilinx ERNIC RoCEv2 FPGA实现与QP队列深度解析

本文深入解析Xilinx ERNIC RoCEv2在FPGA上的实现,重点剖析QP队列对的管理机制与深度优化策略。通过Verilog代码示例和工程实战,详细介绍了如何实现高吞吐量、低延迟的RDMA硬件卸载方案,为金融交易和数据中心应用提供性能优化指导。

solidity8miner的博客 877

8. jre 判断程序是否执行结束的标准是()

jre 判断程序是否执行结束的标准是() A.所有的前台线程执行完毕 B.所有的后台线程执行完毕 C.所有的线程执行完毕 D.和以上都无关 本题的答案选A。 main()函数即主函数,是一个前台线程,前台进程是程序中必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后台线程主要用与内存分配等方面。 ...

QiuBika_061的博客 2663

光电振荡器(OEO):从原理到应用,解锁高频微波信号新纪元

本文深入解析了光电振荡器(OEO)的核心原理与前沿应用。OEO通过巧妙的光-电-光转换机制,利用光学谐振腔产生高频、高纯度、低相位噪声的微波信号,有效突破了传统电子电路的频率瓶颈。文章详细拆解了其工作流程,并探讨了在雷达系统、高速光通信及精密测量等领域的硬核应用价值。

weixin_29231027的博客 366

秋招Java开发----牛客刷题错题总结

刷完了牛客Java题,整理了自己做错的题,希望可以帮助到各位突破0ffer,获得Offer。

snh48renhaoduo的博客 3万+

大模型训练方法全面解析:SFT、RFT、TRPO、DPO、PPO、GRPO、RLH、RLHF技术深度剖析

大模型训练方法全面解析 本文系统介绍了当前主流的大模型训练和对齐技术,包括监督微调(SFT)、拒绝采样微调(RFT)、信任域策略优化(TRPO)、直接偏好优化(DPO)、近端策略优化(PPO)等。这些方法各有特点:SFT简单高效但数据依赖性强;RFT通过质量筛选提升输出质量;TRPO训练稳定但计算复杂;PPO是RLHF核心算法,平衡探索与利用。文章详细分析了各方法的实现原理、优势劣势及适用场景,为开发者选择合适的大模型训练策略提供参考。

2796

18、Excel VBA编程:自定义函数创建与代码调试全攻略

本文详细介绍了Excel VBA中自定义函数的创建方法,以获取单元格注释为例演示了完整开发流程,并深入讲解了代码调试的重要性与核心工具。内容涵盖三种主要错误类型及其应对策略,系统介绍了调试工具栏、断点、逐行执行、Locals窗口、Immediate窗口等实用功能。通过综合案例展示了如何运用调试技术解决实际问题,并总结了提前规划、逐步测试、日志记录等最佳实践,帮助读者提升VBA编程效率与代码质量。

life6的博客 100

每日一题 4-29

jre 判断程序是否执行结束的标准是() A 所有的前台线程执行完毕 B 所有的后台线程执行完毕 C 所有的线程执行完毕 D 和以上都无关 解析: A 题目1:【iNOC产品部–完全数计算】 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。 给定函数count(int n),用于计算n以内(

qq_35535026的博客 475

python实现纵横向拉开档次法 (附完整源码)

python实现纵横向拉开档次法 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 779

【278天】我爱刷题系列(37)

叨叨两句 剁手啊~剁手啊~ 牛客网——java专项练习017 1 可以把任何一种数据类型的变量赋给Object类型的变量。正确答案: A 你的答案: B (错误) 对 错 基本数据类型赋值给object是因为自动装箱了 2 下面代码的输出结果是什么? public class ZeroTest { public stati...

weixin_34406086的博客 370

mapbox进阶,百度地图、高德地图纠偏,使用在线网络地图加载插件

本文详细介绍如何基于mapbox-gl v3.8.0版本百度地图、高德地图纠偏,使用在线网络地图加载插件,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 750

Gmsh+OCC对应版本库编译

输入 GMSH_DLL_EXPORT值C:\LIB\OCCT-7_8_0-i;9、如果只是生成库文件编译gmesh工程即可生成文件在C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B\Debug 下gmsh.dll、gmsh.lib、gmsh.h、gmshc.h文件;3、CMAK编译Gmsh对应OCC版本的,CMAK选择源文件路径C:\LIB\Gmsh\gmsh-4.13.1-source,生成构建文件路径C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B。

u013401364的博客 412

Java基础笔记整理7--反射&threadlocal

1.JAVA反射机制主要提供了以下哪些功能 (A B C D) 在运行时判断一个对象所属的类 在运行时构造一个类的对象 在运行时判断一个类所具有的成员变量和方法 在运行时调用一个对象的方法 2.下面有关java threadlocal说法正确的有 (A B C D) ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递 线...

z止于至善的博客 1664

2025华为OD机试真题+全流程解析+备考攻略+面试技巧+机考经验分享+Java/python/JS/C++/C语言实现

本专栏包含华为 OD 机试最新的 A卷+B卷+C卷+D卷+E卷题库,为全网最全、最新题库,500+真题。每一篇文章都包含了题目描述、解题思路以及实现代码。同时免费提供最新的在线OJ 刷题系统。已有上百名小伙伴通过刷真题题库通过了华为od机考,拒绝一切形式的代考,替考行为!!!以下是本专栏详细内容介绍:本专栏提供在线OJ刷题系统:OJ题库OJ系统注册&使用教程:OJ使用教程其他专栏以及答疑介绍:50+ 高频面试手撕真题,已有上百位小伙伴高频认证。1:机试没过,半年的冷冻期。2:已经订阅过我专栏的同学,推荐新人

MISAYAONE的博客 2225

精选牛客网鄙视题&详解(二)【Java部分】

目录精选牛客网鄙视题&amp;详解(二)1. Java数组的使用2. 源码、反码、补码3. 关于Java枚举的使用4. 关于Java的垃圾回收机制5. 关于多线程是否释放锁资源问题6. 关于Java中字符串的比较7. 字节流和字符流8. Java多线程中的wait()、notify()、notifyAll()、await()、signal()、signalAll()9. Java的 native ...

liuhao的博客 327

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Disdain Chain

链接:https://ac.nowcoder.com/acm/problem/13815 来源:牛客网 题目描述 BNU ACM校队现在有n名队员,对于任意两名队员i和j,要么i鄙视j,要么j鄙视i,需要注意的是鄙视关系并不满足传递性,即使i鄙视j、j鄙视k,也并不意味着一定有i鄙视k。小Q同学认为,如果有t名不同的队员满足a_1鄙视a_2、a_2鄙视a_3、……、a_{t-1}鄙视a_t...

qq_40293424的博客 434

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

00004-括号匹配问题-牛客网-要考虑各种情况

括号匹配问题 链接:https://ac.nowcoder.com/acm/contest/3530/E 来源:牛客网 众所周知,佳爷是集训队最强,他经常喜欢鄙视集训队最菜的PC,这天他又来了,他丢给PC一道题目: 给你一个字符串,该字符串只包含符号 ‘(’ 和 ‘)’, ,我们称那些左右括号可以一一对应的括号字符串为完美字符串, 比如"()()()", “((()))”, “((()))()(...

qq_33820545的博客 365

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

新手前端练手网站_程序员从入门到入狱:必收藏的七大网站

作为一个正在自学JAVA的菜鸡,我把我在学习中用到的网站整理了一下,分享给和我一样正在学习编程的小白们。1、菜鸟教程菜鸟教程是零基础小白入门的一个必备网站,菜鸟教程包含了所有跟编程有关的技术。从前端到后端、从数据库到框架、从面向过程到面向对象,这个网站全部都有,最关键的是这个网站对新手极其友好,不管你要学习什么编程语言,这个网站都会如何搭建开发环境开始教你。最最重要的一点就是这个网站所有教程全部免...

weixin_39928768的博客 2485

程序员从入门到入狱:必收藏的七大网站

作为一个正在自学JAVA的菜鸡,我把我在学习中用到的网站整理了一下,分享给和我一样正在学习编程的小白们。 1、菜鸟教程 菜鸟教程是零基础小白入门的一个必备网站,菜鸟教程包含了所有跟编程有关的技术。从前端到后端、从数据库到框架、从面向过程到面向对象,这个网站全部都有,最关键的是这个网站对新手极其友好,不管你要学习什么编程语言,这个网站都会如何搭建开发环境开始教你。最最重要的一点就是这个网站所有教程全部免费! 学的不仅是技术,更是梦想! 2、HOW2J.CN 这是一个技术大牛写的个人网站,整个网站

Javaesandyou的博客 428

2018面试总结

不知道从什么时候开始,吃IT这碗饭跳槽成了常态,要想升职加薪,没有比跳槽更有效的方式了,今年2月初,从我大学毕业工作了3年的上海,一家服务于国企汽车公司的外包公司,终于离职了。“终于”说的一点都不过分,如果还能重新选择,我一定会好不犹豫选择考研,一定不会再选择外包公司,一定不会在外包公司呆这么久(但不是鼓励你频繁跳槽)。只有你从自己的给自己搭建的温室中往另一个温室中跳的时候,你才会深深感受到之前的...

zhuhao088的博客 579

2016 总结:一个应届生的互联网名企逐梦记

2016 年会是我人生的转折点,即将找工作,来一点正能量给那些和我一样心怀梦想的朋友吧。

brianway 3262

java春招总结_渣渣的实习春招总结 - JavaGuide的个人空间 - OSCHINA - 中文开源技术交流社区...

今天做项目的空隙在写线程池的内容,线程池思考了很久才写了一大半。。。写好再更新,今天分享一篇面试文章。作者:就想有个靠谱实习 链接:https://www.nowcoder.com/discuss/74494 来源:牛客网本人计算机专业大三学生,在学校里也挺混日子的,期末就是被pj的ddl追着跑,考试前靠喝一点点续命通宵突击的那种。之前还挺犹豫要不要读研的,然后大二加了个实验室,学大神们像模像样买...

weixin_35950365的博客 189

零基础学习一年拿到BAT三家offer

背景 1、本人本科一本双非垫底的那种,硕士211。本硕电子通信,完全0基础,转行一年。 2、研一上第一学期上课+外派到老师合作公司写MATLAB。去年4月开始学习Java。 起步 1、实话说,刚决定转行的时候完全零基础一开始真的啥也不会,甚至不知道怎么去学习。的确,计算机资源很多,自学足够的但是完全不知道怎么去用去学习啊! 啥是leetcode? 啥是github? 啥是IDEA? 啥是牛客...

WantFlyDaCheng的博客 797

我做Android程序员的那几年:小公司——大公司跨越到底需要哪些?

一月:大数据入门整个一月份都在刷入门视频和《Hadoop权威指南》,又临近期末,每天5点半起床,看两个小时的视频然后上课或者复习期末考。剑指offer刷一遍、数据结构、JavaSE、JVM、多线程①剑指offer有些搞不懂的直接跳过,等下个月第二遍再刷;②数据结构重点是各种树、二叉树、红黑树的一些特性以及链表的特性;③JavaSE主要是类对象接口的区别,能不能继承,Static的特点,各种Hashmap,ArrayList等集合框架的原理源码;④JVM是根据网上整合的高频面试题进行学习的,

2401_86968256的博客 1013

写给大学新生

本人工科计算机专业,给新生的一些建议,部分也适用于所有专业同学,有益的吸取,无益的忽略 当然本人也不够努力,很多好习惯也没有坚持,大学期间也有不少遗憾,下面直说 编程入门 建议是C、Python、Java,三者选择其一即可;语言只是工具,更广/更深的很多,但必须要掌握一个工具,这样才能做很多事情 熟悉一个文本编辑器,熟悉简单的命令行,面试要手撕(即白纸上写)的 算法方面 数据结构必不可少的:可以找...

master-dragon的专栏 768
上一篇: Java中i = i++;与C++中i = i++;结果比较
下一篇: 精选牛客网鄙视题&详解(二)【Java部分】
fly-liuhao
博客等级 码龄9年 147粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值