上午经理发来一个任务,解决某个接口异常,此接口第一次调用成功返回: {ret=Y, orderResultList=[{itemno=31920190521083622032, sub_msg=成功, isSuccess=true}]} 再次调用则全部返回: Exception when eval result.toString:null 查看日志:是StackOverflowError 找到对应的xxxxxServiceImpl,看到几行代码: 从而找到此方法调用的地方: 继续浏览代码,看到:…
一.概述 我们在进行 Java 开发的时候,很少关心 Java 的内存分配等等,因为这些活都让 JVM 给我们做了.不仅自动给我们分配内存,还有自动的回收无需再占用的内存空间,以腾出内存供其他人使用.但是我们经常面临的一个问题就是内存泄漏,JVM无法完成回收工作,导致内存占用暴涨,最后可能让程序奔溃.本章主要了解下运行时数据区域分布情况以及溢出异常. 二.运行时数据区域 1.程序计数器 线程私有 当前线程所执行的字节码的行号指示器 Java 多线程是通过再一个内核中轮流执行实现的,计数器就保证了…
今天在整合ssh项目中,碰到一个异常,当我提交购物车数据到订单时,浏览器报了一个这样的异常. 当时,我就吓坏了.尼玛,这不是内存溢出了吗?吓得我赶紧去检查了每一个有遍历语句的代码,结果没有发现一个死循环,折腾了两个多小时,最后终于发现了问题,简直让人抓狂,原因竟然是我在实体类,order(订单),orderItem(订单项)中都重写了ToString()方法.请看: OrderItem.java: package com.wang.shop.order.entity; import com.wa…
控制台程序. public enum Rank { TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE } public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES } public class Card implements Comparable<Card> { public Card(Rank rank, Suit suit) { this.ra…
一.区分final . finally . finalize  1.关键字final Java语言的关键字final可以用于变量.类或方法,但是含义会有所不同. -用于变量:一旦初始化,变量值就不能修改 -用于方法:该方法不能被子类重写(overrride) -用于类:该类不能派生出子类 2.关键字finally 关键字finally和try/catch语句配对使用,即使有异常抛出,也能确保某段代码一定会执行.finally语句块会在try/catch语句块之后,在控制权交回之前执行. 3.fi…
2015-07-26 18:16:21/***该应用程序对堆栈和递归方法进行实例操作: *1.堆栈操作:先进后出,*2.递归方法:直接或者调用自己的方法:*@author lhm *Email:912547587@qq.com */public class TestStack{ //属性声明 private String[] item; //top = 0时,堆栈为空: private int top=0; /** *无参构造方法 *默认声明数组4个 */ public TestStack(){…
一.hashMap与hashTable与ConcurrentHashMap: 1.HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary类.不过它们都同时实现了map.Cloneable(可复制).Serializable(可序列化)这三个接口.<Dictionary类是一个已经被废弃的类> 2.Hashtable既不支持Null key也不支持Null value.HashMap中,null可以作为键,这样的键只有一个,可以有一个或多个键所对应的值为…
内存泄露 & 内存溢出 关系 https://www.cnblogs.com/panxuejun/p/5883044.html 内存泄露的6种情况: https://blog.csdn.net/emmanuel__/article/details/83792868…
目录 第八章 多态第十四章 类型信息第十二章 通过异常处理错误第十三章 字符串 第八章 多态 1. 前期绑定 & 后期绑定 绑定是指将方法调用同一个方法主体关联起来的这么一个过程.如果在程序执行前进行绑定,就称为前期绑定.(C中所有的方法调用都是前期绑定) 后期绑定就是指在运行时根据对象的类型进行绑定.后期绑定也叫动态绑定/运行时绑定. 一种语言要想实现后期绑定,就必须具有某种机制,以便于在运行时能判断对象的类型,从而调用恰当的方法.不同的语言有不同的实现机制,不管怎么样都必须在对象中安置某种类…
作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.数据类型:  数据类型:1>.基本数据类型:1).数值型: 1}.整型类型(byte  8位   (byte)0,short  16位 (short)0,int  32位  0,long  64位  0L) 2}.浮点类型(float 32位 0.0f,double 64位 0.0d)   2).字符型(char  2位 \u0000(空,'')) 3).布尔型(boolean false) 2>.引用数…