寒冬期的春招之旅
创始人
2025-05-29 20:42:51
0

1 Java基础

1.1 三大特性

封装、继承、多态

1.1.1 封装

1.1.2 继承

实例方法可直接调用啥?

实例方法可直接调用本类的类方法。

实例方法不可直接调用超类的实例方法。

实例方法不可直接调用超类的类方法

实例方法不可直接调用其他类的实例方法

note:

实例方法指必须创建对象,再通过对象进行调用的方法。

超类 = 父类。

  • 子类的实例方法需要通过super.方法名对象名.方法名调用父类的实例方法

  • 子类的实例方法需要通过super.方法名类名.方法名调用父类的静态方法

  • 实例方法通过this.方法名调用本类的实例方法

  • 本类的实例方法可以用类名.方法名方法名直接调用本类的类方法(静态方法)

1.1.3 多态

重载:同一个名字的方法有不同的版本,如不同的参数列表、不同的返回类型等。

重写:子类对父类方法的重新实现

多线程

Java线程状态

  1. 初始状态(NEW):线程对象刚被创建出来的状态。

  2. 运行状态(RUNNABLE):指当前线程可以执行,包括就绪态(ready)和运行中(running)。就绪态指正在等待CPU,运行中指已获得CPU使用权。线程对象创建后,调用了该对象的start()方法即可进入运行态RUNNABLE。

  3. 阻塞状态(BLOCKED):线程阻塞于锁

  4. 等待(WAITING):睡死了,需要主动唤醒。调用任意已上锁的对象.wait()

  5. 超时等待(TIMED_WAITING):可理解为休眠态,指定的时间后自动变为运行态。调用线程对象.sleep()

  6. 终止状态(TERMINATED):该线程已经执行完毕。

sleep()和wait()区别-0317-浙江邦盛科技

sleep(int k):休眠k秒,k秒后自动醒来。

线程状态由<运行态RUNNABLE> → <超时等待TIMED_WAITING> → <运行态RUNNABLE>

wait():让线程进入等待。

线程状态由原来的<运行态RUNNABLE>变为<等待WAITING>

  1. sleep() 方法是 Thread 类中的方法,而 wait() 方法是 Object 类中的方法。

  2. sleep() 方法不会释放 lock,但是 wait() 方法会释放,而且会加入到等待队列中。

  3. sleep() 方法不依赖于同步器 synchronized(),但是 wait() 方法 需要依赖 synchronized 关键字。

  4. 线程调用 sleep() 之后不需要被唤醒,休眠结束自动恢复(线程的监控状态依然保持)。但是 wait() 方法需要被重新唤醒(不指定时间需要被别人中断)。

下面哪个Set类是按元素排好序的?-0317-广西电信

A.LinkedHashSet B.TreeSet C.HashSet D.AbstractSet

选B. TreeSet。

  • TreeSet使用二叉树对元素进行排序。

  • LinkedHashSet不排序,原来什么就是什么。

  • HashSet依赖于HashMap,故元素无序。

分布式

框架

Spring

循环依赖-0317

单例模式时:A对象的创建依赖B对象的创建,B对象的创建又依赖于A对象的创建。

原型:A对象的创建依赖B对象的创建,B对象的创建依赖C对象的创建,C对象的创建又依赖于A对象的创建。

解决方法

避免构造注入,因为构造注入是死循环无法解决。

思想:设值注入+提前暴露

Spring通过检查Bean容器,查看对应的Bean对象是否已被创建,如果已被创建,则证明存在循环依赖,提前抛出异常。

事务传播??

Bean生命周期??

SpringMVC

Mybatis

Springboot

MybatisPlus

中间件

Redis

Redis概念

一种缓存中间件

Redis对于Database,就好比内存对于硬盘

Redis主要为了解决大量相同读请求

Redis面临问题

穿透

概念

大量的请求在访问不存在的数据,Redis命中为空,数据库也没有对应数据,数据库查询返回NULL。大量的请求落到数据库,最终导致数据库崩了

解决方法
  1. 规则排除。可以增加一些参数检验,如控制查询的数据范围,提前过滤一部分请求
  2. null值填充。
  3. 一级二级缓存法/布隆过滤器。

击穿

概念

Redis某个热点Key过期失效,导致大量的请求在访问Redis时命中缺失,这些请求进一步落到数据库,导致数据库崩掉

解决方法
  1. 设置热点Key永不过期

  2. 设置锁?

雪崩

概念

Redis大量的热点Key过期失效,大量请求在Redis缓存命中缺失后,落到了数据库,也会导致数据库崩掉

解决方法
  1. 随机过期时间策略,尽量让缓存失效的时间均匀分布。

  2. 设置redis集群和DB集群

JVM

JVM内存模型

GC

Java Web

单点登录

cookie

session

JWT:json web token

什么是跨域?如何解决?

why出现跨域?

  • 出于浏览器的同源策略限制

why需要同源策略?

  • 防止恶意网站获取其它网站的资源

  • 防止恶意网站在自已网站有访问其他网站的权利,以免通过cookie免登,拿到数据。

解决方法

  • nginx反向代理:

计算机网络

应用层

HTTP

HTTP1.0

非持久化连接

一个TCP只能使用一次,意味着每次传输元素对象都要2个RTT,一个用在TCP建立连接,一个用在传输元素对象。

HTTP1.1

持久化连接

非流水线:一个请求一个响应,必须拿到当前请求的响应才能发生下一个请求

流水线:可连续发送请求

HTTP2

HTTP3

端口号改为443

HTTPS

TLS

HTTP长连接?短连接?

短连接(非持久化连接):TCP建立连接后使用一次就断开,见HTTP1.0

长连接(持久化连接):TCP建立连接后可使用多次

数据库

SQL注入

黑客通过特定的输入,使得查询语句倾向于

解决方法

查询检查

索引失效???

相关内容

热门资讯

曼联动真格!锁定“世界最佳主帅... 曼联最近的帅位风波引发了广泛关注,尤其是在鲁本·阿莫林下课之后,红魔正在积极物色新任主帅。根据GIV...
丧失初心,贝壳或正陷入困境循环... 文丨郭小兴编辑丨杜海来源丨新商悟(本文约为900字)曾以“做难而正确的事”为信条的贝壳,有可能正陷入...
门店调改之下业绩继续承压,永辉... 永辉超市年度业绩继续承压。1月12日晚间,永辉超市(601933.SH)发布2025年度业绩预亏的提...
股价暴涨近180%,中国卫星再... 1月12日晚间,中国东方红卫星股份有限公司(中国卫星,600118)再次发布股票交易风险提示公告。这...
出售资产赚了近56亿元,药明康... 1月12日傍晚,药明康德(603259.SH、02359.HK)发布了2025年年报预告,公司第三次...
卫星ETF一个月最高涨74%,... 2026年开年,A股一场“太空主题”资本盛宴正在上演。1月12日,两市成交额突破3.64万亿元创下历...
让信任看得见!无限极“新附近”... 文 | 华商韬略 唐清1月9日,无限极在北京国家体育馆举办了一场别开生面的全球年会。这不仅是一次年会...
航天长峰:目前公司未实际开展脑... 新京报贝壳财经讯 1月12日,航天长峰公告,公司主营业务分为军工电子、公共安全和高端医疗装备三大板块...
蓝色光标:现阶段AI驱动的相关... 1月12日晚间,北京蓝色光标数据科技集团股份有限公司(蓝色光标,300058.SZ)发布异动公告称,...
创业失败的95后北大学霸,去了... 过去的一年,他不仅“脱下了长衫”,甚至开始反思精英主义。文|《中国企业家》记者胡楠楠编辑|米娜图片来...