JAVA

Arthas – java线上问题处理终极利器

前言 在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出...

Synchronized内容总结(三)

前面两部分谈到多线程对内部锁的优化,以及代码中对锁的优化。是从减少竞态的角度来优化程序的。如果从提高线程执行效率,来对多线程程序进行优化,自然让人联想到了线程池技术。 基本概念与原理 Java 线程池会...

Synchornized优化总结(二)

前面讲了 Java 系统是如何针对内部锁进行优化的。如果说内部锁的优化是 Java 系统自身完成的话,那么接下来的优化就需要通过代码实现了。 锁的开销主要是在争用锁上,当多线程对共享资源进行访问时,会出现线...

Synchronized优化总结(一)

当使用 Java 多线程访问共享资源的时候,会出现竞态的现象。即随着时间的变化,多线程“写"共享资源的最终结果会有所不同。 为了解决这个问题,让多线程“写"资源的时候有先后顺序,引入了锁的概念。每次一个线...

如何写出让同事无法维护的代码

对,你没看错,本文就是教你怎么写出让同事无法维护的代码,保证不会被打死。如果建筑师盖房子就像程序员写程序一样,那么,第一只到来的啄木鸟就能毁掉我们的文明。——Gerald Weinberg 01 程序命名 容易输...

Spring Websocket实现向指定的用户发送消息

概述 本文我们介绍通过Spring websocket实现向特定的用户发送消息。 本文的内容如下: 1. 首先实现简单的登录功能,这里向特定用户发送消息的必要条件 2. 用户登录系统后,才可以登录websocket,并重写MyPr...

Spring Cloud之Finchley版学习(二十六)-使用Elasticsearch作为Zipkin Server的后端存储

前文搭建的Zipkin Server是没有后端存储的——数据会存储在Zipkin的内存中。这一般不适合生产,本节来探讨如何将Zipkin中的数据持久化。 Zipkin支持多种存储: 内存(默认) MySQL(数据量大时,查询较...

Spring Cloud之Finchley版学习(二十五)-Spring Cloud Sleuth与Zipkin配合使用

一个良好的监控,应该有一个人类亲和的界面,这个界面就是Zipkin。本文详细讨论Sleuth如何与Zipkin配合使用。 Zipin简介 Zipkin是Twitter开源的分布式跟踪系统,基于Dapper的论文设计而来。它的主要功能是收集...

Spring Cloud之Finchley版学习(二十四)-Spring Cloud Sleuth入门

经过前文讲述,我们的微服务架构日趋完善,已可使用Spring Cloud构建一个非常健壮的系统! 但假设,你的项目一旦出现问题,如何才能快速定位出来呢?一般项目上要求我们快速定位两种问题: 调用发生失败...

记一次使用angular自动编译andriod APK的绕坑经历

背景 前端架构师使用angular JS作为框架,打包android APK。 程序已经完成,需要使用自动编译功能来检测服务。 问题 问题一:JDK需要使用1.8,其他版本目前不支持。 问题二:android-sdk安装问题 npm...