jjkjack_社区达人页

个人头像照片
jjkjack
已加入开发者社区2007

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布125篇文章
5条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍

暂无精选文章
暂无更多信息

2022年06月

  • 06.24 06:38:06
    发表了文章 2022-06-24 06:38:06

    分层架构

    最近连续做了两个新项目,借着新项目的机会,重新审视一下之前一些实践方法,进而寻求一下背后的理论支撑 新项目开始,首先一个就是会新建一个project,那么这个project怎么分层,怎么创建module,怎么分包呢?
  • 06.24 06:32:55
    发表了文章 2022-06-24 06:32:55

    架构与架构师

    究竟什么才是“软件架构”?架构师的工作内容究竟是什么? 架构 “架构”这个词给人的直观感受就充满了权力与神秘感,因此谈论架构总让人有一种正在进行责任重大的决策或者深度技术分析的感觉。毕竟,进阶到软件架构这一层次是我们走技术路线的人的终极目标
  • 06.24 06:29:05
    发表了文章 2022-06-24 06:29:05

    SOLID之LSP

    里氏代换原则 LSP,Liskov Substitution Principle 子类型必须能够替换掉它们的基类型 若对每个类型S的对象O1,都存在一个类型T的对象O2,使得在所有针对T编写的程序P中,用O1替换O2后,程序P行为功能不变,则S是T的子类型 LSP是继承关系设计基本原则,也是使OCP成为可能的主要原则之一。正是子类型的可替换性才使得使用基类类型的模块在无需修改的情况下就可以扩展,对于LSP的违反常常会导致以明显违反OCP的方式使用运行时类型辨别(RTTI),这种方式常常是使用一个显式的if语句或才if/else链去确定一个对象的类型
  • 06.24 06:27:25
    发表了文章 2022-06-24 06:27:25

    SOLID之DIP

    依赖反转原则 DIP, Dependency inversion principle 1. 高层模块不应该依赖于低层模块。二者都应该依赖于抽象 2. 抽象不应该依赖于细节。细节应该依赖于抽象
  • 06.24 06:23:31
    发表了文章 2022-06-24 06:23:31

    SOLID之OCP

    开闭原则 OCP Open-Closed Principle 设计良好的计算机软件应该易于扩展,同时抗拒修改 换句话说,一个良好的计算机系统应该在不需要修改的前提下就可以轻易被扩展 遵循开闭原则设计出的模块具有两个特征: 1. “对于扩展是开放的”,当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为 2. “对于更改是封装的”,对模块进行扩展时,不必改动原有的代码
  • 06.24 06:20:48
    发表了文章 2022-06-24 06:20:48

    SOLID之SRP

    单一职责原则 SRP,single responsibility principle SRP是所有原则中最简单的之一,也是最难正确运用的之一,也是我们日常中最常用的一个 不管是编码,重构,甚至当下流行的微服务中 在很多团队的规范中,都会听到一条编码规范:一个方法不要超过x行代码 作为一群自命不凡的程序员,为什么在规范中却有如此一条格调不对称规范 主要问题就在于思维对SRP的缺失
  • 06.24 06:19:19
    发表了文章 2022-06-24 06:19:19

    ArrayList的初始容量是多少?

    ArrayList的初始容量是多少? 很多人给出的答案是10 最近无意中又看了下ArrayList源码,发现江山已不再啊,很多时候面试自我感觉还不错,总被淘汰呢,也有这方面的原因,自不知了 源码出自JDK8版本,追溯了一下,JDK7高版本时代就开始变了
  • 06.24 06:17:28
    发表了文章 2022-06-24 06:17:28

    数据库范式

    最近在开发新系统,理解业务,开始设计数据表结构; 寻找实体,确定实体间的关系及关系属性 梳理业务功能接口逻辑,其实也就是这个功能操作了哪张表的哪个字段 没有传说中的面向对象分析,DDD实践,流行的微服务玩法 也许,好久没有从零开发系统,很久没有亲手新建数据库表 沉默十秒钟,感觉像回到了学校,做个类似留言板,BBS类的学生系统;不是鄙视学生时代,而是有些恍惚 多年的工作经验,恍如做了个梦,现在设计的表结构与一名实习生有什么区别呢?
  • 06.24 06:15:42
    发表了文章 2022-06-24 06:15:42

    数据库分割扩展

    此篇作为《架构即未来》读书笔记吧,再额外补充一下主从模式、分库分表实施的知识点 书中提到AKF扩展立体结构
  • 06.24 00:34:41
    发表了文章 2022-06-24 00:34:41

    spring温习-FactoryBean应用

    不管是平时,还是面试,现在对于spring的讨论少了很多,不再像刚进入人们视野时,那么抢眼;spring现在更像空气一样,只要是java构建的项目,十之八九都是建立在spring之上,因此不可轻视,温故而知新 继《BeanFactory与FactoryBean》之后,再看FactoryBean的应用 在上面的文章中指定FactoryBean可以更加灵活的创建Bean,那就从Spring管理Bean方式说起
  • 06.24 00:33:26
    发表了文章 2022-06-24 00:33:26

    中台战略一

    最近公司进行战略调整,组建中台部门,《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》这本书是中台理论鼻祖之作,赶紧拜读 对照此书,结合当前公司状况,进行一些思考记录
  • 06.24 00:31:00
    发表了文章 2022-06-24 00:31:00

    spring温习-BeanFactory与FactoryBean

    不管是平时,还是面试,现在对于spring的讨论少了很多,不再像刚进入人们视野时,那么抢眼;spring现在就像空气一样,只要是java构建的项目,十之八九都是建立在spring之上,因此不可轻视 BeanFactory与FactoryBean,好久不见,一时也有些傻傻分不清楚,温习一下
  • 06.24 00:28:45
    发表了文章 2022-06-24 00:28:45

    开发流程规范

    这是近期在公司做的一次分享,这几年的互联网开发,算比较幸运,团队一直践行完善这套规范,没有太多的阻碍,得益于公司整体氛围,以及团队对规范和写文档的不排斥,形成了良好的开发习惯 在这次分享后,发现好些大V也在谈规范,写文档,估计是前段时间阿里又发布了开发手册(华山版),借鉴于一下,对一些细节做些补充,整理出来
  • 06.24 00:21:19
    发表了文章 2022-06-24 00:21:19

    springboot event线程池总结

    事件,达到解藕目的的手段之一 最近项目出了一个线上故障,就是因事件引起的,有必要进行一次对事件知识点的梳理 现在公司都是使用的spring全家桶,所以技术面都会在spring boot,这方面我也是新手了,学习与总结并进,新旧知识连贯 此文包含几个知识点 1. 事件实现原理 2. 事件使用的几种方式事件,达到解藕目的的手段之一 最近项目出了一个线上故障,就是因事件引起的,有必要进行一次对事件知识点的梳理 事件是引子,背后还是线程池的知识点 说来也搞笑,在面试时,几轮面试官都问了线程池问题,说明此公司肯定有过线程池的事故,要么大家统一对线程池有了高度认知,却不然遇到的第一个故障就是线程池引起的
  • 06.24 00:19:47
    发表了文章 2022-06-24 00:19:47

    springboot初探

    前人说过要对新技术保持好奇。对于游戏开发来讲,前端表现几年会有大的技术革新,还记得flash红火时,刚毕业就敢要入万的月薪。现在过气了,3d开始流行,h5也要占半边天。 反而服务端,就算你拿着五年前的技术,也不大会被市场淘汰,游戏业务还是很窄的 窄的原因,我想是业务需求太小,有多少游戏会出生,能有多少上线,又有几款成大作。 刚开始还可能要好好干,好好优化,结果一款款开发的游戏,还没上线都挂了。心凉了。技术架构根本没来及在线上验证,在上线前都是完美的,牛B的,自大了 很少有一款产品,大作,并且还能持久性的前进。技术能有保持同步的迭代,进化的环境很少
  • 06.24 00:16:56
    发表了文章 2022-06-24 00:16:56

    监控之traceid

    监控之前只总结了一篇《微服务-监控》,比较宏观。其中很多细节没有过深关注到,主要还是没有实践过,更没有去深度思考,所以很多有意思的技术点都错过了,比如traceid的生成,传递 大牛圈总的大作《微服务系统架构之分布式traceId追踪参考实现》已经给出解决方案,但还是再主动总结一下
  • 06.24 00:15:53
    发表了文章 2022-06-24 00:15:53

    一份JVM参数

    想写个一份百万QPS系统的JVM参数,感觉太标题党了,虽然这的确是,但还是朴实点; JVM参数调优是性能重器,安全第一,不可乱用,更不能因为网上推荐文章(此篇)而随便用 之前关于JVM的几篇文章《是否需要主动GC》、《JIT优化》、《GC及JVM参数》; 这些都涉及到JVM参数,然道理懂不少,还是配置不好参数;调优的确是个费劲的事。这儿直接给一份参数,可以直接拿来主义,当然也有些参数需要配合硬件及应用环境,斟酌使用,一切以实战为准
  • 06.24 00:13:12
    发表了文章 2022-06-24 00:13:12

    JIT优化之道

    《JIT优化之道》是去年在公司的一次分享,对于公司组织分享我是赞同又不赞同,怎么讲呢? 技术分享当然是好的,这是一个双赢,分享者教学相长,而收听者也能更快的了解进步。 但以前在原先的公司也做过些类事情,但没有想象的好,大家对分享主题的探索也只限于在分享时间段内,过后很少有人,几乎没人去做进一步的探索。填鸭式的学习效果甚微。后来只涉及一些项目中使用到的知识点,让项目中人去发现项目中的一些亮点,盲区 聪明人从旁人的错误中吸取教训,愚笨人则从自身的错误中吸取教训,有多少聪明人呢?不经历风雨又怎么见彩虹?
  • 06.24 00:07:18
    发表了文章 2022-06-24 00:07:18

    zookeeper知识结构3-分布式锁

    zk相关文章已经有了三篇《zookeeper-paxos》、《zookeeper知识结构》、《zookeeper知识结构2-zab协议》 但都没有到具体到应用,此篇弥补一下 talk is cheap,show me the code
  • 06.24 00:04:25
    发表了文章 2022-06-24 00:04:25

    zookeeper知识结构2-zab协议

    通过《zookeeper知识结构1》了解了zookeeper是什么?为什么使用zookeeper? 以及zookeeper内部数据结构,选举机制
  • 06.23 23:56:05
    发表了文章 2022-06-23 23:56:05

    zookeeper知识结构

    之前写过关于zookeeper的一篇文章《zookeeper-paxos》,paxos太难理解了,当时理解了,但现在又忘记了,机械学习果然是不行的 虽然曾经有一篇文章讲阿里不使用zk做服务发现,但大多数公司的分布式架构中基本都能看到zk的身影,而且他躲在里面,你可能看不到他,感受不到他的存在 对于架构体系中的这样一位选手,了解,学习,研究是相当有必要的
  • 06.23 23:45:38
    发表了文章 2022-06-23 23:45:38

    一致性哈希

    图片分库存储时,每一张图片都可以定位到特上图中,假设我们查找的是”a.png”,由于有4台服务器(排除从库),因此公式为hash(a.png) % 4 = 2 ,可知定位到了第2号服务器,这样的话就不会遍历所有的服务器,大大提升了性能!定的服务器
  • 06.23 23:40:33
    发表了文章 2022-06-23 23:40:33

    一篇解决排序算法

    从第一篇《算法概要》开始,到此篇已经经历了将近四个月时间,常见的基础排序已经温习完成
  • 06.23 23:33:29
    发表了文章 2022-06-23 23:33:29

    算法渣-排序-计数排序

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 23:28:33
    发表了文章 2022-06-23 23:28:33

    限流

    1. 为什么需要限流 2. 如何限流 限流主要就是考虑这两点
  • 06.23 23:26:47
    发表了文章 2022-06-23 23:26:47

    非凡的信号量

    信号量的定义,意义 在没有juc semaphore之前怎么实现 信号量使用 血管神经元实现
  • 06.23 23:22:08
    发表了文章 2022-06-23 23:22:08

    剖析分布式锁

    我们不生产代码,我们是代码的搬运工 前不久,阿里大牛虾总再次抛出了分布式锁的讨论,对照之前项目中实现的redis分布式锁总结一下
  • 06.23 23:11:33
    发表了文章 2022-06-23 23:11:33

    深入浅出索引

    索引,一种强大的存在;不管是什么行业,数据都是根基,终将落盘固化,提供各方检索查询,之前整理了一篇《深入浅出spring事务》,你可以推脱不使用事务,但索引是不可或缺的必备知识点 知识点比较多,有些会分篇细化,整体会从以下几方面整理 1. 索引是什么,人人都在讲,但他的定义到底是什么? 2. 索引作用,创建表时,都要考虑索引,能带什么好处? 3. 索引负作用,索引那么好,为什么不在每个字段上都加上索引? 4. 索引实现原理,那么多数据结构,索引为什么非要使用B+Tree? 5. 索引应用,加了索引也不一定能发挥作用,使用时注意哪些?
  • 06.23 23:01:52
    发表了文章 2022-06-23 23:01:52

    IOC理解

    成功就是简单道理的深刻理解与灵活运用 前不久,阿里大牛虾总在群里抛出一个问题:“从深层次讲解一下如何理解IOC,IOC和DI是一回事吗?” 这个问题真是让人平静而又不平静 平静源于此问题就像问中国人怎么使用筷子,天天使用筷子,难道还不会使用筷子? 但又不平静,你能写出一份详细的说明书,让一个不会使用筷子的人按此说明成功地使用上筷子吗?
  • 06.23 22:58:08
    发表了文章 2022-06-23 22:58:08

    算法渣-排序-基数排序

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:55:32
    发表了文章 2022-06-23 22:55:32

    算法渣-排序-桶排序

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:52:00
    发表了文章 2022-06-23 22:52:00

    Marketing Warfare

    之前这本书翻译为《营销战》,现在又翻译成《商战》了 结合当前商业动态,此书可能会回答你心中的一些问题 为什么哈罗单车融资成功了,可ofo压金都成了问题? 为什么在阿里绝对的市场占有率之机,拼多多诞生了并还在持续增长? 当年的当当图书,京东快递如何抢占了客户 真的是打江山容易,守江山难吗? 战略与战术到底哪一个更重要?
  • 06.23 22:49:27
    发表了文章 2022-06-23 22:49:27

    树概述

    树的类型不少,此篇简要对树进行描述,脑中有个整体概念,细节分篇再研究
  • 06.23 22:42:40
    发表了文章 2022-06-23 22:42:40

    算法渣-递归算法

    之前的排序算法 《快速排序》 与 《归并排序》 都使用了递归手法,如果不能理解递归,那分治思想类算法实现就难以理解
  • 06.23 22:39:26
    发表了文章 2022-06-23 22:39:26

    算法渣-归并排序

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:34:44
    发表了文章 2022-06-23 22:34:44

    微服务与重试

    因为不只是在服务中,或者只需要在系统使用时间,都需要在网络上安装 上讲,肯定是为了增加系统细节,具体在两个方面进行测试 1. 自我保护:快速失败,在允许最大系统通知未收到请求返回,等待放弃释放占用资源,不断积累带来的客户端雪崩业务数据 2. 成功率处理的主要原因有很多,但往往导致这些服务的时间短,或者是有网络请求的情况等情况。的机率有重试操作到当前的主动服务器,用于重试操作,降低重试晶圆的重试率 这一篇将由浅入深探索超时机制,以及在微服务下的实践
  • 06.23 22:32:53
    发表了文章 2022-06-23 22:32:53

    算法渣-排序-堆排序

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:24:57
    发表了文章 2022-06-23 22:24:57

    算法渣-排序-选择排序

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:19:23
    发表了文章 2022-06-23 22:19:23

    算法渣-排序-插入

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:16:47
    发表了文章 2022-06-23 22:16:47

    代码小析 - 异步回调

    天下皆知美之为美,斯恶已;此专栏本想取名代码之美,但有傍名之嫌,也给别误解,所以就叫代码小析吧,看到一段好代码,思路清奇,奇巧淫技,拿出来鉴赏一番 之前是计划one week one alogrithm,结果算法是个短板,不仅要理解,还得再写出代码,特别烧脑,所以中间穿插一下,换换脑子
  • 06.23 22:14:17
    发表了文章 2022-06-23 22:14:17

    算法渣-排序-快速

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:09:52
    发表了文章 2022-06-23 22:09:52

    算法渣-排序-冒泡

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺;跟着算法渣一起从零学算法
  • 06.23 22:06:34
    发表了文章 2022-06-23 22:06:34

    算法概要

    算法虐我千万遍,我待算法如初恋;IT人永远逃脱不了的算法
  • 06.23 22:03:07
    发表了文章 2022-06-23 22:03:07

    ThreadLocal解析

    JDK1.2 就这样了 ThreadLocal 为解决多种难题提供了一个新的思路; ThreadLocal的目的是为了解决多线程访问资源时的共享问题。 这原来是搜索到的线程本地的故事都是这样写的。 ,谎言说下去就形成了真理。 但在JDK文档里面
  • 06.23 22:00:56
    发表了文章 2022-06-23 22:00:56

    微服务防火墙友好策略

    在对比RPC与restful时,大致有几点: 1. 协议:http相对更规范,更标准,更通用,无论哪种语言都支持http协议;RPC协议性能要高的多,例如Protobuf、Thrift、Kyro等,(如果算上序列化)吞吐量大概能达到http的二倍 2. 安全性:基于Http更安全一些,默认80端口,防火墙友好
  • 06.23 19:36:51
    发表了文章 2022-06-23 19:36:51

    motan服务端

    服务端的处理也有套路,不管上层怎么玩,最后还是得通过反射方法对象,再调用invoke() 可知序列图,可以把服务端分成两部分 1. NettyServer前面的算部分,搭基础制造Exporter对象 2. nettyserver 后面的算计,找到方法,调用,通过返回
  • 06.23 19:33:40
    发表了文章 2022-06-23 19:33:40

    自定义类加载器

    1. 在《类加载器》中讲的,默认类加载器只能加载固定路径下的class,如果有特定路径下的class,需要自定义 2. 安全性:系统自身需要一些jar,class,如果业务类代码中也有相同的class,破坏系统,类似双亲委托安全性 可以看看tomcat自定义类加载器的原因,别的就大同小异了 1. a)、要保证部署在tomcat上的每个应用依赖的类库相互独立,不受影响。 2. b)、由于tomcat是采用java语言编写的,它自身也有类库依赖,为了安全考虑,tomcat使用的类库要与部署的应用的类库相互独立。 3. c)、有些类库tomcat与部署的应用可以共享,比如说servlet-api,
  • 06.23 19:31:10
    发表了文章 2022-06-23 19:31:10

    类加载

    先回顾一下要执行java程序,需要经过哪些步骤 1. 编写java代码 2. 通过javac把源代码编译成class 3. 把class载入JVM 1、2两步是需要开发人员参与的,而第3步是JVM的行为,对开发人员透明
  • 06.23 19:24:18
    发表了文章 2022-06-23 19:24:18

    再识RPC-thrift

    什么是Stub? Stub是一段代码,用来转换RPC过程中传递的参数。处理内容包括不同OS之间的大小端问题。另外,Client端一般叫Stub,Server端一般叫Skeleton。 生产方式: 1. 手动生成,比较麻烦; 2. 自动生成,使用IDL(InterfaceDescriptionLanguate),定义C/S的接口
  • 发表了文章 2022-06-24

    DDD之Repository对象生命周期管理

  • 发表了文章 2022-06-24

    Clean Code系列之异常处理

  • 发表了文章 2022-06-24

    Java并发的问题及应对办法

  • 发表了文章 2022-06-24

    领域服务上抛异常还是返回错误码

  • 发表了文章 2022-06-24

    怎么做软件设计才美

  • 发表了文章 2022-06-24

    CQRS被称为邪教?

  • 发表了文章 2022-06-24

    可测试性系列之测试替身Test Double

  • 发表了文章 2022-06-24

    SOLID之LOD

  • 发表了文章 2022-06-24

    Clean Code系列之坏味道及重构

  • 发表了文章 2022-06-24

    Clean Code系列之DDD分层参数转换

  • 发表了文章 2022-06-24

    赢了面子,输了里子,缓存就是个面子

  • 发表了文章 2022-06-24

    单体架构转为微服务架构的12个要素

  • 发表了文章 2022-06-24

    拆完中台再拆微服务

  • 发表了文章 2022-06-24

    I/O复用前世今生

  • 发表了文章 2022-06-24

    大明湖畔的领域模型

  • 发表了文章 2022-06-24

    架构与架构师3

  • 发表了文章 2022-06-24

    建模,没必要

  • 发表了文章 2022-06-24

    耦合必然性

  • 发表了文章 2022-06-24

    应对复杂性

  • 发表了文章 2022-06-24

    API如何设计

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息