小熊影子
码龄8年
关注
提问 私信
  • 博客:5,023
    5,023
    总访问量
  • 12
    原创
  • 1,491,016
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2016-11-05
博客简介:

小熊的菜地

博客描述:
技术可以改变世界
查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得0次评论
  • 获得5次收藏
创作历程
  • 16篇
    2018年
成就勋章
TA的专栏
  • leetcode
    7篇
  • exam
    3篇
  • tree
    1篇
  • sort
    2篇
  • jvm
    5篇
  • uxdb
创作活动更多

新星杯·14天创作挑战营·第9期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛! 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见 https://bbs.csdn.net/topics/619626357 2、文章质量分查询:https://www.csdn.net/qc

475人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java内存分配策略

上一篇博文讲述了Java内存回收策略,这一次我们讲述一下Java内存分配策略。 这里我们先假设一个模型,我们假设:新生代总内存是10MB,其中Eden区与Survivor区的内存占比是8:1,也就是Eden区是8MB,而Survivor区是1MB;老年代总内存也设为10MB; 分配原则是: 1.优先分配在Eden区 也就是说大多数情况下,对象在Eden区中分配。 这里有一个问题是,如果我...
原创
发布博客 2018.09.12 ·
682 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

垃圾收集算法

1.标记-清除算法 最基础的收集算法是“标记-清除”算法,如同它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收说有被标记的对象。 它的主要不足有两个: 一个是效率问题,标记清除两个过程的效率都不高; 另一个是空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需要分配较大的对象时,无法找到足够的连续...
原创
发布博客 2018.09.10 ·
113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一个Java对象生存还是死亡?

第一个问题,如何判断一个对象已死? 一个对象已死,从程序运行的角度来看,当一个对象没有用的时候,这个对象就已经死了,那么,如何判断一个对象没有用了? 常用的方法是这样的:给对象添加一个引用计数器,每当有一个地方引用它时,计数器的值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不再使用的。这就是引用计数算法。 引用计数算法是一个简单有效的算法,但是在Java中却没有使用这种...
原创
发布博客 2018.09.06 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

对象的创建过程

在虚拟中,对象的创建过程是怎么样的?大体上来说分为三步: 1.类加载过程 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经执行过相应的类加载过程。 类加载过程大致有三个过程:加载、解析和初始化。2.为对象分配内存 分配方式有两种: 1.指针碰撞 这里需要Java堆的内存绝对规整,所有用过的内存都放...
原创
发布博客 2018.09.05 ·
741 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Java内存区域

Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。 从线程的角度来看,运行时的数据区域主要分为两部分,第一部分是线程隔离的数据区,第二部分是线程共享的数据区。线程隔离的数据区分为三部分,下来我们一一介绍: 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器,每条线程都有一个独立的程序计数器。 字节码解释器...
原创
发布博客 2018.09.04 ·
79 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

插入排序

算法 是否为原地排序 时间复杂度 空间复杂度 插入排序 是 介于N和N2之间 1public class InsertionSort { public static void main(String[] args) { int[] array = {5,4,3,2,1}; for (int i...
原创
发布博客 2018.08.28 ·
115 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

选择排序

算法 是否稳定 时间复杂度 空间复杂度 选择排序 是 N2 1public class SelectionSort { public static void main(String[] args) { int[] array = {5,4,3,2,1}; for (int i = 0;i <...
原创
发布博客 2018.08.28 ·
94 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

BinarySearch

二分查找: 平均时间复杂度:logN 最坏时间复杂度:logNimport java.util.Arrays;public class BinarySearch { public static void main(String[] args) { int[] array = {2,2,2,2,4}; Arrays.sort(array...
原创
发布博客 2018.08.27 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1126. Merge Two Binary Trees

Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.You need to merge them into a new binary tree...
转载
发布博客 2018.08.26 ·
97 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1478. 最接近target的值

给出一个数组,在数组中找到两个数,使得它们的和最接近目标值但不超过目标值,返回它们的和描述 给出一个数组,在数组中找到两个数,使得它们的和最接近目标值但不超过目标值,返回它们的和如果没有满足要求的结果就返回 -1.Input:target = 15 array = [1,3,5,11,7] Output:14先排序,然后start 和 end 相加得到number 如果这个...
转载
发布博客 2018.08.26 ·
894 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

236.交换奇偶二进制位

题目描述 请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好)给定一个int x,请返回交换后的数int。测试样例: 10 返回:5 解题思路:(1)先操作奇数位,把101010(即0xAA)作为掩码,提取奇数位,并右移1位到偶数位置(2)操作偶数位,把010101(即0x5555)作为掩码,提取偶数位,并左移一位到奇数位置(3)将两次操作结果合并成一个...
转载
发布博客 2018.08.24 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2. 尾部的零

描述 设计一个算法,计算出n阶乘中尾部零的个数。样例 11! = 39916800,因此应该返回 2挑战 O(logN)的时间复杂度分析 假如你把1 × 2 ×3× 4 ×……×N中每一个因数分解质因数,结果就像: 1 × 2 × 3 × (2 × 2) × 5 × (2 × 3) × 7 × (2 × 2 ×2) ×…… 10进制数结尾的每一个0都表示有一个因数10存在——任...
转载
发布博客 2018.08.24 ·
125 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

423. 有效的括号序列

描述 给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。样例 括号必须依照 “()” 顺序表示, “()[]{}” 是有效的括号,但 “([)]”则是无效的括号。挑战 O(n)的时间,n为括号的个数public static boolean isValidParentheses(Stri...
原创
发布博客 2018.08.24 ·
345 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

823. 输入流

描述 给出两个输入流inputA和inputB,有Backspace,如果两个输入流最后的结果相等,输出YES,否则输出NO。样例 给出 inputA = “abcde<<”, inputB = “abcdpublic class Solution { /** * @param inputA: Input stream A * @param in...
原创
发布博客 2018.08.24 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hamming距离

两个整数的Hamming距离是对应比特位不同的个数。 给定两个整数x和y,计算两者的Hamming距离样例 输入: x = 1, y = 4输出: 2public class Solution { public int hammingDistance(int x, int y) { int Distance=0; while ( x !...
原创
发布博客 2018.08.23 ·
648 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

769. 螺旋矩阵

描述:给出整数 n, 返回一个大小为 n * n 的螺旋矩阵给出 n = 3则螺旋矩阵为:[ [1,2,3],[8,9,4],[7,6,5] ]public class Solution { /** * @param n: a Integer * @return: a spiral array */ public int[][] spi...
原创
发布博客 2018.08.23 ·
256 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多