- 博客(83)
- 收藏
- 关注
原创 如何在浏览器控制台Console中引入外部 JS
想要在某个网页执行一些脚本,却发现某个工具类,如 ajax 请求的 axios 该网页没有引入,或者引入了但控制台却访问不到,这时要怎么办呢?只需要控制台执行如下代码就好了。然后就能愉快地 axios了。
2024-07-08 10:29:00
958
2
原创 前端油猴脚本开发小技巧笔记
jquery 选择器,加空格是匹配下一级,紧密排列是且,[a=b]匹配属性。jquery 对象 a,a[0]是对应的原生dom对象,$(原生对象) 得到对应的 jquery 对象。查找某个按钮绑定事件是哪个函数,可以某个执行位置打断点,然后向上查找调用栈,再利用5查找。控制台直接输入函数名,可以打印出该函数的代码,继续点击代码可以跳转到对应的代码位置。vue代码method里的方法位置是vue对象的根目录,data里的变量也是。调试模式下,单击选中某dom代码,控制台里可以用$0访问到该dom对象。
2023-08-24 18:01:59
1082
原创 FastJson 反序列化报 default constructor not found 错误怎么绕过
FastJson 反序列化报 default constructor not found 错误怎么绕过1、如何可以修改相关反序列化类代码,就加上默认构造方法。2、如果不能修改相关类代码,就利用如下工具类,给反序列化错误的那个类指定一个构造方法。
2022-12-30 20:17:02
1677
原创 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
1712
原创 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
411
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
730
转载 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
303
原创 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
767
原创 怎么查看 mybatis 组装好的 sql
直接 Debug。进入 DefaultParameterHandler 类的 setParameters方法, 在方法最后打断点,看 ps 属性里面有组装好的sql,貌似只有 insert操作会进这里。class RoutingStatementHandler implements StatementHandlerpublic void parameterize(Statement statement) 在最后打断点,select,insert会进这里,其他没测。...
2020-05-11 19:01:14
1405
1
原创 二叉树无递归无额外空间遍历
在网上看了几个二叉树无递归无额外空间遍历的算法,感觉讲的太晦涩难懂,而递归遍历理解却非常容易,于是想着如果能和递归遍历一一对应起来,那么理解二叉树无递归无额外空间遍历的算法则容易许多了,而且理解会更加深入。废话不多说,直接看代码和注释,一共没几行代码。public class BinTree { public void preSubNode(Node node) { ...
2020-03-09 12:28:45
663
原创 spring bean 懒加载、获取方式与瘦身启动
随着项目越来越大,发现项目启动时间越来越长,有个需要连接远程注册中心的服务,网络有点波动更是好久启动不起来。根据我的探索,对spring项目进行瘦身启动,目前的最好方式是,首先要将所有单例 bean 设置为懒加载。设置懒加载的方法可以在 beans 标签上加default-lazy-init="true",这种方法可能需要加在多个文件上。也可以实现一个 BeanDefin...
2020-02-21 09:44:59
558
原创 彻底理解 ThreadLocal 什么情况下会造成内存泄露
网上有许多关于ThreadLocal 的文章,读了很多,总感觉他们说的 ThreadLocal 造成内存泄露的理由很牵强,今天就看源码彻底解析一下ThreadLocal。源码就不放了,直接放梳理好的类和对象的引用图。下面对这张图做下解释大方框代表堆里的对象,里面蓝色的小方框代表该对象的成员变量。实线代表强引用,虚线代表弱引用。那么我们先不考虑场景,根据这张图,T...
2019-12-09 21:44:02
1457
转载 领域驱动设计(DDD)实现之路
原文链接:https://www.jianshu.com/p/cdbefdd55b99前言在系统复杂之后,我们都需要用分治来拆解问题。一般有两种方式,技术维度和业务维度。技术维度是类似MVC这样,业务维度则是指按业务领域来划分系统。微服务架构众所周知,此处不做赘述。我们创建微服务时,需要创建一个高内聚、低耦合的微服务。而DDD中的限界上下文则完美匹配微服务要求,可以将该限界上下文理解为...
2019-09-03 10:59:50
1281
转载 kafka 设计原理(震惊了!原来这才是kafka!)
原文:https://www.jianshu.com/p/d3e963ff8b70简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是...
2019-07-16 20:38:45
320
原创 idea 正则表达式替换
例如,现在有一个函数getView(o,'m','orderNum','s') ,这个函数的调用有很多地方,有一天我们想给这个函数加一个默认参数,让它变成 getView(o,'m','orderNum','s','*'),一个一个加太麻烦了,我们就用 idea 自带的正则表达式替换功能来实现。首先按 Ctrl + R ,打开替换对话框,然后在上面输入getView\((.+)\),下面输...
2019-05-16 20:56:48
6446
1
原创 idea Live Templates 设置
例如,我们想要实现 spring 注入属性快捷输入,该怎么定义我们的Live Templates 呢?首先打开设置,找到Live Templates然后右上角点 + 新建模板然后进行如下设置然后点击右上角 Edit variables,然后这样设置最后点确定就搞定了效果如下键入 sres ,按回车,然后输入要注入的 service 就好了...
2019-04-26 21:47:51
2780
原创 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
253
转载 圈复杂度详解
转载于: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
8703
转载 浅谈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
394
转载 我眼中的领域驱动设计
有幸参与了一些领域驱动的项目,读了一些文章,也见识了一些不伦不类的架构,感觉对领域驱动有了更进一步的认识。所以今天跟大伙探讨一下领域驱动设计,同时也对一些想要实践领域驱动设计却又无处下手,或者一些正在实践却又说不上领域驱动设计到底好在哪的朋友一些指引方向。当然对于”领域驱动设计”这个主题而言从来不乏争论,所以大家可以在畅所欲言。为什么要使用领域驱动设计?从Eric Evans的《领域驱动设...
2019-03-24 17:58:18
256
原创 mysql 字符串和数字类型比较的坑
mysql 字符串和数字类型比较会把字符串依次和数字进行比较,直到第一个非数字的字符,如果过长,还会截取,巨坑无比,一定要慎重。总结:容易令人以为不会做的事千万不要做,做了也要标题加粗标红提示出来这儿有巨坑...
2019-03-22 19:50:09
1572
转载 一张优惠券引发的血案(redis并发安全问题)
整个优惠券中心分为前端和后端,小灰所负责的是后端RPC接口的开发。接口中包含“查券”和“领券”两个方法,项目大体结构如下图:两周后——小灰:看,这是优惠券查询功能的效果!小灰:看,这是优惠券领取功能的效果!三天后——小灰原本的优惠券查询接口是这样实现的:优惠券列表在Redis中以List的形式存储,查询时的逻辑很简单:1.查询缓存...
2019-03-18 09:50:39
1698
原创 mybatis dao 接口是怎么实例化并和 spring 整合的
一直像彻底理清 mybatis dao 接口是怎么实例化并和 spring 整合的 ,也看了 mybatis 源码,mybatis 功能比较多,实例化过程不好找,于是自己就写了个小 demo,揭示 mybatis 实例化并和 spring 整合的原理。首先准备好要整合的类,我定义了一个 AppleDao 接口,一个 AppleService 用来进行测试。AppleDao@Com...
2019-02-26 10:22:17
1818
原创 寻找通过 spring 配置的 Mybatis 初始化的入口
大家可能使用 Mybatis 时很少关注程序是通过什么启动的 Mybatis 初始化,现在我就说下Mybatis 初始化的入口以及寻找过程首先想到的是从 Mybatis spring的配置文件入手,首先发现如下配置 <!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFacto...
2019-02-23 20:30:24
541
转载 请不要尝试简化这些代码!保持航天飞机风格
猿 份来源:程序员的那些事(ID:iProgrammer)原文链接,原微博链接 请不要尝试简化这些代码!Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。Kubernetes 简称 K8s,用「8」替代 K 和 s 之间的 8 个字母「ubernete」。K8s 的 pv_controller.go 源码大约...
2019-02-13 15:04:39
929
原创 java 中的强引用、软引用、弱引用、虚引用
强引用强引用就是最普通的引用,只要一个对象存在一个强引用,就证明它还活着,它就不能被垃圾回收器回收 软引用软引用存在的意义是什么呢?对于如下场景,我们想实现一个本地缓存,但是如果在短时间内有大量对象被放入了缓存会发生什么问题呢?内存溢出。那我们怎么解决这个问题呢?如果能在内存溢出前把缓存的对象给回收了就好了。对,但怎么实现这一机制呢?嗯,加个软引用吧,我们就把软引用定义...
2019-02-11 14:53:21
191
原创 JVM 性能分析的常用工具
JVM 性能分析的常用工具,写记着,以后再慢慢了解jvisualvm https://www.cnblogs.com/kongzhongqijing/articles/3625340.htmljprofiler https://blog.youkuaiyun.com/sinat_38259539/article/details/71023582YourKit Windows...
2019-01-25 15:37:17
338
原创 spring 事务管理在类内部调用时失效问题
因为 spring 事务管理是通过 AOP 来实现的,外部类调用时会先调用代理类,代理类再调用实际类。而类内部调用时,是实际类内部调用,不经过代理类,而事务管理实在代理类层面实现,所以类内部调用事务管理会失效。...
2018-12-14 17:07:09
419
原创 spring 源码学习笔记之 SpringApplication 创建过程
就画了一个思维导图,里面的逻辑细节部分很复杂,感觉精度下去意义不大,对整体架构有个了解就好了,滚去自己造轮子了~没事的时候,看看这个图,提神醒脑,放松身心。 ...
2018-12-02 12:30:10
200
原创 为什么我觉得 nio 比 aio 更适合高并发
nio 是同步非阻塞的,aio 是异步非阻塞的,初看,肯定是异步的更好更高级啊,那为什么我觉得 nio 比 aio 更适合高并发呢?嗯,一定是哪儿出了问题。这个要涉及到它们两个的具体实现和使用了。首先,我们想象 bio 高并发的最主要限制条件是什么?阻塞。对,阻塞是对资源极大的浪费,但 nio 和 aio 两个都是非阻塞的,这个问题不是决定原因。那么,第二限制条件呢?线程。对,就是线程...
2018-12-01 21:37:45
1411
1
原创 MySQL的四种事务隔离级别
首先看四个事务隔离级别的表格事务隔离级别 脏读 不可重复读 幻读 读未提交(read-uncommitted) 是 是 是 读已提交(read-committed) 否 是 是 可重复读(repeatable-read) 否 否 是 串行化(serializable) 否 否 否 整个...
2018-12-01 21:01:54
143
原创 java中 方法参数是值传递还是引用传递 ?
对象是引用传递,原始类型数据是值传递实际上把方法参数中对象参数看做是对象的引用,那么对象引用也是值传递它符合值传递的一切的特征,即我们可以通过对象引用的参数去改变它所指向对象的属性,但我们却无法改变这个对象引用参数所指向的对象。...
2018-11-14 20:13:32
297
macOs 系统,支持所有版本,包括15及以上版本,访达右键扩展,支持新增文件,复制路径,当前文件夹打开控制台等
2025-03-13
OpenJDK1.8 带 javafx 包 macos M系列芯片 zulu8.82.0.21-ca-fx-jdk8.0.432-macosx-aarch64
2025-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人