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

深圳找工作,10年 Java程序员,硬核人生! 寻求一份有挑战有激情的牛逼工作!! 一起改变世界!!! 寻找志同道合的有志于研究技术的朋友,加群 165874185;

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

2021年4月13日

正文内容加载中...
posted @ 2021-04-13 06:03 CanntBelieve 阅读(11) 评论(0) 推荐(0) 编辑

2021年4月12日

摘要:平滑限流 什么是平滑限流? 平就是平稳、滑是没有折线(好像也不太准确),没有曲线?(曲线其实也可以有Smooth的意思)丝滑?总之是比较Smooth就对了。guava中RateLimiter 的实现只有平滑限流的实现,即SmoothRateLimiter。 而SmoothRateLimiter 也是 阅读全文
posted @ 2021-04-12 06:32 CanntBelieve 阅读(8) 评论(0) 推荐(0) 编辑

2021年3月14日

摘要:如何保证缓存与数据库的双写一致性? 这是个难题,本文在阅览大量专家博客之后吐血总结10种方案! 令 tu为更新线程,tr读线程; tx 为任意线程,就是说可能是tu,也可能是tr。数据库记为D,缓存记为C。从而: 新增数据库记录记为aD, 新增数据库记录记为aC, 更新数据库记录 记为uD,更新缓存 阅读全文
posted @ 2021-03-14 12:17 CanntBelieve 阅读(42) 评论(0) 推荐(0) 编辑

2021年3月13日

摘要:什么是平滑限流?它相对于固定、滑动窗口限流,它可以提供某种平滑流量的功能。RateLimiter本意是 速率限制器,而它的2个实现都是平滑的!RateLimiter 有2个实现是 SmoothBursty和SmoothWarmingUp,两个实现都是Smooth开头,表明了其平滑的特性。所以,可以认 阅读全文
posted @ 2021-03-13 22:51 CanntBelieve 阅读(32) 评论(0) 推荐(0) 编辑

2021年3月9日

摘要:海阔天空 - 信乐团 我曾怀疑我 走在沙漠中 从不结果 无论种什么梦 才张开翅膀 风却变沉默 习惯伤痛能不能算收获 庆幸的是我 一直没回头 终于发现真的是有绿洲 每把汗流了生命变的厚重 走出沮丧才看见 新宇宙 海阔天空 在勇敢以后 要拿执着 将命运的锁打破 冷漠的人 谢谢你们曾经看轻我 让我不低头 阅读全文
posted @ 2021-03-09 08:20 CanntBelieve 阅读(15) 评论(0) 推荐(0) 编辑

2021年3月7日

摘要:redis lua 限流有很多种方式, 本文分析一种最简单的最常见的方式。 --获取KEY local key1 = KEYS[1] --获取参数 local avg1 = ARGV[1] local avg2 = ARGV[2] --打印日志到reids --注意,这里的打印日志级别,需要和red 阅读全文
posted @ 2021-03-07 12:09 CanntBelieve 阅读(41) 评论(0) 推荐(0) 编辑

摘要:这样一个简单方法, public void as() throws Exception{ URL url = new URL("http://localhost:8769/accr/print"); HttpURLConnection urlConnection = (HttpURLConnecti 阅读全文
posted @ 2021-03-07 11:52 CanntBelieve 阅读(64) 评论(0) 推荐(0) 编辑

2021年3月6日

摘要:漏桶算法和令牌桶算法的区别, 说得清楚吗? 其实两个算法并不难理解,当然有区别,但是感觉区别没那么大, 看网上的一下说明,感觉是误导他人。 引用网上说明: 漏桶算法和令牌桶算法的区别 **漏桶算法的出水速度是恒定的,**那么意味着如果瞬时大流量的话,将有大部分请求被丢弃掉(也就是所谓的溢出)。漏桶算 阅读全文
posted @ 2021-03-06 17:16 CanntBelieve 阅读(27) 评论(0) 推荐(0) 编辑

2021年2月24日

摘要:如果我是技术leader,给我适当的权力,我一定要打造: 良好的技术氛围、互帮互助 经常有培训、每个人都能得到最大的成长 互帮互助才能维系感情,不可能是单方面付出 公共方法的提炼… 破除一切 不合理… 打造技术知识库,业务知识库, 持续 上升发展… 团队间彼此赋能 提高 代码可读性,一看就懂,尽量 阅读全文
posted @ 2021-02-24 07:16 CanntBelieve 阅读(20) 评论(0) 推荐(0) 编辑

2021年2月20日

摘要:maven日志观察 观察 maven- 开头的行,可以看到打包的过程: 首先是 Scanning for projects... 然后下载一下 xx-maven-metadata.xml [INFO] maven-resources-plugin:3.1.0:resources (default-r 阅读全文
posted @ 2021-02-20 06:31 CanntBelieve 阅读(5) 评论(0) 推荐(0) 编辑

该文被密码保护。 阅读全文
posted @ 2021-02-20 05:29 CanntBelieve 阅读(36) 评论(0) 推荐(0) 编辑

2021年1月31日

摘要:简而言之: 对于 RedisTemplate来说, k、v 都可以是任何类型, 对于 StringRedisTemplate 来说, k、v 都必须是 String类型,包括 hash、set。 而且key 不能使用 对象,因为不会调用 toString(), 否则引起 cast 异常 传给 Red 阅读全文
posted @ 2021-01-31 16:50 CanntBelieve 阅读(23) 评论(0) 推荐(0) 编辑

2021年1月30日

摘要:测试发现,只有 一个 alg 是必填的, 其他都是可选的! 可能是有默认值! 修改HEADER 丝毫不会影响 PAYLOAD,反之亦然!! 就是说 HEADER PAYLOAD 相互独立!! alg: 有很多可选,但是不能随便qwer这样 iat: issued at, 只要是数字就可以, 随便填不 阅读全文
posted @ 2021-01-30 20:46 CanntBelieve 阅读(27) 评论(0) 推荐(0) 编辑

2021年1月20日

摘要:不能 preparedStatement.setString(0, "" + account_no); 导致: java.sql.SQLException: Parameter index out of range (0 < 1 ). 我的代码如下: PreparedStatement prepar 阅读全文
posted @ 2021-01-20 21:51 CanntBelieve 阅读(64) 评论(0) 推荐(0) 编辑

摘要:persistentvolume/nfs-pv1 created error: error parsing redis-pv.yaml: error converting YAML to JSON: yaml: line 8: did not find expected key [root@mast 阅读全文
posted @ 2021-01-20 07:16 CanntBelieve 阅读(84) 评论(0) 推荐(0) 编辑

2020年12月13日

摘要: 阅读全文
posted @ 2020-12-13 23:56 CanntBelieve 阅读(83) 评论(0) 推荐(0) 编辑

2020年12月9日

摘要:jps -l | grep bus | cut -d " " -f 1 # 找出 java 关键字为 bus 的 线程的id, echo test | cat # --> 输出 test 如上: grep 是可以的, cut 、 cat 也可以, 但 echo 就不行 cat sk.sh | ech 阅读全文
posted @ 2020-12-09 22:59 CanntBelieve 阅读(92) 评论(0) 推荐(0) 编辑

2020年12月5日

摘要:一、临时设置密码 获取密码 config get requirepass 设置密码 config set requirepass 123456 当有密码的时候登录时需要密码登录 auth 密码 取消密码 config set requirepass '' 设置好密码此时登录不输密码会报错 二、永久设 阅读全文
posted @ 2020-12-05 11:14 CanntBelieve 阅读(384) 评论(0) 推荐(0) 编辑

2020年11月26日

摘要:阅读源码的时候,经常想要快速获取Java类、方法、属性的签名 。 本能想到了javap。但是直接执行javap 是不行的,因为类位于jar。 不想太麻烦,也不想额外使用什么插件(也不知道有没有), 搜索半天也没有找到好的解决方案,貌似大家都不关心这个事情.. 后面参考 https://zhidao. 阅读全文
posted @ 2020-11-26 00:10 CanntBelieve 阅读(125) 评论(0) 推荐(0) 编辑

2020年9月21日

摘要:#当面试官问「你有什么要问我的吗」时,应该问什么? 按照我的理解,如果超过3个问题都回答不上来或者回答的不好,那基本没戏; 这样的话,与其问一些关于公司、岗位、同事、待遇方面的问题,倒不如直接问关于自己的问题,比如: ## 请问你能告诉我刚才你问的那些面试问题的答案吗? 或者问,请问我刚才有哪几个题 阅读全文
posted @ 2020-09-21 00:32 CanntBelieve 阅读(147) 评论(0) 推荐(0) 编辑

2020年6月19日

摘要:我遇到的问题,基本和 https://github.com/xuxueli/xxl-job/issues/840 是完全一样的; 作者的解释是:你好,应该是低版本存在JS缓存。强制刷新一下浏览器缓存,退出并重新登陆确认下。 不过我的 xxl 镜像版本是 2.0.1; (其实表现是一样的) 我使用下面 阅读全文
posted @ 2020-06-19 19:56 CanntBelieve 阅读(548) 评论(0) 推荐(0) 编辑

2020年4月9日

摘要:其实 ThreadLocal 命名不太好,应当改名叫做 thread-local variable,即线程本地变量。一个ThreadLocal实例就是一个线程本地变量。它的特点是就是 任何时候同一个线程可以通过这个 ThreadLocal实例变量 访问到绑定的值 (其实有点绕);需要注意的是 ini 阅读全文
posted @ 2020-04-09 01:31 CanntBelieve 阅读(227) 评论(0) 推荐(0) 编辑

2020年4月8日

摘要:可重入读写锁 ReentrantReadWriteLock 其实基本上模拟了文件的读写锁操作。ReentrantReadWriteLock 和ReentrantLock 的差别还是蛮大的; 但是也有很多的相似之处; ReentrantReadWriteLock 的 writerLock 其实就是相当 阅读全文
posted @ 2020-04-08 23:09 CanntBelieve 阅读(265) 评论(0) 推荐(0) 编辑

2020年4月7日

摘要:LockSupport的主要方法是: LockSupport#LockSupportLockSupport#setBlocker(Thread t, Object arg)LockSupport#unpark(Thread t)LockSupport#park(java.lang.Object)Lo 阅读全文
posted @ 2020-04-07 19:58 CanntBelieve 阅读(190) 评论(0) 推荐(0) 编辑

摘要:ReentrantLock 内部有一个基于AQS的Sync,然后 衍生了 NonfairSync FairSync ... 每次只获取、释放 一个资源; 主要需要理解两个关键点: 可重入锁 、 公平锁和非公平锁 可重入的意思是线程在执行 lock 方法包围起来的临界区的内部代码,还可以调用lock。 阅读全文
posted @ 2020-04-07 13:36 CanntBelieve 阅读(212) 评论(0) 推荐(0) 编辑

2020年4月6日

摘要:首先我们需要理解一些基本的概念,然后我们对AbstractQueuedSynchronizer 进行详尽的分析。 Cancellation即表示取消的机制,虽然AQS没有提供公开的cancel之类的方法,但是它却真实存在(可能有外包线程调用当前线程的中断方法), Cancellation 包括了中断 阅读全文
posted @ 2020-04-06 18:26 CanntBelieve 阅读(255) 评论(0) 推荐(0) 编辑

摘要:今天是2020年4月5日。突然很想和大家聊一聊新冠肺炎的看法。顺便斗胆的给大家科普一下相关的概念。因为我是理科生,对于这些数字图表啥的非常的熟悉。(也因为网上相关资料比较少吧,这可能是我查询方式不对吧, 或者大家都已经懂了吧~?) 比如搜索 确诊人数、 累计确诊 昨天呢是一年一度的清明节,而且国务院 阅读全文
posted @ 2020-04-06 18:22 CanntBelieve 阅读(992) 评论(0) 推荐(0) 编辑

2020年2月29日

摘要:混淆工具 proguard 前后接触一段时间了,差不多了是明白了,不过遇到很多坑,差点被跳不出来坑了!真的难学啊! 真是是太难了; 教训1 ServerKeyStore 是kotlin类,不能 进行普通的混淆。 2020-02-29 01:28:18,786 [ERROR] PCStarter:16 阅读全文
posted @ 2020-02-29 22:55 CanntBelieve 阅读(1115) 评论(0) 推荐(0) 编辑

2019年12月29日

摘要:什么情况? 下面的一段简单代码,发现了奇怪的编码问题: 打印出来结果是? default = 正文GBK = 正文UTF-8 = ????ISO-8859-1 = ???? default = ????GBK = ????UTF-8 = ????ISO-8859-1 = ???? 匪夷所思啊! 简直 阅读全文
posted @ 2019-12-29 15:52 CanntBelieve 阅读(866) 评论(0) 推荐(0) 编辑

2019年12月20日

摘要:整理了下之前写的chrome-extensions-copier,分享给大家。 这个插件呢,主要用来在chrome浏览器上复制某些网站的某些特定内容,主要是用来复制代码,提高效率!(没办法,某些网站不注重用户体验,连这么简单的功能都不提供)。写这个插件的初衷就是,在阅读某些博客的时候呢,快速的实验。 阅读全文
posted @ 2019-12-20 16:03 CanntBelieve 阅读(254) 评论(0) 推荐(0) 编辑

2019年11月10日

摘要:看一个图 toLocaleString 的格式是 yyyy/MM/d , 想要 yyyy/MM/dd, toISOString 的格式基本满足, 本想直接 split("T"), 但是,发现有问题, toISOString 是英国格林威治的标准, 如果我们本地现在是 12日 早上7点,那么toISO 阅读全文
posted @ 2019-11-10 08:58 CanntBelieve 阅读(145) 评论(0) 推荐(0) 编辑

2019年11月5日

摘要:本文尝试分析一下Spring 的 ApplicationContext体系的 接口设计,尝试理解为什么这么做,为什么接口这么设计、为什么这么去实现,为什么需要有这个方法,为什么 这样命名?接口、类、方法的 大致用途是什么? 是否是最合理的?是否有完善的空间? 是否 让一个 同样顶级人才来设计,是否会 阅读全文
posted @ 2019-11-05 17:22 CanntBelieve 阅读(334) 评论(0) 推荐(0) 编辑

摘要:本文尝试分析一下Spring 的BeanFactory 体系的 接口设计,尝试理解为什么这么做,为什么接口这么设计、为什么这么去实现,为什么需要有这个方法,为什么 这样命名?接口、类、方法的 大致用途是什么? 是否是最合理的?是否有完善的空间? 是否 让一个 同样顶级人才来设计,是否会得到一样的 设 阅读全文
posted @ 2019-11-05 14:39 CanntBelieve 阅读(214) 评论(0) 推荐(0) 编辑

只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-11-05 06:25 CanntBelieve 阅读(7) 评论(0) 推荐(0) 编辑

2019年10月28日

摘要:我们很多人都曾梦想仗剑走天涯,看一看世界的繁华,可是世界的繁华始终与我们无关。自己都感动不了,何以感动世界? 阅读全文
posted @ 2019-10-28 16:44 CanntBelieve 阅读(233) 评论(0) 推荐(0) 编辑

2019年10月27日

摘要:一个线程 就是一个 人!!! 这个想法我早已有之。。! 参考 若把线程当作一个人,所有问题都瞬间明白了 (38/3432) 阅读全文
posted @ 2019-10-27 09:04 CanntBelieve 阅读(139) 评论(0) 推荐(0) 编辑

2019年10月23日

摘要:我的dubbo应用, 刚开始的时候,启动一两个是没有问题的, 启动多了就大量出现: 可以看到 NamingProxy 的reqAPI 方法返回了错误。 根本原因是: 再进去 开始的时候,总是以为是服务端出了什么问题, 应该就是 httpclient 发送GET 请求, 服务端没有正确响应吧! 于是反 阅读全文
posted @ 2019-10-23 18:03 CanntBelieve 阅读(3872) 评论(0) 推荐(0) 编辑

2019年9月20日

摘要:调试一个程序, 调试到一半, 下班回家, 程序卡在了某一行, 第二天早上回来一看, 发现了异常: 错误信息一大堆,其实就是 其实关键字是 timeouts, 也就是 mysql 的连接 超时了! 不用管, 重启就好了! 阅读全文
posted @ 2019-09-20 11:53 CanntBelieve 阅读(1308) 评论(0) 推荐(0) 编辑

2019年9月19日

摘要:pom 加入 elasticsearch7 的依赖, 然后做过简单的测试, 发现了错误 : 也真不知道 是咋回事!奇葩! 仔细检查 7.3.1 ,org.elasticsearch.common.logging.Loggers.getLogger ,发现确实有那个 方法, 但是 实际上 引用的是 6 阅读全文
posted @ 2019-09-19 15:03 CanntBelieve 阅读(1643) 评论(0) 推荐(0) 编辑

2019年9月16日

摘要:二进制内容的 能否可视化? 网上的资料比较少啊! 有时候通过 可视化工具,比如redis DesktopManager 查看 redis 的key 的值的时候,发现是 二进制内容, 如下: 出现二进制的内容, 丝毫不奇怪,因为我set的时候value就是key。怪的是, 为什么有的 英文字母 能够展 阅读全文
posted @ 2019-09-16 21:44 CanntBelieve 阅读(2330) 评论(1) 推荐(0) 编辑