CGBTN2111-DAY06总结复习(1)

最后

ActiveMQ消息中间件面试专题

  • 什么是ActiveMQ?
  • ActiveMQ服务器宕机怎么办?
  • 丢消息怎么办?
  • 持久化消息非常慢怎么办?
  • 消息的不均匀消费怎么办?
  • 死信队列怎么办?
  • ActiveMQ中的消息重发时间间隔和重发次数吗?

ActiveMQ消息中间件面试专题解析拓展:

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


redis面试专题及答案

  • 支持一致性哈希的客户端有哪些?
  • Redis与其他key-value存储有什么不同?
  • Redis的内存占用情况怎么样?
  • 都有哪些办法可以降低Redis的内存使用情况呢?
  • 查看Redis使用情况及状态信息用什么命令?
  • Redis的内存用完了会发生什么?
  • Redis是单线程的,如何提高多核CPU的利用率?

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


Spring面试专题及答案

  • 谈谈你对 Spring 的理解
  • Spring 有哪些优点?
  • Spring 中的设计模式
  • 怎样开启注解装配以及常用注解
  • 简单介绍下 Spring bean 的生命周期

Spring面试答案解析拓展

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


高并发多线程面试专题

  • 现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?
  • Java 中新的 Lock 接口相对于同步代码块(synchronized block)有什么优势?如果让你实现一个高性能缓存,支持并发读取和单一写入,你如何保证数据完整性。
  • Java 中 wait 和 sleep 方法有什么区别?
  • 如何在 Java 中实现一个阻塞队列?
  • 如何在 Java 中编写代码解决生产者消费者问题?
  • 写一段死锁代码。你在 Java 中如何解决死锁?

高并发多线程面试解析与拓展

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


jvm面试专题与解析

  • JVM 由哪些部分组成?
  • JVM 内存划分?
  • Java 的内存模型?
  • 引用的分类?
  • GC什么时候开始?

JVM面试专题解析与拓展!

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

类指的是类型Type,是指一类事物,使用Java中的class关键字来描述

类是抽象的,要提取这一类事物的特征与功能

可以把类理解成设计图纸,模板

注意:类在现实世界中不是真实存在,它只是一种对象的数据类型

4.对象

对象就是根据类创建出来的一个个独立且具体的实例

一个类可以创建出多个对象,我们通过对象唯一的地址值区分不同的对象

对象具有各种特征,并且每个对象的每个特征都可以有自己特定的值

对象具有各种行为,每个对象可以执行的操作

5.对象创建过程分析

Phone p = new Phone();创建对象时,内存发生了什么?

  1. 在栈内存中开辟一块空间,Phone类型的引用类型变量p,把p压入栈底,此时p只有一个默认值null

  2. 在堆内存中开辟一块空间用于存放Phone类型的对象

  3. 要给这个对象进行初始化,比如:String brand = null;

  4. 此对象已经准备好,所以会生成一个唯一的地址值,并将这个地址值交给栈内存中的变量p来保存

  5. 如果后续想要对对象做操作,比如:p.price=88.8;先会找到栈中p变量保存的地址值,根据这个地址找到堆中的对象再做进一步的操作

3.面向对象的特征–封装


3.1为啥要用封装?

  1. 封装可以提高程序的安全性

  2. 封装可以让资源按照我们预先规定的方式来操作

3.2属性的封装

用private修饰属性,一旦属性被private修饰,就只能在本类中使用,外界无法访问

所以为了让外界能够按照我们提供的方式来调用,需要根据属性生成公共的getXxx()与setXxx()方法

3.2 方法的封装

方法的封装也是使用private来修饰方法

如果想要调用私有方法的功能,就需要在本类的公共方法里调用这个私有方法

4 拓展综合练习1

===============================================================================

  1. 定义汽车类Car

  2. 定义汽车类的属性:颜色 品牌 价格 车长

  3. 定义汽车类的方法:启动功能start() 停止功能stop(),stop()要封装,先启动再停止

  4. 创建Car类的对象c,给c对象的属性赋值并查看:“暗夜紫” “BMW” 200 0.2

  5. 封装定义好的4个属性,并提供属性对应的get与set方法

  6. 使用set()与get()重新给c对象赋值并查看赋值结果 “特斯拉” “black” 200.02 3

package cn.tedu.review;

/本类用于OOP的知识回顾/

public class TestCar {

public static void main(String[] args) {

//4.创建汽车类的对象c

Car c = new Car();

//5.给c对象的属性赋值,并打印查看赋值的结果"宝马" “活力橙” 200000.98 3.1

// c.brand = “宝马”;

// c.color = “活力橙”;

// c.price = 200000.98;

// c.length = 3.1;

// System.out.println(c.length);

// System.out.println(c.price);

// System.out.println(c.brand);

// System.out.println(c.color);

//6.通过c对象调用汽车类的方法

c.start();

//c.stop();

//8.通过set方法给c对象重新赋值 “特斯拉” “石墨绿” 210000.99 2.9

c.setBrand(“特斯拉”);

c.setColor(“石墨绿”);

c.setPrice(210000.99);

c.setLength(2.9);

//9.通过get方法查看c对象的属性是否赋值成功

System.out.println(c.getBrand());

System.out.println(c.getColor());

System.out.println(c.getPrice());

System.out.println(c.getLength());

}

}

//1.定义汽车类Car,用来描述汽车这一类事物

class Car{

//2.定义汽车类的属性

//7.封装属性,并提供对应的get与set方法

private String brand;//品牌

private String color;//颜色

private double price;//价格

private double length;//车长

//3.定义汽车类的方法

public void start(){

System.out.println(“汽车启动~”);

stop();//在本类的公共方法里调用这个私有方法

}

//10.封装并调用stop()的功能

private void stop(){

System.out.println(“汽车停止~”);

}

public String getBrand() {

return brand;

}

public void setBrand(String brand) {

this.brand = brand;

}

最后

无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。

针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

到大家。

[外链图片转存中…(img-RUsc6WM3-1715821396895)]

[外链图片转存中…(img-18V78XDe-1715821396895)]

[外链图片转存中…(img-JqoH2Qy6-1715821396895)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值