中软国际

1. mysql删除表语句是什么?drop和truncate区别?
2. 删除一行数据的sql
3. 查询一张表所有的数据的sql
4. 查询一张表有多少条数据sql。  count(1)和count(*)区别
5. i++和++i区别
6. 介绍下重载和重写。  构造方法可以重写重载吗?
7. arraylist和linkedlist的区别
8.解释一下深拷贝和浅拷贝
9. 如果有三个线程,我如何能保证顺序执行.
方法1: 使用join()
join() 方法可以确保一个线程在另一个线程执行完毕后才开始执行。通过合理地调用 join(),可以实现线程的顺序执行。

方法2:使用countdownlatch/semaphore

方法3: 使用锁和原子类,wait() + notifyAll()

方法4: 使用completablefuture

10. 如果有一个 T1 线程,想把 T2 线程加到 T1 里面,怎么实现?

方法1. 使用join()
Thread t2 = new Thread(() -> {
    // T2 线程的执行逻辑
    System.out.println("T2 线程正在执行");
});

Thread t1 = new Thread(() -> {
    try {
        System.out.println("T1 线程开始执行");
        
        // T1 线程在此处等待 T2 线程执行完成
        t2.start();  // 启动 T2 线程
        t2.join();    // T1 等待 T2 完成
        
        System.out.println("T2 线程已完成,T1 继续执行");
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
});

t1.start();

方法2. 使用future.get()
ExecutorService executor = Executors.newSingleThreadExecutor();

Future future = executor.submit(() -> {
    // T2 线程的执行逻辑
    System.out.println("T2 线程正在执行");
});

Thread t1 = new Thread(() -> {
    try {
        System.out.println("T1 线程开始执行");
        
        // T1 线程在此处等待 T2 线程执行完成
        future.get();  // 阻塞直到 T2 完成
        
        System.out.println("T2 线程已完成,T1 继续执行");
    } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
    } finally {
        executor.shutdown();
    }
});

t1.start();

方法3. 使用countdownlatch
CountDownLatch latch = new CountDownLatch(1);

Thread t2 = new Thread(() -> {
    try {
        System.out.println("T2 线程正在执行");
    } finally {
        latch.countDown();  // 完成时减少计数
    }
});

Thread t1 = new Thread(() -> {
    try {
        System.out.println("T1 线程开始执行");
        
        t2.start();  // 启动 T2 线程
        latch.await();  // 等待 T2 完成
        
        System.out.println("T2 线程已完成,T1 继续执行");
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
});

t1.start();

11. a=a+b 和 a+=b的区别

a = a + b,如果 a 和 b 的类型不同(如 a 是 int,b 是 double),需要显式强制类型转换,否则会编译报错。
即:
double a= 1;
int b = 2;
a = (double) (a+b); 
a += b,会自动执行隐式类型转换,将结果转换为 a 的类型。

13. 数据库的三大范式

如答案有错误欢迎指正
全部评论

相关推荐

评论
4
15
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4255次浏览 75人参与
# AI面会问哪些问题? #
27541次浏览 551人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15094次浏览 221人参与
# 你的实习产出是真实的还是包装的? #
20041次浏览 342人参与
# 找AI工作可以去哪些公司? #
8950次浏览 232人参与
# 春招至今,你的战绩如何? #
64488次浏览 575人参与
# 米连集团26产品管培生项目 #
13295次浏览 285人参与
# 从事AI岗需要掌握哪些技术栈? #
8813次浏览 301人参与
# 你做过最难的笔试是哪家公司 #
33117次浏览 230人参与
# 中国电信笔试 #
31933次浏览 292人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340712次浏览 2173人参与
# 哪些公司真双非友好? #
69557次浏览 289人参与
# 阿里笔试 #
178372次浏览 1314人参与
# 机械人避雷的岗位/公司 #
62693次浏览 393人参与
# 第一份工作一定要去大厂吗 #
14429次浏览 122人参与
# 金三银四,你的春招进行到哪个阶段了? #
22050次浏览 280人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26232次浏览 310人参与
# 沪漂/北漂你觉得哪个更苦? #
9764次浏览 193人参与
# HR最不可信的一句话是__ #
6163次浏览 113人参与
# 应届生第一份工资要多少合适 #
20663次浏览 86人参与
# AI时代,哪个岗位还有“活路” #
11431次浏览 340人参与
# 春招你拿到offer了吗 #
831100次浏览 9986人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务