java后台实习面试知识点整理

本文整理了Java后台实习面试的关键知识点,包括Java特性、JVM、设计模式和多线程等内容。重点讲解了不可变类、字符串比较、多线程、设计模式中的策略模式、观察者模式、工厂模式及其变种,以及Spring、数据库操作和Mybatis等。此外,还探讨了依赖倒置设计原则和单例模式的应用。
摘要由CSDN通过智能技术生成

Java特性

基础知识

不可变类

基本类型的包装类(例如Integer、Float等)和 String都是不可变类

敏感数据(如密码)放在字符数组比使用String更安全: 因为常量池暴露字符串,垃圾自动回收,程序员无权

== 和equal()和hashcode

值传递、引用传递

引用传递实际上还是值传递,但因为传递的引用值指向的是对象,所以会改变原对象

static关键字

实现一个方法或类

String StringBuffer 、StringBuilder、String 

JVM

Hotspot把JVM中的堆空间划分为三个代:年轻代、老年代、永久代

sunJDK把方法区的实现放在了永久代

JMM

 

设计模式

设计原则

  1. 找出会变化的部分,把它们从不变的部分分离出来
  2. 针对接口编程,而不是针对实现编程
  3. 多用组合,少用继承。即有一个比是一个更好
  4. 开闭原则: 对扩展开放,对修改关闭

策略模式—— 一组算法被封装成一个算法族

一组算法被封装成一个算法族,这个算法族中的不同算法可以相互替换(用哪个都行,选择不同的具体算法,就是选择不同的策略)

实现:

声明一个接口,不同的算法要实现这个接口

场景举例:

  • 出行交通工具的选择——可以开车、步行、骑车...这些不同的算法被封装成一个算法族(即抽象一个GoOut接口,开车、步行...要实现这个接口)
  • 不同的促销方式——可以满减、送券、送礼品...这些不同的算法被封装成一个算法族(即抽象一个Promotion接口,满减、送券...要实现这个接口)

观察者模式——出版者+订阅者

 

装饰者模式——套一个娃,再给它添点功能

 

工厂模式

简单工厂(静态工厂)模式——客户直接向工厂下单要货

特点:把可变的对象创建过程分离出来,单独放到一个工厂中实现

向用户提供产品,用户只管直接向工厂发送产品类型参数要求,通常是静态工厂即制造产品的过程不能通过继承更改

工厂方法模式——超类中的抽象方法,子类自主实现

工厂方法:在一个超类中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值