bnuzxh_面试实录2

这篇博客记录了作者在广州某软件公司的Java后端实习面试经历,涵盖Java集合、设计模式(特别是单例模式)、Redis、缓存问题、数据结构、MySQL存储引擎、Spring框架、前端开发框架以及SQL知识。面试中讨论了Redis的使用,如存储用户登录信息的session,以及token与session的区别。同时,提到了项目中使用Redis存储session的实现和面临的挑战,以及RocketMQ的讲解。
摘要由CSDN通过智能技术生成

方向:Java后端实习

广州xx软件公司:

日期:20210718


1、JAVA中常用的集合说下:

Java中总共有8种基本数据类型
4种整型,


2、设计模式说下:

|方式|是象,我们需要让我们的类实现Serializable接口。


3、手写一个单例模式吧:

什么是单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。
属于创建型模式,提供了一种创建对象的最佳方式。
一个单一的类,负责创建自己的对象,同时确保只有单个对象被创建。
这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

注意:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

那些地方用到了单例模式

网站的计数器,一般也是采用单例模式实现,否则难以同步。
应用程序的日志应用,一般都是单例模式实现,只有一个实例去操作才好,否则内容不好追加显示。
多线程的线程池的设计一般也是采用单例模式,因为线程池要方便对池中的线程进行控制
Windows的(任务管理器)就是很典型的单例模式,他不能打开俩个
windows的(回收站)也是典型的单例应用。在整个系统运行过程中,回收站只维护一个实例。

实现单例模式的方式非常多

懒汉,饿汉,双重锁,内部静态代码块,枚举

双重锁,双重校验
public class Singleton {
     

    private volatile static Singleton singleton;  
    
    private Singleton (){
   }  
    
    public static Singleton getSingleton() {
     
    if (singleton == null) {
     
        synchronized (Singleton.class) {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值