程序员面试必备的 Java 八股文,适合所有的 Java 求职者

news2024/10/7 20:35:49

说明

本文分享 Java 后端真实高频面试题,有详细答案,保你稳过面试。题目包括:Java 基础、多线程、JVM、数据库、Redis、Shiro、Spring、SpringBoot、MyBatis、MQ、ELK、SpringCloud、设计模式等。

包含从简单到困难、从高频到低频的题目,适合所有 Java 求职者,包括:应届生、转行的、三年以内经验的、三到五年经验的、五到十年经验的等。

你要跳槽时是否遇到过如下问题?

  • 没有题库,不知道如何开始复习

  • 有题库,但题目超级多,根本看不完

  • 背完题库中的面试题了,却发现面试官的问题大部分都不在题库中,导致面试老是挂,拿不到 offer

此套面试题的特点

  • 这是一套真实、靠谱的题目。它的特点是:

  • 很强大,面试官的问题基本都在这套题里(看过这套题的朋友都说,面试时 85%以上的题目都在这些题目里,成为了 offer 收割机)

  • 真实、靠谱(这套题是我在几十场面试中被面试官问到的问题)

  • 精选、高频(数量合适,很快就能看完)

  • 有难度和频率的标记(着急跳槽的可以只看频率为三颗星及以上的题目)

看过我这篇文章的几个朋友和同事参加了面试后跟我说,他们面试被问到的问题大部分(85%以上)都在这个文章里。

我在面试时经常会遇到这种情况:95%的题目在本文中,我对答如流,不知道面试官是否会怀疑泄题了。这些面试也都很稳地拿到了 offer

难度与频率

面试题采用五角星来评判题目的难度和被问到的频率,最高为五颗星。

如果是三年以上的经验,只看难度为三颗星及以上的题目即可。如果是一两年经验,看个人水平,水平好些的可以看一颗星到五颗星所有题目(我知道有这样的朋友:虽然经验少,但爱学习,一两年的经验拥有普通人四五年的技术能力)

基础(难度:★★★ 频率:★)

String

  • String, StringBuffer, StringBuilder 区别(难度:★ 频率:★★★)

  • String 对象数目(难度:★★★ 频率:★)

  • intern 方法的作用(难度:★★★ 频率:★)

  • 如何修改 String 对象的数据?(难度:★★★ 频率:★★)

static

  • static 的 5 种用法(难度:★★ 频率:★)

  • 为什么静态方法不能调用非静态方法和变量?(难度:★★★ 频率:★★★)

异常

  • 异常类型(难度:★★ 频率:★★★★)

  • catch 里 return 了,finally 是否执行?(难度:★★ 频率:★)

IO

  • 字节流与字符流区别?(难度:★★ 频率:★★)

  • BIO, NIO, AIO 区别?(难度:★★★ 频率:★)

JDK8

  • JDK8 新特性(难度:★★ 频率:★★)

  • JDK8 接口的 default 和 static(难度:★★ 频率:★)

  • JDK8 Stream API 流操作包括哪些部分?项目中怎么用的 Stream?(难度:★★ 频率:★)

语法

  • 项目中对泛型的使用(难度:★★ 频率:★★)

  • 接口与抽象类的区别?(难度:★★ 频率:★)

类库

  • SimpleDateFormat 线程安全吗?怎么保证线程安全?(难度:★★★ 频率:★★★)

反射

  1. Java 反射:forName 和 classLoader 的区别(难度:★★★ 频率:★)

  2. 反射机制中可以获取 private 成员的值吗?(难度:★★★ 频率:★)

  • 可以。法 1.通过 setter 和 getter 获得 法 2:通过 Field 类提供的 set()和 get()方法

  • 另见《Java 开发实战经典 第 2 版》=> 15.4 Java 反射机制的深入应用

其他

  • 拆箱与装箱(难度:★ 频率:★)

集合

List

  • List 与 Set 的区别(难度:★ 频率:★)

  • ArrayList 与 LinkedList 异同点?(难度:★ 频率:★★)

  • List 与数组的区别?(难度:★ 频率:★)

  • ArrayList 是否线程安全?如何线程安全地操作 ArrayList?(难度:★★★ 频率:★★★★★)

  • ArrayList 扩容机制(难度:★★★ 频率:★★★★)

  • List.subList 的坑?(难度:★★ 频率:★)

  • List 如何安全删除(难度:★★ 频率:★)

  • List 如何去重?(难度:★ 频率:★★)

  • List 如何实现排序(难度:★ 频率:★★)

  • 为什么引入迭代器?(难度:★★ 频率:★)

  • List 哪种遍历性能好,为什么?(难度:★★ 频率:★)

Map

1.HashMap、TreeMap、LinkedHashMap 和区别?(难度:★★ 频率:★★★★★)

2.JDK8 的 HashMap 和 ConcurrentHashMap 的改变?(难度:★★ 频率:★★★★)

3.HashMap 数据结构、哈希冲突解决方法(难度:★★★ 频率:★★★★)

4.HashMap 扩容的原理(难度:★★★ 频率:★★★★)

5.HashMap 为什么线程不安全?如何线程安全地操作?(难度:★★★ 频率:★★★★★)

6.ConcurrentHashMap 原理?(难度:★★★ 频率:★★★★★)

7.String 的 hashCode 怎么实现的?(难度:★★ 频率:★)

8.hash:s[0] * 31^(n-1) + s[1] * 31^(n-2) + ... + s[n-1]

9.HashMap 和 HashSet 的区别及其实现原理?(难度:★★ 频率:★)

  • HashMap:将 key.hashCode()作为 hash 值存放,将 value 直接作为 value。

  • HashSet:调用 HashMap 的 put 方法;将 key.hashCode()作为 hash 值存放,将 HashSet 类的 final 变量 PRESENT 作为 value。

10.HashMap 如果使用对象最为 key,要注意什么?(难度:★★ 频率:★)

  • 重写 hashCode 和 equals。

11.对象比较为什么重写 hashCode 和 equals?(难度:★★ 频率:★)

重写 equals 方法时需要重写 hashCode 方法,主要是针对 Map、Set 等集合类型的使用

  • a: Map、Set 等集合类型存放的对象必须是唯一的;

  • b: 集合类判断两个对象是否相等,是先判断 HashCode 是否相等,如果 HashCode 返回 TRUE,还要再判断 equals 返回值是否 ture,只有两者都返回 ture,才认为该两个对象是相等的。

JVM

运行时数据区

  • 运行时数据区是怎样的?线程安全(即线程私有)的有哪些?(难度:★★ 频率:★★★★)

  • 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?(难度:★★ 频率:★★)

类加载

  • Java 类加载流程?初始化流程?(难度:★★ 频率:★★★★★)

  • JVM 双亲委派模型(难度:★★★ 频率:★)

内存泄露

  • Java 内存泄露什么时候会发生?(难度:★★ 频率:★★)

  • 为什么内部类持有外部类可能内存泄露?如何解决?(难度:★★ 频率:★)

  • 为什么 ThreadLocal 会导致内存泄露?如何解决?(难度:★★★ 频率:★★)

垃圾回收

1.引用类型及其含义(难度:★★ 频率:★★★)

2.finalize 方法做什么用的?(难度:★ 频率:★)

  • 垃圾回收时会调用此方法

3.可以作为 GC.Roots 的对象有哪些?(难度:★★★ 频率:★)

4.调用 System.gc()会立刻垃圾回收吗?(难度:★★ 频率:★)

5.Minor GC 和 Full GC 的触发时机。(难度:★★★ 频率:★★)

6.频繁 Full GC 如何排查(难度:★★★★ 频率:★)

7.JDK 默认的垃圾回收器是什么?(难度:★★ 频率:★)

8.CMS 垃圾回收器的流程?(难度:★★★ 频率:★★★★)

9.CMS 和 G1 区别(难度:★★★ 频率:★★★)

10.CMS 与其他老年代垃圾回收器的区别?(难度:★★★ 频率:★)

JVM 调优

  • JVM 通常设置哪些参数来调优?(难度:★★ 频率:★★★★)

其他

  • 怎么分配堆外内存(难度:★★ 频率:★)

多线程

综合

1.项目中哪些地方用到了多线程?(难度:★★★ 频率:★★★★★)

  • 处理定时的任务。 比如:定时器定时处理数据进行统计等

  • 异步处理。 比如:发邮件, 记录日志, 发短信等。比如注册成功后发激活邮件

  • 批量处理,缩短响应时间。比如:SpringBoot--多线程处理

2.线程的安全性问题体现在哪些方面?(难度:★★ 频率:★)

3.死锁产生的条件?(难度:★★ 频率:★)

4.i++是否线程安全?(难度:★ 频率:★)

  • 不是线程安全的。要线程安全可以用 java.util.concurrent.atomic

5.JMM 内存结构(难度:★★★ 频率:★★)

synchronized

  • synchronized 用于静态方法与普通方法有区别吗?(难度:★★ 频率:★★)

  • synchronized 锁的升级是怎样的?(难度:★★★ 频率:★)

线程池

  • 线程池缺点(难度:★★ 频率:★★)

  • BlockingQueue:线程池 fixed, single, scheduled, cached 对应的队列(难度:★★ 频率:★★★)

  • ThreadPoolExecutor 有哪些参数?(难度:★★ 频率:★★★★★)

  • CPU 密集与 IO 密集的场景如何设置线程池参数?(难度:★★★ 频率:★★★)

  • 什么时候触发最大线程条件?(难度:★★ 频率:★★★★★)

  • 线程池拒绝策略有哪些?默认是哪个?(难度:★★ 频率:★★★★)

  • 线程池里的异常时如何处理的?(难度:★★ 频率:★)

JUC

  • ReentrantLock 显著缺点?(难度:★★★ 频率:★★)

  • CAS 和 AQS 了解吗?原理是什么(难度:★★★ 频率:★★)

  • synchronized 与 ReentrantLock 区别?(难度:★★ 频率:★★)

  • 有哪些原子类?用过哪个?(难度:★★★ 频率:★)

  • 项目里用了哪些锁?(难度:★★★ 频率:★★★)

  1. 单体项目里用到了 ReentrantLock、synchronized;

  2. 单例模式里用到了 synchronized

  • JDK8 新增的异步编程了解吗?(难度:★★★ 频率:★)

  • 多线程顺序交替执行的方法(有三个线程 A,B,C,依次打印出 A,B,C)(难度:★★★ 频率:★)

方案 1:Java 多线程-使用堵塞队列实现顺序消费

方案 2:模拟阻塞队列

  • 使用 Object 的 wait(), notify(),使用一个互斥锁。

MySQL

综合问题

  • MyISAM 与 InnoDB 区别(难度:★ 频率:★★★★)

  • sql 注入怎么解决?(难度:★★★ 频率:★★)

  • 三大范式(难度:★★ 频率:★)

  • 怎么样幂等(难度:★★★ 频率:★★)

  • 一条 SQL 查询语句的执行流程(难度:★★ 频率:★★)

  • 大表分页的优化方法?(难度:★★★★ 频率:★)

  • 为什么不要用外键?(难度:★★★ 频率:★)

  • 批量往数据库导入 1000 万条数据方法?(难度:★★ 频率:★)

存储过程

  • 数据库优化方式(难度:★★★ 频率:★)

建立索引、字段冗余(减少联表查询)、使用缓存、读写分离、分库分表

  • 怎么调试存储过程(难度:★★ 频率:★)

  • MySQL 的三种驱动类型 难度:★★ 频率:★)

事务

  • 隔离级别是怎样的?脏读、幻读是什么意思?(难度:★★★ 频率:★★★★★)

  • 隔离级别如何选用?(难度:★★ 频率:★★)

  • ACID(难度:★★ 频率:★)

  • 隔离级别是如何实现的?(MVCC)(难度:★★★★ 频率:★★)

  • 快照读与当前读 是怎样的?(难度:★★★★ 频率:★★)

索引

  • 索引的种类(难度:★★ 频率:★★★)

  • 数据库使用索引的缺点?(难度:★★ 频率:★★★)

  • 创建索引的原则(难度:★★ 频率:★★★★)

  • 索引什么时候会失效(难度:★★ 频率:★★★★★)

  • 创建了 A, B, C 联合索引,使用 B,C 能否索引(难度:★★★ 频率:★★★★★)

  • LIKE 什么时候走索引,什么时候不走索引?(难度:★★★ 频率:★★★)

  • ORDER BY 是否走索引?(难度:★★★ 频率:★★)

  • 聚集索引是什么?什么是回表?(难度:★★★★ 频率:★★★★)

  • 索引原理;为什么采用 B+树?(难度:★★★★ 频率:★)

  • 共享锁与独占锁的区别?(难度:★★ 频率:★)

  • 什么时候会死锁?(难度:★★★★ 频率:★)

分库分表

  • 什么时候考虑分库分表?分库分表要考虑什么问题?(难度:★★★ 频率:★)

  • 原来没分库分表,后期如何分库分表?(难度:★★★★ 频率:★★)

  • 分库分表的中间件(难度:★★ 频率:★★)

Sharding-JDBC、Mycat

  • 水平分表,有哪些规则?(难度:★★★ 频率:★★★★★)

  • 如何维护全局的 id(难度:★★★ 频率:★★★★★)

语句

语句类笔试题(难度:★★★ 频率:★)

OR 与 IN 的效率?(难度:★★★ 频率:★)

内联结,全(外)联结,左联结,右联结,的含义?(难度:★★ 频率:★)

Redis

基本问题

  • Redis 数据类型及其使用场景(难度:★★★ 频率:★★★★★)

  • Redis 的数据类型对应的底层结构是怎样的?(难度:★★★★ 频率:★★★)

  • Redis 为什么很快?(难度:★★ 频率:★★★★★)

  • Redis 是单线程为什么速度依然快?(难度:★★ 频率:★★)

  • Redis 持久化 AOF,RDB 区别(难度:★★ 频率:★★★★)

  • 持久化:长久下来 AOF 文件会很大怎么办?(难度:★★★ 频率:★★)

  • Redis 有哪些原子命令?(难度:★★★ 频率:★)

Redis 所有单个命令都是原子性的。

  • 穿透、无底洞、雪崩、击穿 解决方案?(难度:★★★ 频率:★★★★★)

  • Redis 的发布订阅机制及其使用场景(难度:★★★★ 频率:★★)

  • 内存回收机制是怎样的?(或者说:淘汰策略)(难度:★★★ 频率:★★★★)

  • 给一个 key 怎么知道是用的哪种数据类型?(难度:★ 频率:★)

用 type 命令。例如:type key1

  • 为什么使用 Redis,不用 Memcache 和 MongoDB?(难度:★★ 频率:★★)

  • Redis 与数据库如何同步?各个方式的缺点是什么?(难度:★★★ 频率:★★★)

  • Redis 很慢,如何排查及解决?(难度:★★★★ 频率:★★)

  • 多线程操作同一个 Key 如何保证一致性?(微服务部署多个实例时如何保证一致性?)(难度:★★★★ 频率:★)

  • 秒杀的时候怎么使用 Redis?(难度:★★★★ 频率:★★★)

  • 布隆过滤器原理?什么时候会误判?(难度:★★★★ 频率:★★★)

  • 用 Redis 如何实现延迟队列?(难度:★★★★ 频率:★)

分布式锁

  • Redis 做分布式锁如何处理超时时间?比如:超时时间是 5 秒,但要执行 20 秒,相当于没锁住;超时时间是 20 秒,但只需执行 5 秒(浪费)(难度:★★★★ 频率:★★★)

设置中等长度的时间,线程执行完删除这个值;另起线程,定期去刷新这个值。Redisson 的分布式锁就是这个方案

  • Redis 实现分布式锁,集群环境如何处理主节点宕机这种情况?(难度:★★★★★ 频率:★)

使用 RedLock 红锁算法:若过半的 Redis 节点能够 setnx 成功则表示获取锁成功,类似于 zk 实现分布式锁方式

集群

  • 多节点有哪些部署方式?(难度:★★ 频率:★)

主从、哨兵、集群(Cluster)

  • 集群不支持事务,如何解决?(难度:★★★★ 频率:★)

  • 主从集群中主节点死了以后,是否还能使用?如何解决?(难度:★★★ 频率:★)

可以使用哨兵部署,自动故障转移。

  • 读写分离时读写分别在哪个节点(难度:★★ 频率:★)

在主节点上写,在从节点上读。

集群(Cluster)

  • 集群(Cluster)如何进行节点通信?(难度:★★★★ 频率:★★)

  • 集群(Cluster)如何进行扩展(伸缩)?(难度:★★★ 频率:★★)

  • 集群(Cluster)如何进行故障转移?(难度:★★★★ 频率:★★)

设计模式

  • 项目里用到了哪些设计模式,怎么用的?(难度:★★★ 频率:★★★★★)

  • 设计模式的原则(难度:★★ 频率:★)、

  • 设计模式的类别(难度:★★ 频率:★)

  • 单例模式的写法?(难度:★★ 频率:★★★★)

  • 手写双重检验单例(为什么用 volatile,为什么两次 if 判断)(难度:★★★ 频率:★★★)

  • 静态代理与动态代理区别?(难度:★★★ 频率:★★★★★)

框架

Spring

IOC

  • Spring 循环依赖解决方法及原理(难度:★★★★ 频率:★★★★)

  • Spring 的循环依赖用的是三级缓存,为什么不是两级?(难度:★★★★ 频率:★★)

  • FactoryBean 和 BeanFactory 区别(难度:★★★★ 频率:★★)

  • BeanFactory 和 ApplicationContext 区别?(难度:★★★★ 频率:★)

  • bean 的生命周期是怎样的(难度:★★★ 频率:★)

  • Spring 几种 scope 区别(难度:★★★ 频率:★)

  • Spring 容器的生命周期是怎样的?(难度:★★★ 频率:★)

  • SpringAOP 解决了什么问题?(难度:★★★ 频率:★★)

  • SpringAOP 实际开发过什么功能?(难度:★★★ 频率:★★★)

  • AOP 原理?(难度:★★★★ 频率:★★★★★)

AOP

  • AOP 有哪几种通知,如果方法执行报异常,哪个通知不会执行?(难度:★★★★ 频率:★)

前置,后置,环绕,返回,异常。若报异常,返回不会执行。

事务

  • Spring 默认数据里隔离级别是什么?项目里用的哪个?(难度:★★★ 频率:★★)

默认采用数据库的隔离级别。项目里就是用的默认的

  • Spring 事务失效场景?(难度:★★★★ 频率:★★★★)

  • Spring 事务传播机制?(难度:★★★★ 频率:★★)

其他

  • SpringBoot 如何热部署?yml 配置文件修改后是否也能及时更新?(难度:★★★ 频率:★)

  • SpringBoot 自动配置原理?(难度:★★★★★ 频率:★)

SpringMVC

  • SpringMVC 流程(难度:★★★★ 频率:★★★)

  • servlet 的过滤器、拦截器、AOP 的执行顺序 (难度:★★★ 频率:★★)

SpringBoot

  • SpringBoot 的启动流程?(难度:★★★★ 频率:★★★★)

  • SpringBoot 的动态代理默认用的哪个(cglib 还是 JDK)?(难度:★★★★ 频率:★★★★)

SpringBoot 1.5.x:默认使用 JDK 代理,SpringBoot 2.x:默认使用 CGLIB 代理。

  • 怎么自己写 SpringBootStarter(难度:★★★★ 频率:★)

MyBatis

  • MyBatis 的 #与 $有什么区别?(难度:★★ 频率:★★★★)

  • MyBatis 的原理?(Mapper 是个接口,它的实现类在哪?)(难度:★★★★ 频率:★★)

  • 为什么 MyBatis 与 Spring 整合二级缓存会失效 ?(难度:★★★★ 频率:★)

中间件

MQ

综合

  • RabbitMQ,RocketMQ 和 Kafka 区别(难度:★★ 频率:★★★★★)

RabbitMQ

  • RabbitMQ 有哪些交换器?RabbitMQ 的交换器与队列的关系?(难度:★★ 频率:★★★)

  • RabbitMQ 的消息异常(丢失、重复、顺序、堆积)如何处理?(难度:★★★ 频率:★★★★★)

  • RabbitMQ 消息是否会过期?(难度:★★★ 频率:★★)

  • RabbitMQ 的消息什么时候会放到死信队列?(难度:★★★ 频率:★)

  • RabbitMQ 的延迟队列是怎样的?(难度:★★★ 频率:★★)

  • RabbitMQ 的集群有哪几种部署方式?(难度:★★ 频率:★)

多机多节点,单机多节点

Kafka

  • 为什么 Kafka 性能很高(难度:★★★ 频率:★★★)

  • Kafka 的消息异常(丢失、重复)如何处理?(难度:★★★ 频率:★★★★)

  • Kafka 不支持延迟队列,如果用到延迟队列,该如何实现?(难度:★★★★★ 频率:★★★)

Shiro

  • Shiro 怎么根据 url 对应权限,流程是什么?(难度:★★★ 频率:★★★)

  • session 存放在哪里?(难度:★★ 频率:★)

分布式

综合

分布式

  • CAP 理论是什么?Zookeeper 和 Eureka 分别放弃了什么?(难度:★★★ 频率:★★★)

  • 分布式锁实现方式(难度:★★★ 频率:★★★★★)

  • 2PC、3PC、TCC 的区别及使用场景?(难度:★★★★ 频率:★★)

  • 分布式 session 共享解决方案(难度:★★★ 频率:★★)

  • 为什么微服务一定要有网关?(难度:★★★ 频率:★)

配置中心

  • 如何把微服务的公共配置给拿出来?(难度:★★ 频率:★)

  1. 用 spring.profiles.include,将公共的配置包含进去。

  2. 使用 Nacos,Nacos 支持公共配置

Nacos

  • Nacos 如何续期?(难度:★★★ 频率:★★)

  • Nacos 支持 AP 还是 CP?(难度:★★★ 频率:★★)

两者都支持,选一种即可。(默认是 AP)

Zookeeper

Zookeeper 注册中心挂了,服务还能否调用?(难度:★★★ 频率:★★)

  • 可以,因为客户端还有缓存

ZK 分布式锁,leader 节点宕机了,会发生什么?(难度:★★★★ 频率:★)

  • 进行选举(过半选举)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EF Core中Partition by实现

一、SQL语句实现 Partition by是SQL Server数据库中提供的分区函数,跟Group by不同的是,Partition by能够按照分区返回所有记录,而Group by只能返回一条记录。 举个例子,有如下的数据库,需要找出每个唯一编号最新状态的数据。 显然,CW048201和CW048202它们的最新状态都…

靠着这套Github标星55K的Java面试笔记,成功拿到了2个大厂offer

作为一名优秀的程序员,技术面试是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 如果你参加过一些大厂面试,肯定会遇到一些这样的问题: 1、看你项目都用的框架,熟悉S…

Linux 环境下Docker将镜像打包导出到本地,上传至内网服务器(八)

文章目录 背景1. docker容器打包成镜像和压缩(1)首先查看镜像所在的容器,获取到容器id(2)将容器保存成镜像(3)将镜像打包(4)将镜像包压缩 2. docker镜像压缩包解压及镜像…

2023最新发布:Java 面试突击大全 带你摸熟 20+ 互联网公司面试考点

对于程序员来说,春招的失利意味着在金九银十要打一场“硬战”,可又有多少人做好了面试的准备呢?对于一线互联网公司的面试,你又了解多少呢? 今天,一本《Java 面试考点大全》全网首发,带你摸熟 …

阿里8年,肝到P7只剩这份笔记了,帮朋友拿了7个Offer....

时光飞逝,转眼间在阿里工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P7也费了不少心思 我的职业生涯开始和大多数测试人一样,刚开始接触…

大话设计模式——享元

享元(Flyweight) Intent 利用共享的方式来支持大量细粒度的对象,这些对象一部分内部状态是相同的。 Class Diagram Flyweight:享元对象IntrinsicState:内部状态,享元对象共享内部状态ExtrinsicState&am…

【架构设计】单点登录实现技术方案

序言 你只管努力,其他交给时间,时间会证明一切。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点 1 基本介绍 1.1 什么是单点登录 单点登录&am…

命令模式(十七)

相信自己,请一定要相信自己 上一章简单介绍了模板模式(十六), 如果没有看过, 请观看上一章 一. 命令模式 定义:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通, 这样方便…

智能锁语音芯片方案,NV170D-SOP8九芯电子自主研发

随着智能家居市场的不断壮大,智能门锁已经成为越来越多家庭不可或缺的一部分。传统的机械锁门的开锁方式已经无法满足人们对安全和便捷性的需求。而电子锁门随着技术的不断突破,拥有了更为丰富的功能和更高的安全性。 但是,目前市场上有那么…

1.4.2:DHTMLX JS 看板 DHTMLX JS Kanban Board Crack

用于任务管理应用 程序的 敏捷 JavaScript 看板,使用 DHTMLX JavaScript 看板库开发成熟的 Web 应用程序,以获得对工作量的完全控制并有效地管理任务。 开始使用 DHTMLX JS 看板 DHTMLX 看板允许创建任意数量的任务并通过右侧面板编辑它们。用户可以编…

uCOSii的任务延时和软件定时器

uCOSii的任务延时和软件定时器 1、心跳节拍 操作系统的心跳节拍称为一个Tick。uCOSii中有一个专用的心跳节拍函数:OSTimeTick(),每调用一次,系统时间计数器OSTime计数器就会加1次。为了能调用这个心跳节拍函数,我们使用CPU的滴答…

极致呈现系列之:Echarts地图的浩瀚视野(二)

今天我将基于上一个博客讲到的Echarts地图的相关知识,来实现一个三维地图的效果,我将通过两种方式来实现,一种是伪3D效果的中国地图效果,为什么说是伪3D效果呢,跟着做完你就明白了;一种是真正的三维效果中国…

Eclipse添加Spket插件实现ExtJs智能提示

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、使用步骤1.解压Spket插件2.重启 Eclipse3.配置 Spket4.添加 Library5.添加 File6.将 extjs 设置为 Default7.将 *.js 文件的默认编辑器设置为 Spket JavaSc…

本地连接服务器搭建的 Redis 集群

本地连接服务器搭建的 Redis 集群 在实际运行测试中,存在两个问题 安全组或防火墙开放端口 主要开放10000端口。如果要连接 Redis集群的应用服务不和 Redis集群在一个局域网下,会出现连接异常。 第一个问题检查防火墙或安全组就可以解决,第…

我为开放原子全球开源峰会助力

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

Linux运维监控学习笔记1

1. 监控系统的概念: 监控系统,将所有需要监控的服务器及其各种各种需要的状态数据都实时地收集,并图形化地展示,并可以进行报警,让机器主动及时地与人沟通。 2. 为什么要监控? 答:实时地收集数…

练习:逻辑回归

练习2:逻辑回归 介绍 在本练习中,您将实现逻辑回归并将其应用于两个不同的数据集。还将通过将正则化加入训练算法,来提高算法的鲁棒性,并用更复杂的情形来测试模型算法。 在开始练习前,需要下载如下的文件进行数据上…

【开发细节】SpringBoot配置文件的spring.profiles下的active和include属性的区别和作用

目录 问题作用spring.profiles.activespring.profiles.include 总结 问题 我们经常在项目的application.yml中看到这样的配置,如下: 在 Spring Boot 中,spring.profiles.active 和 spring.profiles.include 属性都是用来配置 profile 的。 …

C++设计模式之单例模式(Singleton)

文章目录 定义前言1. 问题2. 解决方案 适用场景实现方式优点缺点与其他模式的关系懒汉单例模式代码1. 线程不安全的懒汉单例模式2. 线程安全的懒汉单例模式 饿汉单例模式代码Meyers Singleton优点:缺点: 定义 单例是一种创建型设计模式,让你…

从“五个女博士”事件,论品牌广告营销的正确姿势

【潮汐商业评论/原创】 “她经济”是一片浩浩荡荡又风云变幻的海,“美”则是其中贯穿女性一生的课题,如果说这两年这个课题有什么变化,那就是从“女为悦己者容”到“女为自己容”,女性追求美的出发点早就不再是取悦他人“服美役”…