内存监控 -verbose:gc 或-XX:printGC在控制台打印gc的回收情况 这里分配了 堆内存xmx最大3M 最小3M 执行空的main方法 造成的gc的原因是回收main方法执行之前产生的垃圾对象(没有变量引用的对象) -XX:+PrintGCDetails 配合( -verbose:g ...
分类:
其他好文 时间:
2018-06-18 13:24:07
阅读次数:
205
概念 为了不和数据结构中的栈和堆混淆。本篇博文把Java中的栈称为“栈内存”,把堆称为“堆内存”。 栈内存主要用于存放局部变量和方法调用。局部变量指的是那些在方法中定义的基本类型变量和引用类型变量(即对象的引用变量)。当在一段代码块中定义一个变量时,Java就会在栈中为这个变量分配内存空间,当超过变 ...
分类:
其他好文 时间:
2018-06-17 22:32:21
阅读次数:
202
String 变量和 常量字符串相加 输出: false str1 与 "c" 进行字符串连接时,低层是通过StringBuffer 进行 append,生成一个StringBuffer对象,然后通过toString()方法,将StringBuffer对象转为String,此时会产生一个新的堆内存地 ...
分类:
编程语言 时间:
2018-06-17 19:46:52
阅读次数:
160
一、存储方式不一样 基本数据类型 变量存储的是简单的数据段,存储的是具体的值,是轻量级的数据存储方式 引用类型 引用类型的值,可以由多个值构成的对象,引用类型的变量存储的是对象引用地址。引用类型是重量的数据存储方式,分配在堆内存,频繁创建对象有损性能。 引用类型(N多) Object、Array、D ...
分类:
编程语言 时间:
2018-06-16 14:25:24
阅读次数:
160
1,基本数据类型 类型 所占空间 范围 说明 byte 1 -128~127 short 2 -215~-215-1 int 4 -231~-231-1 默认整型 long 8 -263~-263-1 末尾加L float 4 -3.403E38~3.403E38 末尾加F double 8 -1. ...
分类:
编程语言 时间:
2018-06-16 13:22:59
阅读次数:
156
越界异常和空指针异常 /* 数组操作的两个常见小问题: 1.ArrayIndexOutOfBoundsException:数组索引越界异常 原因:访问了不存在的索引。 2.NullPointerException:空指针异常 原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。*/class ...
分类:
其他好文 时间:
2018-06-15 23:32:56
阅读次数:
337
所以从表面理解,st就是Student的对象,但是实际上st指向对象的地址。 Student st=new Student(); new Student是在堆内存中创建一个对象 st则是在栈内存中被声明,然指向堆内存的对象,所以st并不是真正的对象,只是可以间接地充当对象的名称 当同一个类创建不同的 ...
分类:
编程语言 时间:
2018-06-15 21:50:06
阅读次数:
199
Spring Cloud 版本: 这两天通过JMeter测了一下Spring Cloud Zuul的性能,用的是两台虚机8核8G和4核8G,宿主机是10核逻辑20核,代理的服务简单的返回字符串hello,vm堆内存1G够用 先说一下测试情况,值得一提的是测试并不严谨,因为用的是虚机,并且虚机上还跑了 ...
分类:
编程语言 时间:
2018-06-15 13:01:23
阅读次数:
183
一、什么是序列化和反序列化: 序列化:是指把java堆内存中的对象转换成字节(二进制流)的过程。也就是通过某种方式将java对象存储在磁盘内存中,这个过程称为序列化 反序列化:是把磁盘上的对象转恢复成java对象的过程。 二、序列化和反序列化优点: 1、分布式系统中,需要把对象在网络传输,需要将对象 ...
分类:
编程语言 时间:
2018-06-13 22:20:09
阅读次数:
152
1、安装完成后启动卡死 刚刚打开studio就卡在gradle building的界面再也不动了(去连接墙外的网下载),那么这个时候我们就需要把这个联网下载操作屏蔽掉,找到studio安装目录,找到idea.properties文件,打开,加上下面一行配置,作用是在初次打开的时候不让它连接谷歌进行更 ...
分类:
移动开发 时间:
2018-06-13 15:23:44
阅读次数:
250