摘要: 症状:新上的项目,应用一启动,没多久直接宕机。远程连接也连不上,只能云后台重启 线索: (1)项目没对外发布,没有入口有大流量涌入。除了测试人员个别点击。 (2)反查宕机前的CPU,内存,IO等资源信息,全都不高。 (3)测试环境完全不会发生 查错: (1)在业务日志的报错信息中,出现了大量dubb 阅读全文
posted @ 2019-03-11 14:49 架构之美,智慧之光 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 换工作近半年,忙里偷闲,把这段时间遇到的问题和解决思路记录下来。 title变了,工作职责变了,但是仍然有相当一部分实打实技术相关的工作,让我很开心很安心,这是我喜欢且擅长的部分。 但是同时有点遗憾。因为大部分遇到生产问题,除却需求功能相关的。性能的,突发的,冷僻的,各种问题。研发小伙伴大多两手一摊 阅读全文
posted @ 2018-11-22 10:03 架构之美,智慧之光 阅读(229) 评论(0) 推荐(0) 编辑
摘要: threadlocal是比较特殊的存在,真不用也可以,但是用了会方便很多。threadlocal的基本属性不在本文讨论范围内。 我头脑风暴了下,threadlocal为什么是现在这么设计的。根据threadlocal的特性,如果自己实现,大部分人第一反应应该是这个方案(图片出处见水印,侵删): th 阅读全文
posted @ 2018-05-30 15:12 架构之美,智慧之光 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 随便想到点什么就随便写写,但是在实践过程中,以下几点真的很重要 关于架构: 1.所有脱离业务的架构设计都是耍流氓 2.架构设计就是解决问题、权衡利弊的过程 3.权衡是架构逃避不掉的问题。可扩展性、业务方需求、性能、现状、改变代价等的权衡 4.架构一定要有全局观 关于能力: 1.相比于用过某个软件某个 阅读全文
posted @ 2018-05-17 13:41 架构之美,智慧之光 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 上周,公司上线了全新打造的理财师服务平台及飞单平台。 首先纪念下人生加过最长的班。从周五早上9点到公司,到周日早上7点半离开。当中断断续续只趴在桌子上睡了几个小时 预定周五上线。看着缺陷从几百个减少到两个。没想到野火烧不尽,春风吹又生了。再集成、UAT、准生产到生产再一堆问题…… 每次上线总会遇到各 阅读全文
posted @ 2018-04-04 11:30 架构之美,智慧之光 阅读(167) 评论(0) 推荐(0) 编辑
摘要: synchronized是java中并发编程最重要的关键字之一。如果没搞清楚synchronized锁的是什么,可能导致用了没效果,没控制住并发访问 synchronized常用的方式有以下四种 public class SyncTest{ public synchronized void meth 阅读全文
posted @ 2018-03-16 16:47 架构之美,智慧之光 阅读(1354) 评论(0) 推荐(0) 编辑
摘要: 帮开发组的同事解决了个图片上传的问题。顺便给自己补补知识。解决问题学习技术真是令人愉悦的过程~ 事起于H5有图片压缩并上传的需求。经过调研,选择了如下图。而服务端接受之前上传图片的方式是: MultipartFile file = (Multipartrequest)request.getFile( 阅读全文
posted @ 2018-03-16 16:46 架构之美,智慧之光 阅读(182) 评论(0) 推荐(0) 编辑
摘要: GC和内存模型一样,和实现有关。这里介绍的是一些基本原理以及hotspot的实现。java7还存在永久代,java8把永久代移除了。在最后一点有提到。 一。基本概念 1.堆区从运行分配的角度分为java堆(用于对象内存的分配)和方法区(类信息等)。但是从另一个 视角,生命周期的角度,堆区分为年轻代、 阅读全文
posted @ 2018-03-16 16:40 架构之美,智慧之光 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 建议参看JVM简介(一)——内存模型,对照着图看本文 一。类加载流程 加载——>连接——>类初始化——>类实例化——>使用——>卸载 加载——将.class文件载入到方法区。这样常量和类相关信息还有方法已经在方法区 连接——验证:验证合法性,保证能让JVM正常执行 准备:为静态变量在方法区开辟内存, 阅读全文
posted @ 2018-03-16 16:29 架构之美,智慧之光 阅读(3178) 评论(0) 推荐(0) 编辑
摘要: 关于JVM,网上文章铺天盖地。有深有浅,有对有错。这里从我关心的角度,介绍JVM部分原理。或者说很多都是hotspot的实现原理。 一。JVM中内存情况 如下图。分成三部分: (1)线程栈——每个线程都有对应的栈区,调用一个方法,会压入一个方法帧。 (2)堆——用于对象的空间的分配。类的实例都是在堆 阅读全文
posted @ 2018-03-16 16:25 架构之美,智慧之光 阅读(2491) 评论(0) 推荐(0) 编辑