摘要: springboot常见问题 SpringBoot 常见问题分析 HikariCP 常见问题分析 MyBatis常见问题分析 Spring 常见问题分析 thymeleaf 常见问题分析 Ajax 常见问题分析 Summary 本小节主要希望提高同学们对问题的思考,分析以及解决问题的能力,并对问题进行总结,沉淀,形成经验和习惯。 阅读全文
posted @ 2022-08-10 22:50 sugeek 阅读(28) 评论(0) 推荐(0)
摘要: 高并发的基本表现为单位时间内系统能够同时处理的请求数, 高并发的核心是对CPU资源的有效压榨。 举个例子,如果我们开发了一个叫做MD5穷举的应用,每个请求都会携带一个md5加密字符串,最终系统穷举出所有的结果,并返回原始字符串。这个时候我们的应用场景或者说应用业务是属于CPU密集型而不是IO密集型。这个时候CPU一直在做有效计算,甚至可以把CPU利用率跑满,这时我们谈论高并发并没有任何意义。(当然,我们可以通过加机器也就是加CPU来提高并发能力,这个是一个正常猿都知道废话方案,谈论加机器没有什么意义,没有任何高并发是加机器解决不了,如果有,那说明你加的机器还不够多!🐶) 阅读全文
posted @ 2022-08-10 22:44 sugeek 阅读(75) 评论(0) 推荐(0)
摘要: Dubbo入门 ① 当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点压力也越来越大。 ② 当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。 ③ 接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器? 为了解决这由于架构的演变所产生的问题几个问题,于是,dubbo 产生了。当然,解决这个问题的技术不止 dubbo 。 阅读全文
posted @ 2022-08-10 22:21 sugeek 阅读(33) 评论(0) 推荐(0)
摘要: Vue面试题一 前言 作为前端开发中现行最火的框架之一,Vue 在面试中出现的频率不断增加。基于此,总结了一些 Vue 方面经常出现的面试题,留给自己查看消化,也分享给有需要的小伙伴 感兴趣的小伙伴也可以点击 这里,查看前端方面的其他面试题,欢迎 star 关注 如果文章中有出现纰漏、错误之处,还请看到的小伙伴留言 阅读全文
posted @ 2022-08-10 14:00 sugeek 阅读(33) 评论(0) 推荐(0)
摘要: Vue与微信小程序的区别比较 一、生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多。 vue的钩子函数在跳转新页面时,钩子函数都会触发,但是小程序的钩子函数,页面不同的跳转方式,触发的钩子并不一样。 onLoad: 页面加载一个页面只会调用一次,可以在 onLoad 中获取打开当前页面 阅读全文
posted @ 2022-08-10 12:46 sugeek 阅读(161) 评论(0) 推荐(0)
摘要: webpack原理 在了解 Webpack 原理前,需要掌握以下几个核心概念,以方便后面的理解: Entry:入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。 Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。 Chunk:代码块,一个 Chunk 由多个模块组合而成,用于代码合并与分割。 Loader:模块转换器,用于把模块原内容按照需求转换成新内容。 Plugin:扩展插件,在 Webpack 构建流程中的特定时机会广播出对应的事件,插件可以监听这些事件的发生,在特定时机做对应的事情。 阅读全文
posted @ 2022-08-10 12:42 sugeek 阅读(294) 评论(0) 推荐(0)
摘要: JS运行机制 浏览器器内核拿到内容后,渲染大概可以划分成以下几个步骤: 解析html建立dom树 解析css构建render树(将CSS代码解析成树形的数据结构,然后结合DOM合并成render树) 布局render树(Layout/reflow),负责各元素尺寸、位置的计算 绘制render树(paint),绘制页面像素信息 浏览器会将各层的信息发送给GPU,GPU会将各层合成(composite),显示在屏幕上。 阅读全文
posted @ 2022-08-10 12:16 sugeek 阅读(72) 评论(0) 推荐(0)
摘要: 跨域问题 同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。 同源的定义 如果两个 URL 的 protocol、port (en-US) (如果有指定的话) 和 host 都相同的话,则这两个 URL 是同源。这个方案也被称为“协议/主机/端口元组”,或者直接是 “元组”。 同源策略控制不同源之间的交互,例如在使用XMLHttpRequest 或 标签时则会受到同源策略的约束。这些交互通常分为三类: 跨源写操作(Cross-origin writes)一般是被允许的。例如链接(links),重定向以及表单提交。特定少数的 HTTP 请求需要添加预检请求。 跨源资源嵌入(Cross-origin embedding)一般是被允许(后面会举例说明)。 跨源读操作(Cross-origin reads)一般是不被允许的,但常可以通过内嵌资源来巧妙的进行读取访问。 阅读全文
posted @ 2022-08-10 12:08 sugeek 阅读(20) 评论(0) 推荐(0)
摘要: Redis为什么这么快 edis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(String),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hyperloglogs 和地理空间(Geospatial)索引半径查询。其中常见的数据结构类型有:String、List、Set、Hash、ZSet这5种。 阅读全文
posted @ 2022-08-10 12:01 sugeek 阅读(57) 评论(0) 推荐(0)
摘要: 初级PHP面试题 说几个你所知道的设计模式 单例模式 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接 - 类似DB类 策略模式 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作 - 类似不同用户呈现不同效果 注册模式 提供 阅读全文
posted @ 2022-08-10 11:53 sugeek 阅读(74) 评论(0) 推荐(0)
摘要: Docker入门 Google 在很久之前就开始使用容器模型来解决 VM 模式的弊端。简单来说容器模型允许我们在同一台主机上运行多个容器,而且共用主机的 CPU、RAM 等资源。 那么它对开发者来说意味着是么呢? 它可以保证对所有的开发者和服务器来说,我们的工作环境都是一致的。比如: 生产环境、仿真环境、测试环境。 任何人都可以分分钟配置好项目,无需乱搞配置、安装库和设置依赖。 简单来说,docker 是一个平台,它允许我们使用容器来开发、部署、运行应用程序。 阅读全文
posted @ 2022-08-10 11:42 sugeek 阅读(36) 评论(0) 推荐(0)
摘要: Tomcat知识 Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。 如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序 阅读全文
posted @ 2022-08-10 11:14 sugeek 阅读(99) 评论(0) 推荐(0)
摘要: 前端资源汇集 综合类 综合类 地址前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.html前端知识结构 https://github.com/JacksonTian/fks前端知识体系 http://www.cnblogs.com/sb19871023/p/3 阅读全文
posted @ 2022-08-10 11:03 sugeek 阅读(107) 评论(0) 推荐(0)
摘要: 了解JVM JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。 阅读全文
posted @ 2022-08-10 01:18 sugeek 阅读(43) 评论(0) 推荐(0)
摘要: 浏览器页面渲染机制 结论: 浏览器工作流程:构建DOM -> 构建CSSOM -> 构建渲染树 -> 布局 -> 绘制。 CSSOM会阻塞渲染,只有当CSSOM构建完毕后才会进入下一个阶段构建渲染树。 通常情况下DOM和CSSOM是并行构建的,但是当浏览器遇到一个不带defer或async属性的script标签时,DOM构建将暂停,如果此时又恰巧浏览器尚未完成CSSOM的下载和构建,由于JavaScript可以修改CSSOM,所以需要等CSSOM构建完毕后再执行JS,最后才重新DOM构建。 阅读全文
posted @ 2022-08-10 01:15 sugeek 阅读(208) 评论(0) 推荐(0)
摘要: Java锁 从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁 从资源已被锁定,线程是否阻塞可以分为 自旋锁 从多个线程并发访问资源,也就是 Synchronized 可以分为 无锁、偏向锁、 轻量级锁 和 重量级锁 从锁的公平性进行区分,可以分为公平锁 和 非公平锁 从根据锁是否重复获取可以分为 可重入锁 和 不可重入锁 从那个多个线程能否获取同一把锁分为 共享锁 和 排他锁 阅读全文
posted @ 2022-08-10 01:12 sugeek 阅读(232) 评论(0) 推荐(0)
摘要: Java最新面试题汇总,希望这些文字对于面试的你们有帮助。 基础面试题 Java面试题-基础篇一 Java面试题-基础篇二 Java面试题-集合框架篇三 Java基础面试题(4) Java基础面试题(5) Java多线程与并发面试题 Java中高级面试题【第一部分】 Java中高级面试题【第二部分】 阅读全文
posted @ 2022-08-10 01:12 sugeek 阅读(24) 评论(0) 推荐(0)
摘要: MySQL重要知识点/面试题总结 MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。MySQL的默认端口号是3306。 阅读全文
posted @ 2022-08-10 01:09 sugeek 阅读(46) 评论(0) 推荐(0)
摘要: 从本章开始,我们正式进入Java多线程进阶篇的学习。初学者通过基础篇的学习,应该已经对多线程的初步使用有了基本概念和掌握。多线程这块知识的学习,真正的难点不在于多线程程序的逻辑有多复杂,而在于理清J.U.C包中各个多线程工具类之间的关系、特点及其使用场景(从整体到局部、高屋建瓴,这对学习任何知识都至 阅读全文
posted @ 2022-08-10 01:06 sugeek 阅读(52) 评论(0) 推荐(0)
摘要: Spring AOP 实战 看了上面这么多的理论知识, 不知道大家有没有觉得枯燥哈. 不过不要急, 俗话说理论是实践的基础, 对 Spring AOP 有了基本的理论认识后, 我们来看一下下面几个具体的例子吧.下面的几个例子是我在工作中所遇见的比较常用的 Spring AOP 的使用场景, 我精简了 阅读全文
posted @ 2022-08-10 01:04 sugeek 阅读(140) 评论(0) 推荐(0)