java内存设置

  • 综合
  • Java面试一般,共3轮面试 先笔试,笔试有选择题(多选)和手写代码,1.java -jar 启动一个demo.jar,要求设置最小内存和最大内存、指定g1垃圾收集器和制定端口 2.定一个Response
  • 题目:请描述一下Java中的垃圾回收机制,以及如何优化垃圾回收过程以提高系统性能。同时,请给出一个实际场景,说明在什么情况下需要手动触发垃圾回收,并解释原因。
  • 面试:Java。总体面试感觉不错,难度适中,收到offer了。
  • 一个对象如果仅在声明方法中使用,有可能直接在栈上分配内存
  • 创建线程有三种方式,分别是继承Thread类、实现Runnable接口、实现Callable接口。通过继承Thread类来创建并启动线程的步骤如下。1.定义Thread类的子类,并重写该类的run()方法,该run()方法将作为线程执行体。2.创建Thread子类的实例,即创建了线程对象。3.调用线程对象的start()方法来启动该线程。通过实现Runnable接口来创建并启动线程的步骤如下。1.定义Runnable接口的实现类,并实现该接口的run()方法,该run()方法将作为线程执行体。2.创建Runnable实现类的实例,并将其作为Thread的target来创建Thread对象,Thread对象为线程对象。3.调用线程对象的start()方法来启动该线程。通过实现Callable接口来创建并启动线程的步骤如下。1.创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,且该call()方法有返回值。然后再创建Callable实现类的实例。2.使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。3.使用FutureTask对象作为Thread对象的target创建并启动新线程。4.调用FutureTask对象的get()方法来获得子线程执行结束后的返回值。
  • 继承Thread类;实现Runnable接口,重写run方法;实现Callable接口重写它的call方法,配合FutureTask实现;还有就是通过线程池来创建
  • Java面试一般,共1轮面试 全程八股文, 一道生产者/消费者模型设计题,一道链表是否相交(不需要写出来,回答思路) 1.Arraylist与LinkedlistArrayList 的实现LinkedList
  • gc耗时会更长
  • 面试:Java。面试体验平平,难度层层递进,应该是没过。
  • 面试:Java。总体来说体验还行,难度适中,结果没机会。 项目中,详细描述用什么技术解决了什么问题?