自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Darcy的专栏

Java后端,Vue前端

  • 博客(35)
  • 收藏
  • 关注

转载 Threadlocal配合线程池使用产生的问题

threadlocal和线程池一起产生内存泄漏的问题应该注意

2022-07-13 16:09:23 1653

转载 解决高并发下System.currentTimeMillis卡顿写工具类SystemClock

高并发下获取系统当前时间的解决方案

2022-06-29 10:49:52 625

原创 分布式系统的CAP原则和BASE理论

CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。Consistency(一致性):即更新操作成功并返回客户端后,所有节点在同一时刻的数据完全一致;从客户端来看,一致性指的是并发访问时更新过的数据如何访问获取的问题;从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致性。Availability(可用性):保证每个请求..

2022-05-05 20:00:55 283

转载 NoClassDefoundError 和 ClassNotFoundException 区别

ClassNotFoundException发生在装入阶段。当应用程序试图通过类的字符串名称,使用常规的三种方法装入类,但却找不到指定名称的类定义时就抛出该异常。NoClassDefFoundError: 当目前执行的类已经编译,但是找不到它的定义时也就是说你如果编译了一个类B,在类A中调用,编译完成以后,你又删除掉B,运行A的时候那么就会出现这个错误加载时从外存储器找不到需要的class就出现ClassNotFoundException连接时从内存找不到需要的class就出现NoClass

2022-05-05 10:34:56 2234

原创 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值

一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值 比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1; {3,6}{2,4,3} m=2 {3,3}{2,4}{6} m=3 所以m的最大值为3public class SubArrayEqual { static int testShare(int[]a,int n,int m,int sum,int groupSum,int[] aux,int goal,int groupI...

2022-05-04 17:02:46 1308

转载 多线程环境下为什么会有线程不安全

目录什么是线程安全一、原子性二、可见性三、有序性我们知道进程是操作系统资源分配(包括cpu、内存、磁盘IO等)的最小单位,线程是CPU调度的最小单位一个进程可以有多个线程,但至少有一个线程;而一个线程只能在一个进程的地址空间内活动。内存资源分配给进程,同一个进程的所有线程共享该进程所有资源。而CPU分配给线程,即真正在处理器运行的是线程。单核cpu:实现多进程依靠于操作系统的进程调度算法,比如时间片轮转算法,比如有3个正在运行的程序(即三个进程),操作系统会让单核cpu轮流来运行

2021-05-09 23:36:30 296

转载 Connection实例是线程安全的吗

关于JDBC中关于Connection的两个疑问:1.Connection实例是线程安全的吗? 即一个connection实例,在多线程环境中是否可以确保数据操作是安全的?private static Connection connection; 上述代码,设计会不会有问题? 一个Connection实例,即对应底层一个TCP链接,有些开发者可能考虑到"性能",就将代码写成上述样式,最终一个application中所有的DB操作,使用一个connection.确实减少...

2021-05-09 23:20:35 591

原创 防抖函数在react hooks中的实现

一、起因lodash在react hooks中没成功,每次react函数调用都会产生一个新的函数实例,timer计时器每次都是新的二、自己动手写在搞清楚debounce函数的原理之后,自己总结网上的写法实现了一版如下 /** * @desc: 防抖函数 * @param {*} fn * @param {*} delay */function useDebounce(fn: Function, delay: number) { const {current

2021-02-27 17:08:27 1342 1

转载 PureComponent 的正确打开方式

React 提供了 PureComponent 之后,我们知道 PureComponent 对性能有一定的提升,但是不是所有组件都应该用 PureComponent?与 Component 的区别PureComponent 与 Component 的唯一差别就在于:PureComponent 帮你做了 shouldComponentUpdate 的判断。shouldComponentUpdate(nextProps, nextState){ return !shallo...

2021-02-23 21:22:33 161

转载 es6中class类的全方面理解(一)

传统的javascript中只有对象,没有类的概念。它是基于原型的面向对象语言。原型对象特点就是将自身的属性共享给新对象。这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人困惑!如果要生成一个对象实例,需要先定义一个构造函数,然后通过new操作符来完成。构造函数示例://函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数)function Person(name,age) { this.name = name; this..

2021-01-31 22:05:29 263

转载 js的new操作符到底做了什么?

做了什么?1、创建了一个空的js对象(即{})2、将空对象的原型prototype指向构造函数的原型3、将空对象作为构造函数的上下文(改变this指向)4、对构造函数有返回值的判断怎么实现?/* create函数要接受不定量的参数,第一个参数是构造函数(也就是new操作符的目标函数),其余参数被构造函数使用。 new Create() 是一种js语法糖。我们可以用函数调用的方式模拟实现*/function create(Con,...args){ //1、创建一

2021-01-24 21:50:35 583

转载 什么是 Google V8

前言由 C/C++ 入门的我突然转 JS (主要是 Node.js) 感觉整个人都是懵逼的(还不是懂得太少造的o-O),差别真的感觉好大,最神奇的是 JS 竟然不用经过编译就可以运行。期间总是能遇到 Google V8,不明觉厉,感觉有必要好好了解下,顺便好好梳理下基础知识。静态编译与动态解释众所周知,计算机只能理解机器语言,而我们平时编程用的通常是高级语言,所以源代码通常都要经过层层转换最终变成机器语言运行。汇编器与编译器概念图早期只有汇编语言没有高级语言,不同的设备有一套.

2021-01-18 14:50:30 1438

转载 双飞翼布局与圣杯布局图文详解

这次给大家带来双飞翼布局与圣杯布局图文详解,使用双飞翼布局与圣杯布局的注意事项有哪些,下面就是实战案例,一起来看一下。双飞翼布局和圣杯布局都是实现两边固定中间自适应的三栏布局的方式,最近在整理三栏布局实现方式的笔记,决定但拉出来一篇,记一下这两个经典布局。1、圣杯布局浮动、负边距、相对定位、不添加额外标签效果图DOM结构:<p class="header">Header</p><p class="bd"> <p class="main

2021-01-14 12:28:59 248

转载 React hooks 怎样做防抖?

防抖是前端业务常用的工具函数,也是前端面试的高频问题。平时面试候选人,手写防抖人人都会,但是稍做修改就有小伙伴进坑送命。本文介绍了如何在react hooks中实现防抖。背景防抖(debounce)是前端经常用到的一个工具函数,也是我在面试中必问的一个问题。团队内部推广React hooks以后,我在面试中也加入了相关的题目。如何实现一个useDebounce这个看起来很基础的问题,实际操作起来却让很多背代码的小伙伴漏出马脚。问题的安排往往是这样的:什么是防抖、节流,分别解释一下? 在白纸

2021-01-05 21:59:36 2841 1

转载 让你30分钟快速掌握vue 3

让你30分钟快速掌握vue 3经过了漫长的迭代,Vue 3.0终于在上2020-09-18发布了,带了翻天覆地的变化,使用了Typescript 进行了大规模的重构,带来了Composition API RFC版本,类似React Hook 一样的写Vue,可以自定义自己的hook ,让使用者更加的灵活,接下来总结一下vue 3.0 带来的部分新特性。setup() ref() reactive() isRef() toRefs() computed() watch() LifeC..

2020-10-26 11:58:17 292

原创 复习一下Javascript闭包的实现原理和作用

闭包的实现原理和作用1、闭包的概念:指有权访问另一个函数作用域中的变量的函数,一般情况就是在一个函数中包含另一个函数。2、闭包的作用:访问函数内部变量、保持函数在环境中一直存在,不会被垃圾回收机制处理因为函数内部声明 的变量是局部的,只能在函数内部访问到,但是函数外部的变量是对函数内部可见的,这就是作用域链的特点了。子级可以向父级查找变量,逐级查找,找到为止function bar(){ //外层函数声明的变量 var value=1;

2020-08-20 22:46:15 164

转载 React useEffect的陷阱

好久不写React的相关的东西,因为虽然这个技术作为工具还是在得到越来越多的应用,但是,React自Hooks和Suspense以来,也没有什么特别值得一说的新功能出来,所以,我也觉得真没有什么好写的:-)回顾一下过去几个月,值得一提的,就是React Hooks正式推出之后暴露出来的一些小问题,这些小问题不是React的缺陷,而是开发者在面对Hooks这种新的思维方式时的水土不服。今天就来讲一个useEffect这个Hook使用的一个小陷阱,看下面的代码,一个Counter,在窗口大小改变的时..

2020-08-20 22:03:15 1405

转载 CSS中的em运用详解,1em等于多少像素?

今天要看完它:使用CSS也好久了,但一直都是在使用“px”来设置Web元素的相关属性,未敢使用“em”。主要原因是,对其并不什么了解,只知道一点概念性的东西,前段时间在项目中要求使用“em”作为单位设置元素,所以从头对“em”学习了一回。稍为有一点理解,今天特意整理了一份博文与大家一起分享,希望对童子们有些许的帮助。这篇教程将引导大家如何使用“em”来创建一个基本的弹性布局,从而学习其如何计算?又是如何使用“em”对层进行弹性扩展?又是如何扩展文本和图像等内容?下在我们就一起带着这些问题开始今.

2020-07-23 12:02:38 2328

原创 es6中的Array.reduce

转自知乎:https://zhuanlan.zhihu.com/p/99465369?utm_source=wechat_session强大的 Array.reduce它可以返回任意值,它的功能就是将一个数组的内容聚合成单个值语法:arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])参数说明:callback - 执行数组中每个值 (如果没有提供 initialValue

2020-07-18 23:22:31 275

原创 tsconfig.json编译选项

为了更好的设置tsc编译所需的参数, 添加tsconfig.json文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 { "compileOnSave":false, "compiler...

2020-07-07 17:52:15 1188

转载 mac 安装解压版的mysql8.0

1、首先到https://dev.mysql.com/downloads/mysql/网站下载tar.gz包,如下图所示:2、然后将下载的包使用tar -xzvf mysql-8.0.16-macos10.14-x86_64.tar.gz 解压,如下图所示:3、然后将mysql-8.0.16-macos10.14-x86_64通过sudo mv /sunxj/InstallFile/mysql-8.0.16-macos10.14-x86_64 mysql命令移动到/usr/local/目录中

2020-05-12 11:05:21 697

转载 【JVM】jmap命令详解----查看JVM内存使用详情[转]

linux获取java进程PID:https://www.cnblogs.com/sxdcgaq8080/p/10734752.html如果命令使用过程中报错,可能解决你问题的方案:https://www.cnblogs.com/sxdcgaq8080/p/11089179.htmlhttps://www.cnblogs.com/sxdcgaq8080/p/10675...

2020-03-25 18:23:41 642

转载 令牌桶算法限流

原文链接:https://www.cnblogs.com/cjsblog/p/9379516.html限流限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。常用的限流算法有令牌桶和和漏桶,而Google开源项目Guava中的RateLimiter使用的就是令牌桶控制算法。在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流...

2020-02-17 23:10:27 173

转载 树形结构的数据库表设计

树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计合适的Schema及其对应的CRUD算法是实现关系型数据库中存储树形结构的关键。...

2020-02-14 00:14:45 426

转载 @ContextConfiguration的用法

@ContextConfiguration这个注解通常与@RunWith(SpringJUnit4ClassRunner.class)联合使用用来测试当一个类添加了注解@Component,那么他就自动变成了一个bean,就不需要再Spring配置文件中显示的配置了。把这些bean收集起来通常有两种方式,Java的方式和XML的方式。当这些bean收集起来之后,当我们想要在某个测试类使用@Au...

2020-02-12 12:21:38 18885 6

转载 学习Maven之Maven Surefire Plugin(JUnit篇)

1.maven-surefire-plugin是个什么鬼?如果你执行过mvn test或者执行其他maven命令时跑了测试用例,你就已经用过maven-surefire-plugin了。maven-surefire-plugin是maven里执行测试用例的插件,不显示配置就会用默认配置。这个插件的surefire:test命令会默认绑定maven执行的test阶段。maven的生命...

2020-02-11 20:45:08 878

转载 FactoryBean的作用

Spring 中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean 即 FactoryBean。FactoryBean跟普通Bean不同,其返回的对象不是指定类的一个实例,而是该FactoryBean的getObject方法所返回的对象。创建出来的对象是否属于单例由isSingleton中的返回决定。一般情况下,Spring通过反射机制利用<bean>的class属性指...

2020-01-31 18:35:09 396

转载 多数据源切换-Druid

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_37279783/article/details/82013702这是实际应用场景中的多数据源切换案例逻辑思路如下:1.系统初始化,加载所有数据库中配置的数据源,加载进去spring容器2.通过两种方法切换数据源:...

2019-08-20 14:55:02 396

转载 Vue原理解析之observer模块

对Vue@2.1.8进行分析observer是Vue核心中最重要的一个模块(个人认为),能够实现视图与数据的响应式更新,底层全凭observer的支持。observer模块在Vue项目中的代码位置是src/core/observer,模块共分为这几个部分:Observer: 数据的观察者,让数据对象的读写操作都处于自己的监管之下Watcher: 数据的订阅者,数据的变化会通知到Watcher,然后...

2018-06-04 15:10:50 1096

转载 【MySQL】悲观锁&乐观锁

悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指的是使用悲观锁。通常来讲在数据库上的悲观锁需要数据库本身提供...

2018-06-03 22:29:58 115

转载 这些面试题你会吗?

我特意整理了一下,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。先来看下自己记录的面试材料:一、阿里巴巴面试1、开发中Java用了比较多的数据结构有哪些?2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问你有没有线程安全的map,接下来问了conurre...

2018-05-25 15:40:24 437

转载 高并发解决方案

我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Apache的Web服务器,配置MaxClients为500个(表示Apache的最大连接数目)。那么,我们的Web系统的理论峰值QPS为(理想化的计算方式):20*500...

2018-05-21 00:24:56 423

转载 分布式ID方案有哪些以及各自的优劣势,我们当如何选择

作者介绍 段同海,就职于达达基础架构团队,主要参与达达分布式ID生成系统,日志采集系统等中间件研发工作。背景在分布式系统中,经常需要对大量的数据、消息、http请求等进行唯一标识,例如:在分布式系统之间http请求需要唯一标识,调用链路分析的时候需要使用这个唯一标识。这个时候数据库自增主键已经不能满足需求,需要一个能够生成全局唯一ID的系统,这个系统需要满足以下需求:全局唯一:不能出现重复ID。高...

2018-05-07 14:47:16 175

转载 MySQL锁详解

一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储...

2018-05-03 11:18:10 152

转载 CSS粘住固定底部的5种方法

原文地址:https://css-tricks.com/couple-takes-sticky-footer/译文地址:http://caibaojian.com/css-5-ways-sticky-footer.html译者:前端开发博客-Jack转载请务必注明以上信息。本文主要介绍一个Footer元素如何粘住底部,使其无论内容多或者少,Footer元素始终紧靠在浏览器的底部。我们知道,当内容足...

2018-04-11 17:01:21 809

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除