随笔分类 - Java
摘要:开发环境设置之iTerm2、Prezto
阅读全文
摘要:Java进程使用的虚拟内存确实比Java Heap要大很多。JVM包括很多子系统:垃圾收集器、类加载系统、JIT编译器等等,这些子系统各自都需要一定数量的RAM才能正常工作。 当一个Java进程运行时,也不仅仅是JVM在消耗RAM,很多本地库(Java类库中引用的本地库)可能需要分配原生内存,这些内
阅读全文
摘要:写在前面 最近工作中遇到两例mysql时间戳相关的问题,一个是mysql connector java和msyql的精度不一致导致数据查不到;另一例是应用服务器时区错误导致数据查询不到。通过这篇文章,希望能够解答关于mysql中时间戳的几个问题: 1. mysql中的DATETIME精度为什么只支持
阅读全文
摘要:今天我们谈谈SOFA模块化,首先看一段SOFA的介绍: SOFABoot是蚂蚁金服开源的基于Spring Boot的研发框架,它在Spring Boot的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等能力。在增强了Spring Boot的同时,SOFABoot提供了让用户
阅读全文
摘要:前段时间工作上比较忙,这篇文章一直没来得及写,本文是阅读《Java8实战》的时候,了解到Java 8里已经提供了一个异步非阻塞的接口(CompletableFuture),可以实现简单的响应式编程的模式,因此用这篇文章做个梳理。我是带着下面这几个问题去学习CompletableFuture这个接口的
阅读全文
摘要:前言 今天我们一起学习下java.util.concurrent并发包里的 "CopyOnWriteArrayList" 工具类。当有多个线程可能同时遍历、修改某个公共数组时候,如果不希望因使用 synchronize 关键字锁住整个数组而影响性能,可以考虑使用CopyOnWriteArrayLis
阅读全文
摘要:老套路,先列举下关于ThreadLocal常见的疑问,希望可以通过这篇学习笔记来解决这几个问题: 1. ThreadLocal是用来解决什么问题的? 2. 如何使用ThreadLocal? 3. ThreadLocal的实现原理是什么? 4. 可否举几个实际项目中使用ThreadLocal的案例?
阅读全文
摘要:在软件开发中遇到问题的时候,我倾向于在不需要阅读源码的情况下解决问题,我会优先去查官方文档、FAQ、google或stackoverflow等网站,去看下有没有前人已经遇到过同类问题。阅读源码来解决问题,算是杀手锏。当然,还有另一种需求,就是希望通过阅读源码了解软件的设计细节,来达到学习的目的,例如
阅读全文
摘要:本文翻译自: "https://www.redhat.com/en/blog/collecting and reading g1 garbage collector logs part 2?source=author&term=22991" 这篇文章将深入研究G1的日志和调优参数。为了在实际工作中对
阅读全文
摘要:在目前的工作中,我对Java中的Stream和Lambda表达式都使用得很多,之前也写了两篇文章来总结对应的知识。 "024:Java流实现Shell:cat 1.log | grep a | sort | uniq c | sort rn" "函数式编程让你忘记设计模式" 不过对于Optional
阅读全文
摘要:上一篇文章 "MAT入门到精通(一)" 介绍了MAT的使用场景和基本概念,这篇文章开始介绍MAT的基本功能,后面还有两篇,一篇是MAT的高级功能,另一篇是MAT实战案例分析。 三、欢迎页 使用MAT打开一个heap dump文件,解析完成后,默认会进入欢迎页,欢迎页里包含了一些常见的分析:最大内存占
阅读全文
摘要:这篇文章是《调试九法:软硬件错误的排查之道》的阅读笔记。这本书的主旨,是介绍如何修复bug:找出bug发生的原因、并给出修复方案。 调试bug的九个规则列举如下,建议将这个清单打印出来,摆放在工作时候能看到的地方。 调试规则 接下来一次看下每个规则的核心理念,从名字上来看,每个规则看起来都比较明显(
阅读全文
摘要:本文是一篇《Java 8实战》的阅读笔记,阅读大约需要5分钟。 有点标题党,但是这确实是我最近使用Lambda表达式的感受。设计模式是过去的一些好的经验和套路的总结,但是好的语言特性可以让开发者不去考虑这些设计模式。面向对象常见的设计模式有策略模式、模板方法、观察者模式、责任链模式以及工厂模式,使用
阅读全文