摘要: 对于以往写就的一些博文,可能在之后发现当时的观点不尽正确,或是处理方法不够全面,又或是有更多值得引申的内容可以补充。首先对之前可能造成的误导表示歉意;另一方面,虽然已经对相应博文进行了更新,并标明了更新时间,但可能已读过的读者并不能很容易地看出来。修改创建时间同样不够明显,而在标题中提示又可能会导致 阅读全文
posted @ 2013-07-29 22:15 五岳 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 系列博文主要目的: 收集《编程珠玑》和《编程珠玑(续)》(以下简称《续》)上的算法和思想,并包括了一些自己的思考和对相关问题的引申,以备复习和查用。内容提要: 主要是算法收集,结合了《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing solid code)和《算法导论》的部分相关内容,以及自己的思考,无论你是否看过原书,都能够帮助你快速理解以至于能够独立完成这些算法。我相信自己写的解释比原书详细而易于理解,并且根据我的经验,对很多问题进行了扩展,这也是这个系列命名为“珠玑之椟”的原因。当然,“买椟还珠”是不可取的,这个系.. 阅读全文
posted @ 2013-06-24 16:41 五岳 阅读(2004) 评论(0) 推荐(2) 编辑
摘要: 使用Java的stream中的Collectors可以很方便地做容器间的转换,可以少写很多代码。但是其中有暗含的坑需要注意和避免,本文探讨Collectors.toMap(JDK8版本)。 Collectors.toMap可以将一个流转化成Map,常见于需要将List转换成Map以便于进一步操作的场 阅读全文
posted @ 2024-02-04 15:40 五岳 阅读(832) 评论(0) 推荐(1) 编辑
摘要: 在上次反思DDD实践之后,在类目树管理项目中再次实践DDD。从需求分析到建模和具体的落地,结合个人体会,都是干货。 阅读全文
posted @ 2022-04-10 16:45 五岳 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 从阿里云数仓表中导出数据的详细步骤 阅读全文
posted @ 2021-06-15 11:03 五岳 阅读(1624) 评论(0) 推荐(0) 编辑
摘要: 关于一段DDD实践的反思 阅读全文
posted @ 2021-04-29 01:44 五岳 阅读(4115) 评论(16) 推荐(11) 编辑
摘要: 一、组合总和问题 最近在看leetcode的组合问题,一共四道,总结一下共通之处与不同之处。 原题链接: 组合总和 组合总和II 组合总和III 组合总和IV 对比如下,为了便于对比,将原题目的叙述方式进行了修改。 问题 输入 取值限定 解集限定 解法 I 无重复元素的数组 candidates且全 阅读全文
posted @ 2021-02-20 15:23 五岳 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 前言 目前暂时放弃阅读源码,只看了实现原理和使用,搞清楚响应式编程、akka模型。 思维导图 使用文档 http://ifeve.com/akka-doc-java-what-is-akka/ 关于Reactive Reactive编程(一):Reactive编程的背景 Reactive编程(二): 阅读全文
posted @ 2020-07-08 01:54 五岳 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 本文主要整理一些Spring & SpringBoot应用时和相关原理的知识点,对于源码不做没有深入的讲解。 阅读全文
posted @ 2020-06-24 14:19 五岳 阅读(5200) 评论(0) 推荐(3) 编辑
摘要: 结合一些文章阅读源码后整理的Java容器常见知识点。对于一些代码细节,本文不展开来讲,有兴趣可以自行阅读参考文献。 阅读全文
posted @ 2020-06-18 01:42 五岳 阅读(576) 评论(0) 推荐(2) 编辑
摘要: 主要包括深入分析wait()/notify()/notifyAll()实现生产者消费者模式、线程数调优、并发容器、AQS、JMM五个大专题,七个小专题,leetCode并发题简介三个部分,基本对大多数Java并发领域的知识都有所涉及,也是经常容易提问的问题,整理下来便于以后review。 阅读全文
posted @ 2020-06-12 02:14 五岳 阅读(662) 评论(0) 推荐(1) 编辑
摘要: JDK8中用元空间metaspace代替了永久代perm,原因和其特性简单介绍一下。 思维导图 图中gc log详解链接:https://www.jianshu.com/p/cd34d6f3b5b4 其他参考文章 Java 8新特性探究(九)跟OOM:Permgen说再见吧 Metaspace 之一 阅读全文
posted @ 2020-06-08 00:55 五岳 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 1. tsar 阿里巴巴开源的实时系统监控工具。其内部的sunfire有部分指标就是基于该工具每分钟采集一次来获取的。 github 监控项及数据来源一览 摘自tsar/info.md 监控项 来源 细分项 CPU /proc/stat user: 表示CPU执行用户进程的时间,通常期望用户空间CP 阅读全文
posted @ 2020-05-27 10:22 五岳 阅读(2560) 评论(1) 推荐(0) 编辑
摘要: Tomcat是一个Web应用服务器,可以作为Servlet容器。它的作用是,解析客户端client发起的request,并组装出HttpRequest、创建HttpResponse,将二者交于内部的HttpServlet处理和填充,如图所示 (图源见参考文档1) Tomcat映射处理请求的Servl 阅读全文
posted @ 2020-05-27 02:37 五岳 阅读(5377) 评论(0) 推荐(1) 编辑
摘要: 多年开发实践中遇到的DB相关的话题研究和整理,不介绍DB的基本概念,也不过于深入DB原理,以满足日常应用、知其然知其所以然为准。 包含十几个子话题,含事务传播性、索引优化、拆分、FailOver等。 阅读全文
posted @ 2020-05-04 20:46 五岳 阅读(957) 评论(0) 推荐(1) 编辑
摘要: 以往直到现在我所负责的业务场景没有使用MangoDB的,不过对于NoSQL的流行以及兴趣,阅读了一些文档做了简单的了解。待后续需要使用时再深入研究。 本文不介绍具体的语法。 阅读全文
posted @ 2020-03-15 16:44 五岳 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 《算法导论》图相关的内容贯穿很多章节,适用条件各异,而且都有证明过程。如果不打算熟记证明,仅仅是应用,遇到具体场景再去回忆适用于哪种算法不太方便。汇总一下便于查阅。 阅读全文
posted @ 2020-03-02 00:57 五岳 阅读(716) 评论(2) 推荐(0) 编辑
摘要: 简称 STW —— Stop the World,暂停所有在执行的线程 简史 2004年Sun实验室第一次发表G1论文 JDK6U14中第一次作为实验选项引入 JDK7中开始作为替换CMS的方案 JDK9中成为默认的垃圾回收器 JDK10优化,将其fullGC改为并行: "JEP307" JDK11 阅读全文
posted @ 2019-12-16 11:34 五岳 阅读(3540) 评论(0) 推荐(0) 编辑
摘要: volatile关键字的作用 1. 所有变量的可见性——仅仅是修改后的值的可见性,不保证并发修改时新值和预期一致。即只保证读,不保证写。 2. 禁止指令重排序——修饰的变量,读写不会指令重排。如变量isReady被volatile修饰,这两条指令 和`isReady=true`不会在编译时改变顺序。 阅读全文
posted @ 2019-11-25 02:38 五岳 阅读(332) 评论(0) 推荐(0) 编辑
摘要: JavaGC的相关知识点在《深入理解JAVA虚拟机》上比较琐碎,有的概念没有详细介绍,前后顺序也不太连贯。为了便于理解原理和问题排查,反复阅读了这一部分及相关文章后简单的总结一下。 思想脉络是:JVM内存模型->内存模型中的堆的进一步分代->GC回收算法、日志、回收器,从一个面(内存模型)到一个点(堆), 再由这个点扩展到关联的点。 阅读全文
posted @ 2019-11-22 18:12 五岳 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 关于mysql的select...for update,之前没有研究那么细,今天还是和候选人聊的时候才知道,即使写了where条件也是可能锁表的。 简单来说,走上索引(含主键)是行锁,没走上就是表锁。 可以看这篇文章: "for update是行锁还是表锁" 更详细的测试过程和用法: "mysql 阅读全文
posted @ 2019-11-15 22:17 五岳 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一次线上频繁FullGC问题的排查和解决记录,整理了一下通用的排查解决过程,同时介绍了一些可能会用到的工具。 阅读全文
posted @ 2019-11-11 23:13 五岳 阅读(2710) 评论(0) 推荐(0) 编辑
摘要: 对远程调用的代码封装杂谈,以java为例。 阅读全文
posted @ 2019-08-03 12:21 五岳 阅读(963) 评论(0) 推荐(0) 编辑
摘要: 参考的原文链接:https://www.jianshu.com/p/6eca0eadcc22 安装 执行: brew install git 如果执行中间提示无权限,照着提示把homebrew相关文件赋权即可。 覆盖默认指向 使用安装的git brew install git 查看版本 git ve 阅读全文
posted @ 2019-08-01 21:43 五岳 阅读(1599) 评论(0) 推荐(0) 编辑
摘要: switch...case...使用范围的演进;从字节码角度分析了switch...case...的两种实现(lookupswitch和tableswitch)、与if...else...的性能比较、字符串和枚举的分支检索方式;常见问题记录。 阅读全文
posted @ 2019-07-13 16:11 五岳 阅读(10879) 评论(0) 推荐(5) 编辑
摘要: 注:2015年试用期间记录的一些内容,可能已经过时,仅供参考。 CentOS Nexus 1.安装sz/rz命令 yum install -y lrzsz 2.发送时出现错误 tar -xzvf nexus-2.11.4-01-bundle.tar.gz -x gzip: stdin: invali 阅读全文
posted @ 2019-03-23 12:00 五岳 阅读(217) 评论(0) 推荐(0) 编辑
摘要: IFW是IBM的Information FrameWork缩写,是一套银行及金融业的信息模型框架方案。笔者几年前曾参与过一套基于IFW变体的网络银行的系统建设以及后续这套系统在信用、云服务、保险、基金、支付等领域的复用,借着最近在组内分享的机会,系统地整理一下这块接触到的知识,帮助以后设计建模。 阅读全文
posted @ 2019-03-03 22:42 五岳 阅读(2975) 评论(0) 推荐(1) 编辑
回到顶部