自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 如何在浏览器控制台Console中引入外部 JS

想要在某个网页执行一些脚本,却发现某个工具类,如 ajax 请求的 axios 该网页没有引入,或者引入了但控制台却访问不到,这时要怎么办呢?只需要控制台执行如下代码就好了。然后就能愉快地 axios了。

2024-07-08 10:29:00 132

原创 elementUI input只能两位小数的方法

【代码】elementUI input只能两位小数的方法。

2024-04-08 15:29:22 376

原创 一句话明白什么是云原生

因为很多文章里说云原生是一种文化、一种思想、一种技术体系、一种管理方法,很多人看的都是一脸懵。

2023-12-18 11:15:39 385

原创 chrome 防止http自动转https的方法

1. 左上角,单击地址栏左边。2. 然后点击网站设置。3. 不安全内容改为【允许】

2023-11-06 14:13:22 17298 4

原创 前端油猴脚本开发小技巧笔记

jquery 选择器,加空格是匹配下一级,紧密排列是且,[a=b]匹配属性。jquery 对象 a,a[0]是对应的原生dom对象,$(原生对象) 得到对应的 jquery 对象。查找某个按钮绑定事件是哪个函数,可以某个执行位置打断点,然后向上查找调用栈,再利用5查找。控制台直接输入函数名,可以打印出该函数的代码,继续点击代码可以跳转到对应的代码位置。vue代码method里的方法位置是vue对象的根目录,data里的变量也是。调试模式下,单击选中某dom代码,控制台里可以用$0访问到该dom对象。

2023-08-24 18:01:59 932

原创 通过矩阵从整体角度搞懂快速傅里叶变换原理

通过矩阵,从整体角度,搞懂快速傅里叶变换原理

2023-04-06 09:15:41 1472

原创 ZGC 垃圾收集器染色指针详解

通过过程演示详细介绍ZGC染色指针原理

2022-12-30 22:06:26 1011

原创 FastJson 反序列化报 default constructor not found 错误怎么绕过

FastJson 反序列化报 default constructor not found 错误怎么绕过1、如何可以修改相关反序列化类代码,就加上默认构造方法。2、如果不能修改相关类代码,就利用如下工具类,给反序列化错误的那个类指定一个构造方法。

2022-12-30 20:17:02 1477

原创 性能优化的好不好,阿姆达尔定律说了算

性能优化的好不好,阿姆达尔定律说了算

2022-10-27 23:04:04 169

原创 自己动手实现一个 RPC 框架

自己动手做了个简单的 RPC 框架,附 GitHub 地址。

2022-09-07 21:38:50 1027

原创 软件架构设计原则总结

软件架构设计原则总结

2022-07-08 21:30:26 312

原创 mysql 迁移到 tidb 的一些注意点

tidb kv 存储原理TiDB 数据库的计算 | PingCAP Docs一、sql mode 参数设置将 tidb sql mode 参数设置为和 mysql 一样,避免一些 sql 语法不兼容,如 group,对应参数 ONLY_FULL_GROUP_BY。SELECT @@global.sql_mode 查询 sql modeSET @@global.sql_mode=‘xxx’; 设置sql modeSQL 模式 | PingCAP Docs二、大小写问题tidb 默.

2022-03-16 21:06:03 1541

原创 100层楼2个鸡蛋求最低破碎楼层与信息论

100层楼2个鸡蛋求最低破碎楼层经典算法可以参考http://blog.sina.com.cn/s/blog_6c813dbd0101bh98.html这篇文档我们从更高的视角-信息论的角度去看这个问题对于 100 层楼,假设1楼不会碎,100层楼中必定有一层会碎,那么则共有 99 种可能。对于两个鸡蛋,假设共有 m 个动作,这个 m 个动作里面,可能有0、 1 或 2 个动作鸡蛋会碎。那么 m 个动作,便有 1 + m + m(m-1)/2 种可能。也就说 当1 + m + m(m-1...

2020-08-05 21:29:46 369 7

原创 Intellij IDEA运行报 Command line is too long 解法

有时候我们运行程序的时候会出现如下错误该错误解决方法:打开 Run/Debug Configurations,Configuration Tab页下有个 Shorten command line 选项,将该选项改为 JAR manifest 或 classpath file·。如下图:这三个选项含义如下:none:默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。JAR manifest:id..

2020-07-28 15:23:41 668

转载 java 该使用哪种 垃圾收集器?

原文链接:https://docs.oracle.com/en/java/javase/14/gctuning/available-collectors.html#GUID-414C9D95-297E-4EE3-B0D9-36F158A83393我们不生产文档,我们只是官方文档的搬运工。Selecting a CollectorUnless your application has rather strict pause-time requirements, first run your..

2020-06-30 10:51:35 264

原创 Jenkins+maven+git+ubuntu 环境搭建

1. ubuntu安装 ubuntu 更新 ubuntu 源为阿里云的源,详细https://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html安装搜狗输入法(可选)安装chrome浏览器(可选)参考 https://laod.cn/hosts/2017-google-hosts.html 上面更新 host ,jenkins要下

2020-05-21 10:41:29 731

原创 怎么查看 mybatis 组装好的 sql

直接 Debug。进入 DefaultParameterHandler 类的 setParameters方法, 在方法最后打断点,看 ps 属性里面有组装好的sql,貌似只有 insert操作会进这里。class RoutingStatementHandler implements StatementHandlerpublic void parameterize(Statement statement) 在最后打断点,select,insert会进这里,其他没测。...

2020-05-11 19:01:14 1253 1

原创 二叉树无递归无额外空间遍历

在网上看了几个二叉树无递归无额外空间遍历的算法,感觉讲的太晦涩难懂,而递归遍历理解却非常容易,于是想着如果能和递归遍历一一对应起来,那么理解二叉树无递归无额外空间遍历的算法则容易许多了,而且理解会更加深入。废话不多说,直接看代码和注释,一共没几行代码。public class BinTree { public void preSubNode(Node node) { ...

2020-03-09 12:28:45 512

原创 spring bean 懒加载、获取方式与瘦身启动

随着项目越来越大,发现项目启动时间越来越长,有个需要连接远程注册中心的服务,网络有点波动更是好久启动不起来。根据我的探索,对spring项目进行瘦身启动,目前的最好方式是,首先要将所有单例 bean 设置为懒加载。设置懒加载的方法可以在 beans 标签上加default-lazy-init="true",这种方法可能需要加在多个文件上。也可以实现一个 BeanDefin...

2020-02-21 09:44:59 483

原创 彻底理解 ThreadLocal 什么情况下会造成内存泄露

网上有许多关于ThreadLocal 的文章,读了很多,总感觉他们说的 ThreadLocal 造成内存泄露的理由很牵强,今天就看源码彻底解析一下ThreadLocal。源码就不放了,直接放梳理好的类和对象的引用图。下面对这张图做下解释大方框代表堆里的对象,里面蓝色的小方框代表该对象的成员变量。实线代表强引用,虚线代表弱引用。那么我们先不考虑场景,根据这张图,T...

2019-12-09 21:44:02 1411

转载 领域驱动设计(DDD)实现之路

原文链接:https://www.jianshu.com/p/cdbefdd55b99前言在系统复杂之后,我们都需要用分治来拆解问题。一般有两种方式,技术维度和业务维度。技术维度是类似MVC这样,业务维度则是指按业务领域来划分系统。微服务架构众所周知,此处不做赘述。我们创建微服务时,需要创建一个高内聚、低耦合的微服务。而DDD中的限界上下文则完美匹配微服务要求,可以将该限界上下文理解为...

2019-09-03 10:59:50 1192

转载 kafka 设计原理(震惊了!原来这才是kafka!)

原文:https://www.jianshu.com/p/d3e963ff8b70简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是...

2019-07-16 20:38:45 295

原创 idea 正则表达式替换

例如,现在有一个函数getView(o,'m','orderNum','s') ,这个函数的调用有很多地方,有一天我们想给这个函数加一个默认参数,让它变成 getView(o,'m','orderNum','s','*'),一个一个加太麻烦了,我们就用 idea 自带的正则表达式替换功能来实现。首先按 Ctrl + R ,打开替换对话框,然后在上面输入getView\((.+)\),下面输...

2019-05-16 20:56:48 6332 1

原创 idea Live Templates 设置

例如,我们想要实现 spring 注入属性快捷输入,该怎么定义我们的Live Templates 呢?首先打开设置,找到Live Templates然后右上角点 + 新建模板然后进行如下设置然后点击右上角 Edit variables,然后这样设置最后点确定就搞定了效果如下键入 sres ,按回车,然后输入要注入的 service 就好了...

2019-04-26 21:47:51 2723

原创 idea 常用快捷键

Alt+Insert ,自动生成javabean以及其他代码自动生成Ctrl+P,可以显示参数信息Ctrl+Alt+L,格式化代码Ctrl+R,替换文本Ctrl+F,查找文本Shift+F6,重构 – 重命名Ctrl+X,删除行Ctrl+D,复制行Ctrl+Shift+Space,自动补全代码ctrl + 左键 tab 页 打开文件所在系统默认文件浏览器位置...

2019-04-25 13:44:23 227

转载 圈复杂度详解

转载于:http://dongxi520.com/2017/04/09/%E5%9C%88%E5%A4%8D%E6%9D%82%E5%BA%A6%E8%AF%A6%E8%A7%A3/一、现象1. 代码设计不规范。当项目规模达到一定的程度,比如达到十万行的代码量。那么项目肯定存在有些类特别大,方法特别多、特别长。以上因素会导致什么后果呢?一个类没有做到单一指责,后期对这...

2019-04-23 10:07:28 8497

转载 浅谈HotSpot逃逸分析

来源:https://www.jianshu.com/p/20bd2e9b1f03JIT即时编译(Just-in-time Compilation,JIT)是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择:C1、C2和C1+C2,分别对应client、server和分层编译。1、C1编译速度快,优化方式比较保守;2、C2...

2019-03-27 09:50:27 341

转载 我眼中的领域驱动设计

有幸参与了一些领域驱动的项目,读了一些文章,也见识了一些不伦不类的架构,感觉对领域驱动有了更进一步的认识。所以今天跟大伙探讨一下领域驱动设计,同时也对一些想要实践领域驱动设计却又无处下手,或者一些正在实践却又说不上领域驱动设计到底好在哪的朋友一些指引方向。当然对于”领域驱动设计”这个主题而言从来不乏争论,所以大家可以在畅所欲言。为什么要使用领域驱动设计?从Eric Evans的《领域驱动设...

2019-03-24 17:58:18 223

原创 mysql 字符串和数字类型比较的坑

mysql 字符串和数字类型比较会把字符串依次和数字进行比较,直到第一个非数字的字符,如果过长,还会截取,巨坑无比,一定要慎重。总结:容易令人以为不会做的事千万不要做,做了也要标题加粗标红提示出来这儿有巨坑...

2019-03-22 19:50:09 1537

转载 一张优惠券引发的血案(redis并发安全问题)

整个优惠券中心分为前端和后端,小灰所负责的是后端RPC接口的开发。接口中包含“查券”和“领券”两个方法,项目大体结构如下图:两周后——小灰:看,这是优惠券查询功能的效果!小灰:看,这是优惠券领取功能的效果!三天后——小灰原本的优惠券查询接口是这样实现的:优惠券列表在Redis中以List的形式存储,查询时的逻辑很简单:1.查询缓存...

2019-03-18 09:50:39 1650

原创 mybatis dao 接口是怎么实例化并和 spring 整合的

一直像彻底理清 mybatis dao 接口是怎么实例化并和 spring 整合的 ,也看了 mybatis 源码,mybatis 功能比较多,实例化过程不好找,于是自己就写了个小 demo,揭示 mybatis 实例化并和 spring 整合的原理。首先准备好要整合的类,我定义了一个 AppleDao 接口,一个 AppleService 用来进行测试。AppleDao@Com...

2019-02-26 10:22:17 1756

原创 寻找通过 spring 配置的 Mybatis 初始化的入口

大家可能使用 Mybatis 时很少关注程序是通过什么启动的 Mybatis 初始化,现在我就说下Mybatis 初始化的入口以及寻找过程首先想到的是从 Mybatis spring的配置文件入手,首先发现如下配置 <!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFacto...

2019-02-23 20:30:24 494

转载 请不要尝试简化这些代码!保持航天飞机风格

猿 份来源:程序员的那些事(ID:iProgrammer)原文链接,原微博链接 请不要尝试简化这些代码!Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。Kubernetes 简称 K8s,用「8」替代 K 和 s 之间的 8 个字母「ubernete」。K8s 的 pv_controller.go 源码大约...

2019-02-13 15:04:39 875

原创 java 中的强引用、软引用、弱引用、虚引用

强引用强引用就是最普通的引用,只要一个对象存在一个强引用,就证明它还活着,它就不能被垃圾回收器回收 软引用软引用存在的意义是什么呢?对于如下场景,我们想实现一个本地缓存,但是如果在短时间内有大量对象被放入了缓存会发生什么问题呢?内存溢出。那我们怎么解决这个问题呢?如果能在内存溢出前把缓存的对象给回收了就好了。对,但怎么实现这一机制呢?嗯,加个软引用吧,我们就把软引用定义...

2019-02-11 14:53:21 168

原创 JVM 性能分析的常用工具

JVM 性能分析的常用工具,写记着,以后再慢慢了解jvisualvm https://www.cnblogs.com/kongzhongqijing/articles/3625340.htmljprofiler https://blog.csdn.net/sinat_38259539/article/details/71023582YourKit Windows...

2019-01-25 15:37:17 296

原创 spring 事务管理在类内部调用时失效问题

因为 spring 事务管理是通过 AOP 来实现的,外部类调用时会先调用代理类,代理类再调用实际类。而类内部调用时,是实际类内部调用,不经过代理类,而事务管理实在代理类层面实现,所以类内部调用事务管理会失效。...

2018-12-14 17:07:09 376

原创 spring 源码学习笔记之 SpringApplication 创建过程

就画了一个思维导图,里面的逻辑细节部分很复杂,感觉精度下去意义不大,对整体架构有个了解就好了,滚去自己造轮子了~没事的时候,看看这个图,提神醒脑,放松身心。 ...

2018-12-02 12:30:10 172

原创 为什么我觉得 nio 比 aio 更适合高并发

nio 是同步非阻塞的,aio 是异步非阻塞的,初看,肯定是异步的更好更高级啊,那为什么我觉得 nio 比 aio 更适合高并发呢?嗯,一定是哪儿出了问题。这个要涉及到它们两个的具体实现和使用了。首先,我们想象 bio 高并发的最主要限制条件是什么?阻塞。对,阻塞是对资源极大的浪费,但 nio 和 aio 两个都是非阻塞的,这个问题不是决定原因。那么,第二限制条件呢?线程。对,就是线程...

2018-12-01 21:37:45 1356 1

原创 MySQL的四种事务隔离级别

首先看四个事务隔离级别的表格事务隔离级别 脏读 不可重复读 幻读 读未提交(read-uncommitted) 是 是 是 读已提交(read-committed) 否 是 是 可重复读(repeatable-read) 否 否 是 串行化(serializable) 否 否 否 整个...

2018-12-01 21:01:54 123

原创 java中 方法参数是值传递还是引用传递 ?

对象是引用传递,原始类型数据是值传递实际上把方法参数中对象参数看做是对象的引用,那么对象引用也是值传递它符合值传递的一切的特征,即我们可以通过对象引用的参数去改变它所指向对象的属性,但我们却无法改变这个对象引用参数所指向的对象。...

2018-11-14 20:13:32 269

空空如也

空空如也

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

TA关注的人

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