- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 垃圾收集器与内存分配策略
垃圾收集器与内存分配策略Java内存运行时区域的各部分, 其中程序计数器、虚拟机栈和本地方法栈线程私有,内存分配和回收具备确定性,方法结束或者线程结束时,内存自然就跟着回收了。而Java堆和方法区则不一样,个接口中的多个实现类需要的内存可能不一样,一个方法中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,只有在程序处于运行期间时才能知道会创建哪些对象,这部分内存的...
2019-01-08 15:26:52 149
原创 关于 String.intern()
《深入理解java虚拟机》一书中对 String.intern() 方法是这样描述:String.intern()方法是一个Native方法, 它的作用是:如果字符串常量池中已经包含一个等于此String对象的字符串,则返回代表池中这个字符串的string对象;否则,将此String对象包含的字符串添加到常量池中,并返回此String对象的引用。先看测试案例:public clas...
2019-01-03 12:13:53 309 1
原创 实战:OutOfMemoryError异常
1. Java堆溢出Java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制来清除这些对象,那么对象数量到达最大堆容量限制后就会产生内存溢出异常。/** * VM Args :-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError * Java堆大小设置为20MB,不可扩展(这里最小值最大...
2019-01-03 09:35:30 210
原创 最大子序列和
最大子序列和问题:一步一步推进:package com.pack.algo;public class MAXSUM { //1.三层循环暴力求解 public static int maxSum1(int [] a,int n) { int thisSum,maxSum=0; for(int i=0;i<n;i++) { for(in...
2018-08-07 23:15:36 125
转载 内存溢出和内存泄露
转自:https://www.cnblogs.com/Sharley/p/5285045.html内存溢出(out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 (memory leak),是指程序在申请内存后,无法释放已申请的内存空间,一次内存...
2018-08-04 17:13:26 115
原创 Java内存区域与内存溢出异常
Java运行时数据区: 程序计数器线程私有,是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。没有规定任何OutOfMemoryError情况的区域。线程私有:每条线程都有一个独立的程序计数器,各条线程之间互不影响,独立存储,这类的内存区域称为“线程...
2018-08-04 16:30:55 185
原创 Java 字符串 与 正则表达式
字符串: String类是不可变类,创建String对象后,该对象中的字符序列不能被改变。 StringBuffer是可变的字符串,创建StringBuffer对象后可以StringBuffer提供的各种方法改变该对象的字符序列。 StringBuilder与StirngBuffer基本相似(JDK1.5),不同点是 StringBuilder是线程不安全的,StringBuff...
2018-08-02 13:06:31 1421
原创 python2、3共存
学习python,用python2还是python3, 这是一个问题,那么干脆都装吧。装好了python2、3,要想自己选择版本运行,就要简单的配置一下:原来我们运行文件是这样的:如果有一个文件 hello.py, 则输入 python hello.py 即可运行。系统中两个版本都装了的情况下,如果2、3中的python.exe的路径都添加到了Path环境变量下,那么就会优先执行写在前...
2018-07-27 13:24:48 145
原创 JAVA 随机数生成方式
JAVA中生成随机数方法(1)使用Math.random()。Math.random()随机地选取一个0~1之间的double类型小数,如果将其乘以一个数,比如100,就得到0~100之间的随机数值:int randomNumber = (int) Math.round(Math.random()*(max-min)+min); (2)利用System类的currentTimeMil...
2018-07-26 23:22:35 1017
原创 重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:利用递归的思想,前序序列第一个数为根,在中序序列找到根,创建根结点;根结点将序列分为两部分,然后对左右两部分递归创建结点。本例 第一个数为1...
2018-07-25 21:08:07 94
原创 从尾到头打印链表
题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。思路:1.头插法,改变指针指向。2.递归的思想。 public class ListNode { //结点定义 int val; ListNode next = null; ListNode(int val) { ...
2018-07-25 20:26:10 127
原创 二维数组的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:二维数组每行、每列都递增排序。则可取左下角的位置为起始点,如果这个位置上的数字等于要查找的数字,则查找结束,如果小于要查找的数字,向上继续找,如果大于,向右继续找,一步一步缩小查找范围...
2018-07-25 00:57:05 119
C#.net_经典编程例子400个
2018-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人