Dubbo 学习1——Service自定义异常捕获不到问题

阅读:《面试官问我,使用Dubbo有没有遇到一些坑?我笑了。》 受到启发,解决问题,记录一下。 问题简单描述: 业务方使用Dubbo,自定义异常类型XXXException(继承自RuntimeException ),抛出异常后无法在调用处被捕获到。。。 通过分析异常堆栈信息 »

如何优雅的设计Java异常

转自:Lrwin-如何优雅的设计Java异常 重点在 3.4 章节~ 1.如何选择异常类型 1.1 异常的类别 正如我们所知道的,java 中的异常的超类是java.lang.Throwable(后文省略为Throwable),它有两个比较重要的子类,java.lang.Ex »

JVM发生OOM的 8 种原因、及解决办法

1. Java 堆空间 发生频率: 5 颗星 造成原因: 无法在 Java 堆中分配对象 吞吐量增加 应用程序无意中保存了对象引用,对象无法被 GC 回收 应用程序过度使用 finalizer。finalizer 对象不能被 GC 立刻回收。finalizer 由结束队列服务的守 »

Java NIO 初探

在 JDK 1. 4 中新加入了 NIO( New Input/ Output) 类, 引入了一种基于通道和缓冲区的 I/O 方式,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆的 DirectByteBuffer 对象作为这块内存的引用进行操 »

JVM与Linux内存关系

转自:JVM与Linux内存关系分析,本文重新做了编排。 JVM启动参数-XX:+DisableExplicitGC的作用是禁止代码中显式调用GC。代码如何显式调用GC呢,通过System.gc()函数调用。如果加上了这个JVM启动参数,那么代码中调用System.gc()没 »

Tomcat的连接数与线程池

转自:详解tomcat的连接数与线程池,本文重新做了编排。 1.前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Tomcat配置文件server.xml中:Connector的主要功能 »

Java 知识杂记

来之不易的美团面试,结果居然挂了...(附面试答案) 分布式 VS 高并发 VS 多线程 水平扩展:当一台机器扛不住流量时,就通过添加机器的方式,将流量平分到所有服务器上,所有机器都可以提供相当的服务; 垂直拆分:前端有多种查询需求时,一台机器扛不住,可以将不同的需 »

雪花算法(snowflake)

简单描述 最高位是符号位,始终为0,不可用。 41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。 10位的机器标识,10位的长度最多支持部署1024个节点。 12位的计数序列号,序列号即一系列的自增id,可以支持 »

Java泛型

泛型,只在编译阶段有效。在编译过程中,正确检验泛型结果后,会将泛型的相关信息擦出,并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。 也就是说,泛型信息不会进入到运行时阶段。 泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型 泛型有三种使用方式 »