寒冬期的春招之旅
创始人
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注入

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

解决方法

查询检查

索引失效???

相关内容

热门资讯

玩家必看科普透视挂!神兽透视挂... 玩家必看科普透视挂!神兽透视挂AI工具,神兽多功能好像真的有透视挂工具该软件可以轻松地帮助玩家将神兽...
揭秘透视挂!八戒透视挂AI软件... 揭秘透视挂!八戒透视挂AI软件,八戒多功能本来是真的有透视挂软件八戒脚本下载中分为三种模型:八戒挂靠...
重磅来袭外挂!葫芦岛爱玩麻将外... 重磅来袭外挂!葫芦岛爱玩麻将外挂AI攻略,葫芦岛爱玩麻将多功能确实是真的有外挂攻略1、葫芦岛爱玩麻将...
玩家必看科普辅助器!龙娱辅助器... 玩家必看科普辅助器!龙娱辅助器AIapp,龙娱多功能其实是有辅助器app1、下载好龙娱透视辅助下载之...
玩家必备教程透视挂!众乐乐透视... 玩家必备教程透视挂!众乐乐透视挂AI攻略,众乐乐多功能真是是真的有透视挂攻略1、点击下载安装,众乐乐...
发现玩家透视挂!南京麻将透视挂... 发现玩家透视挂!南京麻将透视挂AI软件,南京麻将多功能果然存在有透视挂软件1、不需要AI权限,帮助你...
分享一款透视器!聚闲游戏透视器... 分享一款透视器!聚闲游戏透视器AI方法,聚闲游戏多功能好像真的有透视器方法1、该软件可以轻松地帮助玩...
一分钟揭秘辅助!会星盟辅助AI... 一分钟揭秘辅助!会星盟辅助AI脚本,会星盟多功能切实是真的有辅助脚本1、该软件可以轻松地帮助玩家将会...
玩家爆料辅助器!杜鹃花辅助器A... 玩家爆料辅助器!杜鹃花辅助器AI攻略,杜鹃花多功能一贯有辅助器攻略亲,关键说明,杜鹃花透视脚本安卓赛...
我来分享辅助器!兴动游戏辅助器... 我来分享辅助器!兴动游戏辅助器AI教程,兴动游戏多功能都是有辅助器教程兴动游戏能透视中分为三种模型:...