10年 Java程序员,硬核人生!勇往直前,永不退缩!

欢迎围观我的git:https://github.com/R1310328554/spring_security_learn 寻找志同道合的有志于研究技术的朋友,关注本人微信公众号: 觉醒的码农,或Q群 165874185

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2024年7月15日

摘要: 千万要小心啊, 同学们啊, curl 引发了很多的奇怪问题啊 curl 竟然需要 把url 用单引号括起来? .. 否则就无法传递query参数.. 中文也是。 真是把人搞晕了, 还以为是 @GetMapping 哪里的问题, 又以为是 参数前面不能添加 @Validated .. 我的请求脚本是: 阅读全文
posted @ 2024-07-15 00:33 CanntBelieve 阅读(42) 评论(0) 推荐(0) 编辑

2024年7月14日

摘要: 2.0 == 2.000 当然,显而易见,应该是相等的, >>> 2.0 == 2.000TrueTrue>>> 2.0 == 2True 但是,如果有很小的浮点尾数呢? >>> 2.0 == 2.000000000000000000000000001 True 。。。 >>> 2.0 == 2.0 阅读全文
posted @ 2024-07-14 23:25 CanntBelieve 阅读(53) 评论(0) 推荐(0) 编辑

2022年11月5日

摘要: 如果执行 gradle clean build --info, 输出是: Looking for a different daemon... Found daemon DaemonInfo{pid=19048, address=[5dc61bb0-e70a-41ff-855e-61754ab113e 阅读全文
posted @ 2022-11-05 00:00 CanntBelieve 阅读(401) 评论(0) 推荐(0) 编辑

2022年7月29日

摘要: 我在测试xss 的时候,我使用下面示范2 测试没问题,而使用 示范1 测试就不行; <a href="aaa" οnclick="alert(/xss/)">示范1</a> <a href="ggg" onclick="alert(/xss/)">示范2</a> 如下,可以看到,第二个是有 “eve 阅读全文
posted @ 2022-07-29 11:14 CanntBelieve 阅读(198) 评论(0) 推荐(0) 编辑

2022年7月15日

摘要: oauth2 client访问oauth2 server 的user info 端点; 返回401 invalid_user_info_response 日志是: invalid_user_info_response] An error occurred while attempting to re 阅读全文
posted @ 2022-07-15 17:22 CanntBelieve 阅读(1313) 评论(0) 推荐(0) 编辑

2022年7月12日

摘要: 问题现象 启用oauth2后,正常的oauth2 登录都是没有问题的,但是我想 form登录呢? 其实也是支持的,不过我开始是没搞明白,一直出现问题 Full authentication is required to access this resource, 几天都搞不定,茶不思饭不想... 单 阅读全文
posted @ 2022-07-12 19:47 CanntBelieve 阅读(14072) 评论(3) 推荐(0) 编辑

2022年7月2日

摘要: redis的lua脚本说明 lua脚本 其实是一个语言,有完整的程序控制语法和一些简单的特殊的数据结构比如table。不依赖于redis 的,但是lua脚本是c写的一个非常简单的语言,所以redis也提供了对lua的支持,而且是默认支持,以插件的方式。 下面的说明来自知乎 https://zhuan 阅读全文
posted @ 2022-07-02 10:58 CanntBelieve 阅读(1388) 评论(0) 推荐(0) 编辑

2022年6月21日

摘要: 我修改了一下 go.mod 文件 lic_req 改成了 lic_req0506 module lic_req0506 go 1.17 require ( github.com/farmerx/gorsa v0.0.0-20161211100049-3ae06f674f40 github.com/g 阅读全文
posted @ 2022-06-21 14:08 CanntBelieve 阅读(964) 评论(0) 推荐(0) 编辑

2022年6月17日

摘要: 一般情况,应当尽量遵守下面各规则,特殊情况除外,如有必要需要评审! 因为约定熟成, 统一、标准的操作, 才能自动化! 一、数据库表的设计 各字段应该使用什么类型,什么精度? id 字段是使用 int、bigint、char还是varchar? 一般情况下建议使用 int, 而且是自动递增 int有1 阅读全文
posted @ 2022-06-17 12:04 CanntBelieve 阅读(182) 评论(0) 推荐(0) 编辑

2022年4月22日

摘要: type列 其实很关键。 解释如下: type列 这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行。 依次从最优到最差分别为:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_su 阅读全文
posted @ 2022-04-22 23:55 CanntBelieve 阅读(127) 评论(0) 推荐(0) 编辑

2022年3月6日

摘要: 1. 如何保证缓存与数据库双写时的数据一致性? 背景:使用到缓存,无论是本地内存做缓存还是使用 Redis 做缓存,那么就会存在数据同步的问题,因为配置信息缓存在内存中,而内存时无法感知到数据在数据库的修改。这样就会造成数据库中的数据与缓存中数据不一致的问题。 共有四种方案: 先更新数据库,后更新缓 阅读全文
posted @ 2022-03-06 19:41 CanntBelieve 阅读(291) 评论(0) 推荐(0) 编辑

2022年3月5日

摘要: 什么是高可用 在定义什么是高可用,可以先定义下什么是不可用,一个网站的内容最终呈现在用户面前需要经过若干个环节,而其中只要任何一个环节出现了故障,都可能导致网站页面不可访问,这个也就是网站不可用的情况。 参考维基百科,看看维基怎么定义高可用: 系统无中断地执行其功能的能力,代表系统的可用性程度,是进 阅读全文
posted @ 2022-03-05 14:45 CanntBelieve 阅读(171) 评论(0) 推荐(0) 编辑

2022年1月24日

摘要: 什么是跨域请求我们知道,我们web的网站的网页,会展示在浏览器中,其中的按钮、或者脚本等等可以触发事件、发起http请求的。至于发送什么样的http请求,那完全就是我们开发者(网站开发者)设计的。 我们可以按照业务需要,发出任意的http请求。 任意的http请求就是千奇百怪了,可以是对自家网站后端 阅读全文
posted @ 2022-01-24 16:20 CanntBelieve 阅读(645) 评论(0) 推荐(0) 编辑

2021年12月11日

摘要: 每次 双击 nginx.exe, 它都会 创建 两个nginx 进程 。 好像因为默认是2 个 nginx 进程。 双击是可以的,但是如果 cmd 窗口执行,那么就会导致窗口一直 打开不会关闭, 而且输入任何东西都无响应。(其实不是没有响应, ) ctrl c 或者ctrl d 都无效。任务管理器中 阅读全文
posted @ 2021-12-11 20:40 CanntBelieve 阅读(326) 评论(0) 推荐(0) 编辑

2021年11月25日

摘要: 当发起一次 携带 自定义请求头的http 跨域请求的时候, 浏览器就会字段的先发出一个options请求,我的代码是: function testcors() { console.log(" jump"); let location = "http://localhost:8081/emp_file 阅读全文
posted @ 2021-11-25 19:51 CanntBelieve 阅读(1047) 评论(0) 推荐(0) 编辑

2021年11月23日

摘要: git 服务器一般提供两种方式登录: 1 http 或https 2 SSH Keys http 已经很熟悉了。 https 也类似就是配置一下证书即可。 SSH 协议登录呢? 之前也搞过。 今天总结一下: 首先, 在本地的用户目录创建 ssh 的非对称加密的秘钥对: 即公钥、私钥, 比如我本地目录 阅读全文
posted @ 2021-11-23 20:20 CanntBelieve 阅读(3823) 评论(0) 推荐(0) 编辑

2021年11月21日

摘要: 我早就认识到了git的复杂性了, 岂止是 svn 的n倍,简直是 n次幂倍。 今天的问题是,竟然无法 git rebase, 看一下 status : 使用它提示的命令: git rebase --continue 也不行啊。。 后面发现 删除 之前新增的 untracked 的文件即可。 阅读全文
posted @ 2021-11-21 20:50 CanntBelieve 阅读(67) 评论(0) 推荐(0) 编辑

摘要: jmeter 录制脚本, 一般有两个方式: jmeter自带的录制控制器,badboy。 jmeter自带的录制控制器 确实也是可以的,不过, 竟然不支持本地ip, —— 测试了很久才发现! 访问别的 远程ip , 或者外网(比如http://www.apache.org/)都是有效的。(只要 不是 阅读全文
posted @ 2021-11-21 20:47 CanntBelieve 阅读(583) 评论(0) 推荐(0) 编辑

摘要: docker 环境变量 怎么修改? 1 exec 进入容器后修改。 可以修改,但是 测试证明, 没有用, 重新进入容器 之前的修改又看不见了。 可能是 修改没有被保存。 每次 有客户端连入容器呢, 容器可能要读取一下 .bash_rc 之类的文件... 退出exec 之后, docker exec 阅读全文
posted @ 2021-11-21 20:41 CanntBelieve 阅读(6145) 评论(2) 推荐(1) 编辑

摘要: --set-upstream 的作用, 基本上是 改变一个分支的 merge 头。 其他的不变。 D:\code\git\mw\me\umc-portal>git pull main2 devFrom http://192.169.2.234/umc/umc-portal * branch dev 阅读全文
posted @ 2021-11-21 20:31 CanntBelieve 阅读(2866) 评论(0) 推荐(0) 编辑

摘要: Java request 难理解吗?其实很简单: jmeter 自带了两个 org.apache.jmeter.protocol.java.test.JavaTest JavaTest 的处理逻辑是固定的(可以通过查看源码来证实),就是 sleep 一下(默认100ms),然后响应,如果有设置,比如 阅读全文
posted @ 2021-11-21 20:29 CanntBelieve 阅读(358) 评论(0) 推荐(0) 编辑

摘要: 构建Caffeine 是通过LoadingCache完成的,什么是LoadingCache ?可以调用时候加载的 实现。 build buildAsync 一个是同步,一个异步。 build 返回的是 LoadingCache, 可以直接当作cache 用。 buildAsync 返回的是 Asyn 阅读全文
posted @ 2021-11-21 20:25 CanntBelieve 阅读(313) 评论(0) 推荐(0) 编辑

摘要: 1 ERROR in ch.qos.logback.core.joran.spi.Interpreter@76:39 - no applicable action for [springProfile] Connected to the target VM, address: '127.0.0.1: 阅读全文
posted @ 2021-11-21 20:24 CanntBelieve 阅读(249) 评论(0) 推荐(0) 编辑

摘要: 昨天好好的,今天突然everthing搜索不了。 崩溃了? 竟然无法搜索 终于在 https://www.zhihu.com/question/20800625 找到了答案 这个有效,重建索引后,果然就好了: 阅读全文
posted @ 2021-11-21 20:21 CanntBelieve 阅读(220) 评论(0) 推荐(0) 编辑

2021年11月18日

摘要: 竟然无法上传, 修改了 Mine 类型、 勾选 对POST使用multipart/form-data... 都无用: Connection: keep-alive Content-Type: application/x-www-form-urlencodedContent-Length: 13042 阅读全文
posted @ 2021-11-18 02:03 CanntBelieve 阅读(55) 评论(0) 推荐(0) 编辑

2021年11月16日

摘要: git 无法push, 出现: Updates were rejected because the tip of your current branch is behind D:\code\git\mw\umc_file_service> D:\code\git\mw\umc_file_servic 阅读全文
posted @ 2021-11-16 08:54 CanntBelieve 阅读(2903) 评论(0) 推荐(0) 编辑

2021年11月15日

摘要: java 容器启动到一半,突然就死掉了,查看日志,发现“ killed ” why? 凭感觉是 容器需要的内存超过了 k8s 的限制,被k8s 杀掉了, 但是竟然k8没有日志。 好吧,可能是我不会查看k8s 的日志。 试了两个方法: 1、内核日志 /var/log/messagesdmesg打印环形 阅读全文
posted @ 2021-11-15 20:50 CanntBelieve 阅读(2499) 评论(0) 推荐(0) 编辑

2021年11月13日

摘要: jmeter-设置日志等级(jmter版本5.3) 方法一.修改jmeter.properties文件在jmeter所在bin目录下修改jmeter.properties,修改方式如下:(1).把jmeter.loggerpanel.display=false注释去掉(2).jmeter.logge 阅读全文
posted @ 2021-11-13 11:25 CanntBelieve 阅读(693) 评论(0) 推荐(0) 编辑

摘要: 其实很简单,只要 docker 启动的时候: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=60006 具体怎么做呢? 1 可以在创建镜像的时候,设定JAVA_OPTS: #指定jvm运行参数ENV JAVA_OPTS=" 阅读全文
posted @ 2021-11-13 10:40 CanntBelieve 阅读(1373) 评论(0) 推荐(0) 编辑

2021年11月12日

摘要: InputStream.available() 可以获取InputStream的总的长度吗 答案是不确定。总结如下: 处理文件输入流: 可以 处理网络流(socket):不可以 官方的说明是: 总之,尽量还是别使用它来获取流的长度, 如果是文件, 我们完全可以使用 file对象的.length() 阅读全文
posted @ 2021-11-12 20:41 CanntBelieve 阅读(7313) 评论(0) 推荐(0) 编辑

2021年10月28日

摘要: git FETCH_HEAD 是什么? 自己测试 打开本地文件: 切换本地分支之后, 然后执行 git pull,本地的FETCH_HEAD 发送改变: 注意需要执行 git pull, FETCH_HEAD 才会发送变化。 否则不变。 第一行是 当前分支的真正的 FETCHHEAD, 其中of 后 阅读全文
posted @ 2021-10-28 19:34 CanntBelieve 阅读(721) 评论(0) 推荐(0) 编辑

2021年10月21日

摘要: maven 编译和缓存 maven 入门是很容易的,但是用好比较难。经常是各种奇怪问题。 比如, 我一个maven工程的 依赖的jar 已经发生了变化: 可能类名、方法、字段都已经改了, 但我当前工程 却没报错, 重新编译也没有出现任何问题, 但是呢, 你重启一下idea ,问题就出来了! why, 阅读全文
posted @ 2021-10-21 12:58 CanntBelieve 阅读(1299) 评论(0) 推荐(0) 编辑

2021年10月20日

摘要: .gitignore 语法 .gitignore 很好用, 但是 如果不搞懂其语法, 也会是引起一些误会 比如 file/ , 它是忽略所有 名为 file 的目录,不管它处于什么层级!这样就可能不是我们想要的。如果仅仅想忽略根目录下的 file 目录,那么应该是这样写: /file/ 1、abc, 阅读全文
posted @ 2021-10-20 08:56 CanntBelieve 阅读(691) 评论(1) 推荐(0) 编辑

2021年10月19日

摘要: 竟然无法编译, 报错了: java: java.lang.OutOfMemoryError: WrappedJavaFileObject[org.jetbrains.jps.javac.InputFileObject[file:/D:/code/git/mw/me/umc-portal/busine 阅读全文
posted @ 2021-10-19 18:00 CanntBelieve 阅读(1572) 评论(0) 推荐(0) 编辑

2021年10月18日

摘要: 郁闷, 莫名其妙就是启动不了了, 之前好好的: java.lang.NullPointerException: null at org.apache.commons.lang3.SystemUtils.isJavaVersionAtLeast(SystemUtils.java:1654) ~[com 阅读全文
posted @ 2021-10-18 20:24 CanntBelieve 阅读(836) 评论(1) 推荐(0) 编辑

2021年10月17日

摘要: 测试 mail.rar , 一个1.59GB 的大文件,结果如下: // 分别测试3次,下面是测试结果; 我的电脑是 intel i5 4核, 8G 内存; 不运行此程序且 不做任何操作 的时候, 观察发现: cpu 10%, mem 70% // md5ByJavaIO , 观察发现,大概的平均是 阅读全文
posted @ 2021-10-17 21:50 CanntBelieve 阅读(552) 评论(0) 推荐(0) 编辑

2021年10月16日

摘要: java 中创建的文件, 想手动删除, 但是无法删除, 提示: 关闭java进程后就可以了。 why, 其实就是因为 java 中打开了文件 的FileInputStream, 但是却没有关闭。 关闭一下就好了: } finally { IOUtils.closeQuietly(fileInputS 阅读全文
posted @ 2021-10-16 15:59 CanntBelieve 阅读(64) 评论(0) 推荐(0) 编辑

2021年10月15日

摘要: BASE64 是完全可逆的, 他的原理不难理解; 首先需要知道,图片转换成base64并不是加解密,而是编解码,主要的作用不在于安全性,而在于让内容能在各个网关间无错的传输,这才是Base64编码的核心作用。 1 base64编码原理 Base64编码是基于64个字符A-Z,a-z,0-9,+,/的 阅读全文
posted @ 2021-10-15 20:18 CanntBelieve 阅读(559) 评论(0) 推荐(0) 编辑

2021年9月29日

摘要: ConcurrentHashMap 在 iterator 遍历时候的是线程安全 的,Collections.synchronizedSortedMap 不是; package test.lk; import com.google.common.cache.CacheBuilder; import c 阅读全文
posted @ 2021-09-29 19:42 CanntBelieve 阅读(370) 评论(0) 推荐(0) 编辑

2021年9月28日

摘要: 为什么无法 精准转换呢 double doubleMaxValue = Double.MAX_VALUE; System.out.println("doubleMaxValue = " + doubleMaxValue); System.out.println("doubleMaxValue -1 阅读全文
posted @ 2021-09-28 20:56 CanntBelieve 阅读(164) 评论(0) 推荐(0) 编辑