置顶文章

1.9k 2 分钟

# 公告 目前本博客手机端界面还未完善,推荐使用电脑访问本博客. 评论提醒功能又出现了些状况,并且最近有些忙,评论回复可能不及时,见谅!!! 本网站大量依赖 jsDelivr , 请掌握科学上网方式以获得良好的阅读体验 # 活动 (function($){ $.fn.snow = function(options){ var $flake = $('').css({'position': 'absolute','z-index':'9999', 'top':...

精选分类

文章列表

1.7k 2 分钟

9 月份了,也到了秋招的黄金时间 现在咱目前的状态就是 面试 --> 发现不足 --> 学习 学习 --> 学累了 --> 投递简历 投简历累了 --> 学习 / 面试 整个人处于一个十分紧绷的状态,不过在紧绷之余,不禁对薪资有了些思考 年薪 20W 真的很高吗? 就拿一般的互联网厂举例,薪资十分高,但大部分是 996 和大小周,工作时长也十分高 而除了互联网厂,也存在些普通公司,薪资条件并不可观,但没有 996, 也就是说工作时长并不高 当然,如果公司给钱不多还加班,这不得赶紧跑 因此,我们可以用时薪来量化下...
1.2k 1 分钟

由于众所周知的原因,国内访问 Github pages 较慢,十分影响博客访问体验 不过好在 CDN 技术可以很好的缓解这个问题 什么是CDN CDN,全称为内容分发网络(Content Delivery Network),是一种通过在全球各地部署的服务器来缓存和分发内容的技术。其主要目的是加速用户访问速度、提高网站可用性和降低带宽成本。以下是 CDN 的主要功能和优势: 主要功能 内容缓存: CDN 会将网站的静态资源(如图片、视频、CSS、JavaScript...
21k 19 分钟

# 项目介绍 # 产品定位 为餐饮企业定制的一款软件产品 # 产品架构 # 管理端 员工管理 分类管理 菜品管理 套餐管理 订单管理 工作台 数据统计 来单提醒 # 用户端 微信登录 商品浏览 购物车 用户下单 微信支付 历史订单 地址管理 用户催单 # 技术选型 # 用户层 node.js VUE.js ElementUI 微信小程序 apache echarts # 网关层 Nginx # 应用层 Spring Boot Spring MVC Spring Task httpclient Spring Cache JWT 阿里云...
795 1 分钟

# 前言 在实习过程中,有一个故事单需要完成,具体为将当前项目的全局搜索由只能搜索一个关键词改为能搜索用空格分隔的多个关键词。 经阅读代码,该项目实现搜索是由 Elastic Search 简称 ES 的中间层完成的。 # 什么是 ES Elasticsearch 是一个基于 Lucene 的开源搜索引擎,具有高扩展性和分布式特性。它可以实时地存储、搜索和分析大量数据。 主要特点 分布式: Elasticsearch 可以扩展到上百台服务器,处理 PB...
5.7k 5 分钟

在实习过程中,首先要熟悉所在组所做的项目,而单元测试就是一个比较好的方法。 # 什么是单元测试 单元测试( Unit Testing )是软件开发中的一种测试方法,旨在验证代码中最小可测试单元(通常是函数、方法或类)的正确性。它的主要目的是确保每个单元在各种情况下都能按预期工作,从而及早发现和纠正错误。 # 单元测试的特点 独立性:单元测试通常是独立的,不依赖于其他部分的代码。 自动化:单元测试可以通过自动化工具运行,减少人为错误。 快速反馈:由于测试范围小,单元测试能够快速提供反馈,帮助开发者及时修复问题。 #...
491 1 分钟

# JAVA 继承时父子类的初始化顺序是怎样的 具体顺序如下 父类 -- 静态变量 父类 -- 静态初始化块 子类 -- 静态变量 子类 -- 静态初始化块 父类 -- 变量 父类 -- 初始化块 父类 -- 构造器 子类 -- 变量 子类 -- 初始化块 子类 -- 构造器 总结如下:静态优于非静态,父类优于子类,变量优于初始化块优于构造器 # JVM 的双亲委派模型 为什么设计,有何好处 确保安全,避免 JAVA 核心类库被修改 避免重复加载 保证类的唯一性 可以打破双亲委派模型吗?如何打破? 可以。自定义一个类加载器,重写其中的 loadClass...
845 1 分钟

# ThreadLocal 底层如何实现 ... # ThreadLocal 为什么会内存泄露 ThreadLocal 是一个类似 HashMap 的数据结构 ThreadLocal 的实现原理就是通过 set 把 value set 到线程的 threadlocals 属性中,threadlocals 是一个 Map, 其中 key 是 ThreadLocal 的 this 引用,value 是我们 set 的值 # sleep () 和 wait ()...
1.2k 1 分钟

# HashMap 底层如何实现 以上为整体类继承结构 主要特点 数据以键值 (kay-value) 对方式储存的一个集合容器 key 不重复 可以使用 null 的键和 null 的值 不保证 key-value 映射的顺序 非线程安全实现 数据结构 JDK1.7: 数组 + 链表 JDK1.8: 数组 + 链表 + 红黑树 HashMap 性能参数 q 初始容量 capacity: 创建数组的长度默认是 16, 如果太少,很容易触发扩容,如果太多,遍历数组会比较慢 负载因子 loadFactor: 一个衡量的尺度,数组长度达到多少的时候触发数组自动扩容,默认为...
533 1 分钟

# MyBatis 框架如何实现分页 分页分为两种 逻辑分页:将所有数据查出来,再在内存中进行分页处理 物理分页:直接在数据库中进行分页 具体实现: 自己写 SQL 进行分页 (物理) 使用拦截器进行分页 (物理) 使用 PageHelper 进行分页 (物理) 使用 RowBounds 进行分页 (逻辑) # MyBatis 框架里面的缓存机制 MyBatis 中有两级缓存:一级缓存,二级缓存 (都是 HashMap) 一级缓存失效的几种情况 不同的 SqlSession 对应不同的一级缓存 同一个 SqlSession 但是查询条件不同 同一个 SqlSession...
1.3k 1 分钟

# java 线程池有哪些核心参数,分别有什么作用 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor( 8,//corePoolSize 线程池中的核心线程数量 16,//maximumPoolSize 60,//keepAliveTime TimeUnit.SECONDS,//keepAlive 的时间单位 new ArrayBlockingQueue<Runnable>(1024),// 任务队列 Executors.defaultThreadFactory(),//...