JavaScript
JavaScript是一种轻量级、解释型或者说即时编译型的编程语言, [20]广泛应用于网页开发中,主要用于增强网页的交互性和动态性。作为Web开发的核心技术之一,它与HTML和CSS共同协作,HTML负责定义网页的内容结构,CSS处理样式和布局,而JavaScript则控制网页的行为和交互。
js的事件循环机制
js是单线程的,会出现阻塞问题。
比如说网络请求和 settimeout ,它通过异步来做的,若都用异步则会放在队列里面,异步队列没有优先级,所以为了更灵活增加了事件循环
事件循环:
js是单线程,有同步任务和异步任务,一般是异步任务又分为微任务和宏任务
先执行同步任务队列,再执行微任务队列,之后再执行宏任务,每执行一次宏任务时会时时检测微任务队列有没有任务,若有则会先清空微任务队列,执行完了,再去执行下一个宏任务。
运行机制:
单线程,从上到下按顺序执行代码。运行的两个阶段:
**预解析:**把所有的函数定义提前,所有的变量声明提前,变量的赋值不提前
**执行:**从上到下执行(按照js运行机制)
javascript的数据类型
Boolean、null、String、 ...
VUE
款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,可以高效地开发用户界面。无论是简单还是复杂的界面,Vue都可以胜任。
基础
对于MVVM的理解?
MVVM 是 Model-View-ViewModel 的缩写
MVVM 的设计原理是基于 MVC 的
Model代表数据模型 ;View 代表UI 组件视图;ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步 View 和 Model 的对象,连接 Model 和 View
优势:vue 和 mode 之间是双向数据传递的,视图改变数据就可以改变,数据改变了视图也跟着改变
Vue的生命周期
生命周期:Vue 实例从创建到销毁的过程,就是生命周期。从开始创建、初始化数据、编译模板、挂载 Dom →渲染、更新→渲染、销毁等一系列过程,称之为 Vue 的生命周期。
vue 生命周期的作用:它的生命周期中有多个事件钩子,在控制整个 Vue 实例的过程时更容易形成好的逻辑。
vue 生命周期总共有 8 个阶段:创建前/ ...
前端基础
前端技术是Web应用开发中基于浏览器的程序开发,涵盖HTML、CSS和JavaScript等基础技术,并通过BOM、DOM实现用户交互。该技术以HTML、CSS、JavaScript为核心基础,通过DOM与BOM实现动态页面控制。
HTML5的新特性和CSS3的新特性
HTML5的新特性
语义化标签 :header、nav、 aside、footer、article、section 等。可以更清晰地描述网页的结构和内容,提高网页的可读性和可访问性,利于搜索引擎优化(SEO)。
**表单控件验证功能:**如日期选择器、颜色选择器、滑块等,表单更加易用,同时内置表单验证功能,减少了验证代码的编写量。
多媒体支持: video audio等
CSS3的新特性
改善布局和样式: 如边框圆角、边框阴影、渐变、文本装饰
动画和过渡: transition 属性和 @keyframes 规则制定动画效果
多列布局和弹性盒子布局
媒体查询: 不同屏幕的尺寸使用不同的css
自定义字体和背景
**网格布局 :*上下居中水平对齐方式display: grid; place-items: center ...
JVM 优化
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
参考文章:
什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置
【JVM调优】如何进行JVM调优?一篇文章就够了!
大厂面试提问方式诊断分析工具:
JVM诊断调优工具用过哪些?
JVM相关的分析工具使用过的有哪些?具体的性能调优步骤如何
调优:
如何进行JVM调优?有哪些方法?
JVM性能调优都做了什么?
有做过JVM内存优化吗?
如何对垃圾回收器的性能进行调优?
从SQL、JVM、架构、数据库四个方面讲讲优化思路
JVM如何调优、参数怎么调?
堆内存、栈空间设置多少合适
每秒几十万并发的秒杀系统为什么会频繁发生GC?
日均百万级交易系统如何优化JVM?
生产环境调优:
线上生产系统OOM如何监控及定位与解决?
高并发系 ...
JVM
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
参考文章:什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置
JVM基本介绍Java是一个跨平台的语言,因为它是运行在Java虚拟机上(JVM)的。
在Java程序的实际编译、运行过程中,编译器将Java源代码编译成字节码文件后,JVM将字节码翻译成特定平台的机器码运行程序。
实际上,Java是跨平台的,JVM不是跨平台的,在Linux、windows等系统中安装对应版本的JVM后,同一个Java代码在这些JVM上运行,从而起到跨平台的效果。
JVM 、JDK 、JRE、Java 的区别JVM是Java虚拟机,JRE是Java运行环境,JDK是个Java开发的工具包,Java是门编程语言
JVM :(Java Virtual Ma ...
Kafka and Zookeeper
kafka的诞生,是为了解决linkedin的数据管道问题,起初linkedin采用了ActiveMQ来进行数据交换,大约是在2010年前后,那时的ActiveMQ还远远无法满足linkedin对数据传递系统的要求,经常由于各种缺陷而导致消息阻塞或者服务无法正常访问,为了能够解决这个问题,linkedin决定研发自己的消息传递系统,当时linkedin的首席架构师jay kreps便开始组织团队进行消息传递系统的研发。
参考原文:Kafka集群部署实战
KafkaKafka 是一种高性能的分布式消息队列系统,通过合理的配置和管理,可以有效地利用 Kafka 的特性,满足企业对大规模数据流处理的需求。在部署和使用 Kafka 集群时,需要注意网络配置、主机名解析等问题,以确保集群的稳定运行。
Kafka是什么?Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache开源项目。Kafka主要用于构建实时数据管道和流应用,具有高吞吐量、低延迟和可扩展性等特点。Kafka的核心功能包括:
消息发布与订阅:Kafka允许应用程序发布和订阅消息流。
分布式 ...
ActiveMQ
ActiveMQ是Apache下的一个子项目。使用Java完全支持JMS1.1(Java Message Service)和J2EE 1.4规范的 JMS Provider实现,少量代码就可以高效地实现高级应用场景,ActiveMQ是消息队列服务,是面向消息中间件(MOM)的最终实现,它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。可插拔的传输协议支持,比如:in-VM, TCP, SSL, NIO, UDP, multicast, JGroups and JXTA transports。RabbitMQ、ZeroMQ、ActiveMQ均支持常用的多种语言客户端 C++、Java、.Net,、Python、 Php、 Ruby等。
参考文章:
ActiveMQ介绍
ActiveMQ消息队列:从入门到Spring Boot实战
ActiveMQ 介绍ActiveMQ 架构在ActiveMQ中,生产者(Producer)发送消息到Queue或者Topic中,消费者(consumer)通过ActiveMQ支持的传输协议连接到ActiveMQ接受消息并做处理。
生产者(P ...
RocketMQ
RocketMQ是阿里系下开源的一款分布式、队列模型的消息中间件,原名Metaq,3.0版本名称改为RocketMQ,是阿里参照kafka设计思想使用java实现的一套mq。同时将阿里系内部多款mq产品(Notify、metaq)进行整合,只维护核心功能,去除了所有其他运行时依赖,保证核心功能最简化,在此基础上配合阿里上述其他开源产品实现不同场景下mq的架构,目前主要多用于订单交易系统。
参考文章:
RocketMQ 详解
RocketMQ 的使用
RocketMQ 工作原理
RocketMQ介绍及部署
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JavaEE架构中取代CMP,完成数据持久化的重任。
为什么要使用 hibernate?
hibernate 是对 jdbc 的封装,大大简化了数据访问层的繁琐的重复性代码。
hibernate 是一个优秀的 ORM 实现,很大程度上简化了 DAO 层的编码功能。
可以很方便的进行数据库的移植工作。
提供了缓存机制,使程序执行更改的高效。
什么是 ORM 框架?
ORM(Object Relation Mapping)对象关系映射,是把数据库中的关系数据映射成为程序中的对象。
**使用 ORM 的优点:**提高了开发效率降低了开发成 ...
Spring Cloud
Spring Cloud是一系列框架的有序集合。它利用[Spring Boot](https://baike.baidu.com/item/Spring Boot/20249767?fromModule=lemma_inlink)的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。参考链接:服务注册与发现原理、掌握 SpringCloud OpenFeign 核心原理、微服务间的远程接口调用:OpenFeign 的使用
参考文章:
【Springcloud】路由网关GateWay
SpringCloud Gateway鉴权和跨域解决方案、全局认证鉴权
java 自定义注解 权限拦截
基础信息概念spring cloud 是一系列框架的有序集合。利用 spring boot 的开发便利性简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。
分布式、微服务 ...




