这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。1.为什么等待和通知是在 Object 类而不是 Thread 中的?一个棘手的
转载 6月前
10阅读
一、类型运算细节1、我们来看看下面两个代码:代码一:class Demo { public static void main(String[] args) { byte b=4; b=3+7; System.out.println(b); } }运行结果:代码二:class Demo { public static void main(String[] args) {
1.怎么去比较字符串?使用​​==​​​还是使用​​equals()​​? 简单来说,"=="用来比较引用是否相等而"equals()用来比较值是否相等",除非你是要检查两个字符串的是否是相同的对象,你应该使用equals()。 如果你了解​​字符串截取原理​​的话那么就更好了。
转载 2023-07-19 21:00:39
58阅读
&和&&的区别表示两者都返回true时整体才表示true,而&&称为短路运算,是因为,当前一个条件返回false时,后一个条件不会再执行,整体返回一个false。final关键字有哪些用法修饰类:表示不能被继承修饰方法:表示不能被重写修饰变量:表示变量值只可以赋值一次,后不能更改异常分类可以分为运行时异常和非运行时异常运行时异常一般是指我们开发中,编译运行程
转载 2023-07-16 14:47:31
38阅读
原标题:Java面试过程中10个最难回答的面试题(附答案)1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有助于回答这种棘手的 Java 核心方面的面试问题。为什么 wait,notify 和 notifyAll 是在 Object 类中定义的而不是在 Th
1. 有T1、T2、T3三个线程,如何怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 使用join方法。 join方法的功能是使异步执行的线程变成同步执行。即调用线程实例的start方法后,该方法会立即返回,如果调用start方法后,需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完
转载 2024-06-26 11:46:16
33阅读
下面是我最近遇到的一些还不清楚的问题,有的是做题过程中的错误,有的是一些java基础方面的问题,我把这些做了一个总结,避免以后在犯,也可以给和我一样Java入门的人参考,如果有总结的不对的地方,欢迎大家可以给我提出来~~~目录 一、Java一些基础方面的问题1、面向对象和面向过程的区别:2、Java语言的特点:3、关于JVM,JDK,JRE4、Java和C++的区别:5、String、S
转载 2023-06-14 16:33:56
239阅读
【1】CAS方法:CompareAndSwap1、乐观锁的使用的机制就是CAS。  在CAS方法中,CAS有三个操作数,内存值V,旧的预期值E,要修改的新值U。当且仅当预期值E和内存值V相等时,将内存值V修改为U,否则什么都不做。2、非阻塞算法(nonblocking algorithms):一个线程的失败或者挂起不应该影响其他线程的失败或挂起的算法。  (1)非阻塞算法简介:
转载 2023-06-26 21:00:04
120阅读
这是一道JAVA题,最后输入为5,但程序在第3行执行了3次,a的值都是15,请问怎么回事呢。STATIC是怎样执行的呢? public class df {    static int a=10;  static {a=a+5;}  public static void main(String[] args) {   Syst
原创 2010-05-31 22:20:18
203阅读
1评论
java项目问相关的java技术栈 多线程,锁,cas原理 redis与数据库的数据一致性 Kafka在什么情况下会丢失消息 分布式执行框架 bean的生命周期 如何实现的读写分离-我的项目 分库分表的分片键-我的项目 项目上问题大概问了20多分钟 技术问题: 1、Java 几种锁 2、CAS锁 3 ...
转载 2021-11-03 14:08:00
61阅读
2评论
Java多线程 线程池的原理,为什么要创建线程池? 线程的生命周期,什么时候会出现僵死进程; 什么实现线程安全,如何实现线程安全; 创建线程池有哪几个核心参数? 如何合理配置线程池的大小? synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性;
原创 2021-07-13 17:38:41
134阅读
什么是序列化
原创 2022-09-29 20:42:36
109阅读
《IntelliJ IDEA的光芒会盖过Eclipse吗》 作为一个资深的Eclipse用户,我想对IntelliJ IDEA做一个更为严谨的审视。JetBrains的工作人员非常的友善,并为Podcastpedia.org和Codingpedia.org这两个 工程给予了我一个开放源码的许可证。
转载 2016-09-02 20:07:00
31阅读
两个代码结果不一样 public void mul(Complex other) { int r = this.real * other.real - this.image * other.image; int i = this.image * other.real + this.real * ot ...
转载 2021-10-13 19:27:00
212阅读
2评论
1.利用Dos输出hello world建立一个Test.java文件,放在e盘;public class Test{ public static void main(String[] args){ System.out.println("hello world"); } }进入e盘所在目录注意:javac后面是文件Test.java,而java后面是Test(类名
转载 2023-06-16 15:17:04
46阅读
简要:     1 丢手绢问题:这是小时候经常玩的游戏,一群小朋友围到一起,形成一个圈。老师唱歌,小朋友们同时丢手绢,歌曲暂停时,目前拿到手绢的小朋友需要表演一个节目。依次循环下去。    2 而约瑟夫问题与之类似,由一群元素构成的环形链表,首先由某个元素开始报数,报到K时的那个元素需要出圈,然后又由下一个元素开始报数
今天看了一篇空指针异常处理的文章,觉得非常实用,特意整理了一些处理空指针异常的方案!1、前言对于刚入门的程序员来说,往往被NPE(Null Pointer Exception)也就是所谓的指针异常搞得头昏脑涨,非常恶心,而处理NPE,防止NPE的存在是一个程序员的基本修养。现在我们就利用Java8的新特性 Optional 来高效处理空指针的同时也可以简化代码。2、NPENPE(Null Poin
目录Java遍历集合的方法迭代器和for循环的效率比较编译与链接final, finally, finalize关键字的作用和区别泛型擦除二叉树和堆的区别Java反射Java中Class.forName和ClassLoader的区别java中同步锁修饰同一个类的两个方法的理解static代码块、static变量、非static方法和构造器执行顺序java浅复制和深复制多线程轮流打印三个线程如何终
转载 2023-08-05 22:04:11
26阅读
maven项目出现:“致命错误: 在类路径或引导类路径中找不到程序包 java.lang”的解决方法maven项目有时候会出现报:“致命错误: 在类路径或引导类路径中找不到程序包 java.lang”,然后报一堆jdk版本不一致等的问题,通常这种情况,有一下几种可能:(1)项目jdk版本引用和本地配置的jdk版本不一致导致的,可以修改项目的jdk引用路径,改为本地的jdk版本(ps重点:如果修改后
转载 2023-06-07 10:22:53
79阅读
用贪心算法解决一般背包问题。背包问题 给定N种物品和一个容量为MAX_WEIGHT的背包,物品i的重量是weight[i],其价值为price[i],背包问题是如何选择装入背包的物品,使得装入背包中物品的总价值最大? 从物品可不可以分割,背包问题可以划分为0-1背包问题和普通背包问题。0-1背包问题适合用动态规划求解,用贪心算法获不的最优解。普通背包问题可用贪心算法求得最优解。对于普通背包问题的求
  • 1
  • 2
  • 3
  • 4
  • 5