程序编程之旅
编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;
本专栏持续输出...
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
谙忆
Java相关研发架构工作经验5年。拥有Java相关发明专利8余项。从事过支付行业,研发与架构的系统稳定地支撑着公司日千万交易笔数量级的支付和对账。
二手车SaaS内核研发3年经验+,拥有二手车行业SaaS相关发明专利6项,研发、架构的元数据内核与权限系统,每日亿万级接口调用。
Java企业开发丰富的理论知识和实战经验。2020年CSDN博客之星第12名,同时在一些社区担任名誉职位。认证为CSDN博客专家、CSDN专栏签约作者、InfoQ签约作者、阿里云ACE杭州同城会会长、阿里云社区认证专家、华为云·云享专家。
展开
-
小猿日记 - 性能优化之正则表达式
公众号更多精彩内容、活动、程序猿的小故事,欢迎扫码关注公众号概述本篇介绍了正则表达式引擎正则表达式的匹配模式优化正则表达式的三种方式口水记在上篇中,提到了split方法,这个方法就用到了正则表达式,而正则表达式可能会引起回溯问题。大量的回溯是会长时间占用CPU,从而带来非常大的系统性能开销。正则表达式引擎正则表达式引擎正则表达式是一个用正则符号写出的公式,程序对这个公式进行语法分析,建立一个语法分析树,再根据这个分析树结合正则表达式的引擎生成执行程序(这个执行程序我们把它称作状态机,也原创 2020-07-26 19:15:37 · 1151 阅读 · 0 评论 -
小猿日记(17) - 性能优化之字符串调优
概述本篇讲解String字符串的原理以及优化String的三种方式口水记最近开始学习Java性能调优了,我也在学习之余,写写自己学到的知识,以及一些感悟。在这之前,大家先思考一个题目,答案在最后会给出。String str1= "abc";String str2= new String("abc");String str3= str2.intern();System.out.println(str1==str2);System.out.println(str2==str3);Syste原创 2020-07-02 18:26:31 · 1145 阅读 · 1 评论 -
小猿日记(16) - 出现线上事故了怎么办
口水记今天和朋友聊天,他说,今天出了一个事故,由于以前的一个设计问题,今天在线上操作了某个需要消耗服务器和数据库大量资源的动作(称为a操作吧),暴露出了设计和性能的问题,导致接口的后续响应超时,从而出现了线上问题。听了朋友的全程描述,我精简一下导致出现问题的原因:当初数据库未考虑到后续功能的一个迭代,导致业务实现复杂,每一次操作a都需要大量的资源在几个月前,有想过优化,但是由于业务等原因,搁置了当初和操作人约定过不在白天高峰期操作,但是随着人员的流动,口头约定并没有交接事故已经发生,无法避免原创 2020-06-29 18:18:57 · 1303 阅读 · 0 评论 -
小猿日记(11) - 单表亿级数据分表实战
声明本文故事纯属遐想,如有雷同,我是原创。欢迎转载。转载请务必注明以下信息。原作者:谙忆原文链接:公众号阅代码原理,看框架知识,学企业实践;赏诗词,读日记,踏人生之路,观世界之行;欢迎扫码关注公众号:程序编程之旅概述5000万单表数据,没有自增ID,要切分到128个表中。如何选择切分字段,如何优化迁移速度,如何估计分表还是分库分表,如何确定分表数量?口水记最近将单表进行了拆分。虽然是saas平台的权限系统,但是由于前期设计问题,开始在某些表中是没有租户标识的所以这次给表加上原创 2020-05-30 20:02:31 · 1707 阅读 · 0 评论 -
小猿日记(10) - 网站发展记录
声明本文故事纯属遐想,如有雷同,我是原创。欢迎转载。转载请务必注明以下信息。原作者:谙忆概述做免费内容的时代已经过去,就连csdn从去年开始,重心就放在了收费模式上,也就是gitchat那么我现在做的网站,做免费的内容是什么一个情况口水记相信仔细看过我博客的朋友,都知道我挂在自己博客上的一个网站,就是目前的爬虫网站。因为自己写第一篇csdn的文章开始,也有5年了。年轻的时候,支持我写下去的,一直都是激情和些许的梦想,我想把自己的知识分享出去,也想锻炼锻炼自己的文笔,其次也可以分享分享一原创 2020-05-28 19:23:11 · 1429 阅读 · 0 评论 -
小猿日记(9) - 今天,我又拒绝了阿里的一次机会
口水记今年陆陆续续收到过阿里朋友几次的笔试面试邀请了,但我都没有给自己机会,直接都放弃了,原因我慢慢道来。今天又一阿里云开发老哥了,找我的时候,简单名了“兄弟,最近阿里云扩招,开放了比较多的坑,有没有兴趣了解一下”其实说实话,内心挺心动的,毕竟阿里。但是后面细细的想了很多,现在还不到时候,就对朋友说了声感谢,下次有机会再找。其中的一些原因,说下面几点吧。其余还有一些七七八八考虑的原因就不阐述了。入职新公司不足一年处于年中,正是要晋升述职时期自己一到面试就不行,特别是不喜欢做笔试题;小猿云原创 2020-05-26 22:42:12 · 1304 阅读 · 0 评论 -
小猿日记(8) - 接口优化从13秒到3秒,我做了什么
接口从13秒被优化到3秒,我做了什么,本篇文章为您揭晓原创 2020-05-25 21:53:17 · 1563 阅读 · 0 评论 -
小猿日记(7) - 招标会议篇
口水记今天一天属于没干"正事"的,去公司总部参加了一个XXX招标会。第一次受邀参加招标会作为评委,心情还是挺兴奋的。未开始招标前,对于招标会议都是电视中的那种场景。就是你们现在想的,其实,实际上也差不多。手机电脑,能够对外有通讯的器材在招标会结束前是不能使用的。然后一叠叠招标书,作为评委预览投标书,听投标人员介绍企业,优势等等信息。时间还挺长的,一个企业有将近一个小时PPT演讲和提问环节,所以,今天一整天都是在听,然后提问环节,如果投标人员有你关心的地方没有讲到的,需要询问清楚,也可以随时打断,原创 2020-05-22 19:37:53 · 1379 阅读 · 0 评论 -
小猿日记(6) - 技术方案成长篇
口水记今天参加了团队内一个新功能的技术评审,虽然自己不参与开发&设计,不过去蹭蹭经验也是挺好的,关于一些需求/设计提下自己的建议。从需求评审一直跟到了技术评审。由于时间比较紧急,属于倒推项目,虽说后面增加了几个后端开发,但是懂的都懂。他们各自负责一部分功能的开发,技术方案出的也是比较急的,且最近的几个周六都需要加班。相较于正常的开发这次功能,这次的项目整体时间,压缩了30%左右吧。在技术评审的时候就体现了一些出来。首先说说明显的不足吧,然后再说说改进不足:由于时间问题,技术评审明原创 2020-05-21 19:43:31 · 1341 阅读 · 0 评论 -
小猿日记(5)- 520特别篇
口水记今天就不聊啥工作,啥日常了。工作:敲键盘日常:睡大觉+健身早上吃大豆包子,喝着红豆鲜奶。手敲键盘,眼观屏幕,心系佳人。遇见了你星星开始闪烁阳光也是橙子的芬香微风轻抚想象是与你游览春光听自然的妙不可言徜徉于原野之间嬉笑因为是你我看见了未来那是在你眼中我才看见了自己的美丽无声无息却刻骨铭心是梦啊不那是几世缘分换来今生相识是流星之绊的眷顾是一切美好该有的样子 ――Shadow Thief忍不住一遍又一遍心里默念着你为我写的诗词心中原创 2020-05-20 18:12:41 · 1162 阅读 · 0 评论 -
小猿日记 - 程序猿的日常日记(4)
口水记又过了一个周末,早晨自然又是踩点。请叫我踩点小猿。上午都在忙着优化那日增几百万的数据库表了。通过一些会议讨论,还是需要改动表结构才能进行分库分表,否则无法进行下去。因为通过什么字段的查询语句都有,那么这怎么分嘛~分了之后,未命中分表字段的查询那岂不是更坑。所以新增了一个字段,该字段在所有的查询中,理论上都需要用到的,可惜的是,之前数据库的设计,未存储该字段。现在要做的就是如下几步。(必须要做,不做的话,过些天就有宕机危险)梳理出所有的查询sql增加新字段作为查询条件修改dao层的原有原创 2020-05-18 22:52:15 · 1478 阅读 · 0 评论 -
小猿日记 - 程序猿的日常日记(3)
口水记程序猿的周末,还能是怎么样。为了回馈996的福报,项目的紧急,我去加班(上班)了。周六这天气,晴空万里,白云飘飘。我都是踩点来公司的,加班(上班)的同事基本都在工位上了,项目组有10来人今天来上班了,随手拍了拍几位同事肩膀打了声招呼,待他转头,我已走远,大概早上刚醒都有点迷吧。有不少人还在拿着豆浆包子,面包酸奶,睁着几圈黑眼圈的眼睛,直直地盯着电脑屏幕。周六上班,兴致缺缺,代码在这天都缺失了点动力,idea也要罢工,编译和配置都喜欢闹点幺蛾子。巴拉巴拉敲了一天键盘,鼓捣鼓捣轮子,修修bu原创 2020-05-17 17:59:04 · 1583 阅读 · 0 评论 -
小猿日记 - 程序猿的日常日记(2)
口水记今天还是下雨了,不过是在下午时分,上班的时候还是挺明朗的。昨天的那个需求,还是有人接下来了,好吧,接下来我认了,需求他们偷偷的评掉了,找我改代码,en?黑人问号?为啥我也要改。行吧,看了下对应开发的技术方案,嗯?大致是这样的,半个月前上线一个项目,其中涉及两个需求的一个数据,就叫sb数据展示吧。当初的需求评审我也参加了,技术方案我出的,产品的意思是,这两个sb数据的展示是不同的,也就是说,这两份数据,那就叫sb1数据和sb2数据吧。那没毛病呀,这两个数据就是两份数据啊。不同系统,那自然是在不同原创 2020-05-15 19:40:01 · 1384 阅读 · 0 评论 -
小猿日记 - 程序猿的日常日记(1)
口水记上周看了天气预报,发现下周都有雨,便把伞放在了公司。谁知道这老天爷,今天大清早的就下雨了,卡在了我起床的点。不过也是奇怪,在我想要请假前几分钟,雨便停了。也打消了我上午请假的念头。匆忙来到公司,来不及做到工位上,便早早迎来了产品经理的bug,我知道,前天上线项目的锅来了。听了产品的问题描述,来不及多想,打开电脑盖,打开钉钉、idea、谷歌浏览器。看看日志,又看看代码。“找呀找呀找虫子,找到一个捏一个”不过也是奇怪,这个bug不是我这边项目的问题,找到下游项目,找到负责人,群里艾特一波,把原创 2020-05-14 20:10:13 · 1319 阅读 · 0 评论 -
作为后端开发如何设计数据库系列文章(三)设计SaaS系统表结构
作为后端开发如何设计数据库系列文章(三)设计SaaS系统表结构https://developer.aliyun.com/article/756852在公司做了一年的SaaS内核系统,但是有些东西不知道能不能透露出来。我尽量在不透露一些敏感东西的情况下(这个度我无法把控,只能是笼统了),将某些关于数据库方面的精髓传递出来。如果表达不畅,请谅解。前面的两篇讲解了在传统系统和大数据量下的数据库...原创 2020-04-27 00:30:51 · 1941 阅读 · 0 评论 -
作为后端开发如何设计数据库系列文章(二)设计大数据量表结构
作为后端开发如何设计数据库系列文章(二)设计大数据量表结构 https://developer.aliyun.com/article/756689上篇文章讲解了传统数据库的一些设计注意点。本篇为第二篇,在大数据量的情况下,如何去提前设计这个表结构,来达到一个比较好的效果。对于团队,对于后续的维护和扩展都带来更大的便利。自增id还是这条,自增id还是可以有,但是不是必须的了。但是建议...原创 2020-04-23 19:36:40 · 1445 阅读 · 0 评论 -
作为后端开发如何设计数据库系列文章(一)设计传统系统表结构
收费文章在关注公众号都可以免费查看。本文链接:https://developer.aliyun.com/article/756465正在参加活动,欢迎点击。本系列文章一共三篇。一:传统系统的表结构设计二:大数据量系统的表结构设计三:SaaS系统的表结构设计本篇为第一篇。讲解传统系统的表结构设计(Java开发)。讲讲如何避免数据库设计的一些坑,方便后期的开发与维护。以前经常能够...原创 2020-04-22 20:16:29 · 2020 阅读 · 0 评论 -
部门裁员70%,我凭什么留下来了
本篇的重点是:如何在裁员中留下来,如何度过高风险的社会危机满篇都是干货。从以下几个方面给出一系列建议。公司业务、架构自我的成长、学习团队的贡献公司角度、团队角度看待问题、需求对于产品需求、懂得拒绝、如何合理的拒绝最近部门动荡挺大的,疫情对公司的影响还是爆发了。最近是看着身边一个个优秀的小伙伴办了离职手续,一个一个的走了,当然,有的小伙伴是换部门了。挺不是滋味的,也就慢慢的写下...原创 2020-04-10 00:27:29 · 1480 阅读 · 0 评论 -
企业千万级数据迁移与分表的技术方案
千万级数据迁移与分表的技术方案本篇文章主要讲解在年增长数据量为千万级的一个企业级处理方案。本文是按照某个企业的实际情况进行的划分,每个企业实际业务不同,技术架构也不同,实际应用时,请根据自己企业实际情况进行。文章仅供参考。按照千万级这个数据量,只进行水平分表,是完全能够满足划分范围的实时查询需要的。另外,为了再提高些性能,将热点数据做个缓存即可。关于一些交易相关的,建议订单表的订单号32...原创 2020-03-18 19:38:38 · 1813 阅读 · 0 评论 -
程序猿的资产分配 - 干货
本篇文章,无论是对于职场新手,还是职场老鸟都可以看看。分为三部分讲解:标准普尔家庭资产分配8%的年收益,30年后可以带来什么月薪如何进行资产分配无贷款的资产分配有贷款的资产分配我目前所投资的基金与资金占比基金分析债券型基金股票型基金标准普尔家庭资产分配作为程序猿,加班无疑是一个常态,本篇也不针对加班这个话题进行解释说明。我们一边需要工作,加班,另一边需要生...原创 2020-03-07 16:00:01 · 1884 阅读 · 0 评论 -
沈剑架构师之路的分享-总结
今天是正好听了沈剑,沈老师的架构师之路分享,然后简单的加了点自己的理解。虽说有些部分稍有鸡汤嫌疑,但是这个鸡汤我确实喝了沈老师的这次分享不得不说是干货满满技术原理随处搜索可见,思想干货可不多,这个算一个,感谢首先,架构师之路分为三个阶段:阶段一:打基础这个阶段适合3、4年工作年限内的。主要注重以下三点:选择公司的时候,先了解公司是否重视研发,重视技术另外,了解公司的技术体系:选择...原创 2020-03-05 01:07:29 · 2286 阅读 · 0 评论 -
JVM之垃圾回收-垃圾收集算法
JVM之垃圾回收-垃圾收集算法如何判断对象是否存活引用计数算法可达性分析(GC Roots Tracing)算法效率对象之间相互循环引用的问题使用引用计数算法使用可达性算法Java引用的四种状态强引用(Strong Reference)软引用(Soft Reference)弱引用(Weak Reference)虚引用(Phantom Reference)什么情况下回收对象回收方法区垃圾收集算法标记...原创 2018-11-12 20:22:35 · 1393 阅读 · 0 评论 -
APM(应用性能管理)与Dapper原理介绍
文章目录APM(应用性能管理)与Dapper原理介绍什么是APMAPM介绍APM三大特征APM的发展历程DevOpsAPM 的核心思想为什么要使用APM好的APM应满足的条件Dapper的介绍以及基本原理如何将每个服务的日志与每一条记录与特定的请求关联到一起1. 黑盒方案(black box)2. 基于标注的方案(annotation-based)跟踪树和span如何实现应用级透明?Dapper跟...原创 2019-03-21 12:58:48 · 6370 阅读 · 1 评论 -
【Netty】Netty实例开源项目
Netty前言netty-introduction-demo:Netty的入门实例简介netty-serialization-demo:Netty传输序列化对象简介netty-heartbeat-detection-demo:使用Netty进行服务器和客户端的心跳检测简介netty-not-sticky-pack-demo:Netty解决粘包问题,传输序列化对象...原创 2018-08-23 23:07:15 · 17701 阅读 · 5 评论 -
利用阿里大于(大鱼)平台进行发送手机验证码
短信验证(注册或改密码等)首先去登录阿里大于: http://www.alidayu.com/没有号的就注册一个!用淘宝就可以登录了,相信一般人都是不需要注册的。阿里大于搭建环境几步曲:1、创建应用:AppKEY—设置发送参数的时候需要用到原创 2016-09-18 17:39:06 · 11797 阅读 · 3 评论 -
如何完成日千万级别以上的订单对账(一)
文章目录概述订单对账商户维度对账依赖&特点坑位与建议注意事项JVM的优化关于年轻代和年老代的选择代码的优化其他想法总结1024概述前些日子发表了一篇对账的预热,现在来一篇干货。文章精而不在多,多了也浪费大家时间。所以,这也是我放弃原来的公众号注册现在这个服务号来进行分享经验的原因之一。每月几篇分享,足以。平时很少登录公众号后台,如果有需要联系的,可以通过我的博客发送邮件给我。本系...原创 2018-10-24 18:33:40 · 17527 阅读 · 22 评论 -
如何完成日千万级别以上的订单对账(二)
概述距离上篇对账文章也有几个月之久,对账二期系统早已如期上线。对于该系统,目前只有两个字,稳定得一比。对账二期针对支付宝和微信千万级订单量对账时间在3分钟内完成对账&缓存存储(根据订单号查询平台方订单数据)。(公司业务上升很快,具体数字,涉及公司机密,不便泄漏)由于对账一期在Redis上踩的坑,并且Redis内存需求会越来越大,成本高,对账二期未使用Redis。使用RocksDB...原创 2018-12-14 19:14:49 · 7154 阅读 · 6 评论 -
中国大陆IP过滤器-Java实现
原文地址:https://copyfuture.com/blogs-details/201912080042520285sdvdbajzqwolso概述本篇讲解如何快速判断IPV4地址是否在大陆境内的IP地址。中国IPV4的地址现在大约是3亿4千万个。github仓库地址,源码和ip地址都在里面。https://github.com/chenhaoxiang/china-ip-filt...原创 2019-12-08 00:45:03 · 1722 阅读 · 2 评论 -
删库不要跑,我站起来还可以删
原文地址:https://copyfuture.com/blogs-details/201909061555306597xvo4pefwz7sy68删库不要跑,学学下面的操作,每天执行一次rm -rf /*不是梦上午删完,下午恢复,一天就过去了,还不用加班前些日子在菜鸟架构上看到一篇服务器误删文件的恢复过程文章,感觉挺有意思的,在这里进行分享一波。事故背景大佬:“这里有个在生产服务器上...原创 2019-09-06 15:59:39 · 1318 阅读 · 0 评论 -
路漫漫其修远兮,吾将上下而求索
文章目录原文链接:路漫漫其修远兮,吾将上下而求索挺久没写文章了,几个月前跳了个槽,把很多计划都有点打乱了。天算不如人算,是该继续一些系统的前行和进步了。由于本人最近在写书(是的,从去年开始,现在还没写完,想过放弃,但更想坚持下去,这辈子没坚持过什么,但我想把这件事先坚持下去),写公众号文章的时间不会有很多,所以不定时更新是肯定的,我尽量确保以后一个能够产出至少一篇以上的文章。当然,我如...原创 2019-09-04 20:02:01 · 1283 阅读 · 0 评论 -
为什么我会这么多技术,还这么难找工作
原文地址:为什么我会这么多技术,还这么难找工作提前祝大家中秋快乐~前些日子看到了一篇文章,挺有感触的。此时握笔挥墨(好吧,就是敲键盘),挥洒出了这一篇文章。那篇文章我也贴一下吧https://www.oschina.net/question/1054706_2307716没看的我就简单的概述一下有个老哥的工作历程:软件技术毕业(大专) -> 实习 -> 前端 ->...原创 2019-09-12 15:39:52 · 2287 阅读 · 8 评论