世界线跳跃者_个人页

个人头像照片 世界线跳跃者
个人头像照片
0
37
0

个人介绍

宇宙虽有其起源,却没有终结。无限。 星球虽也有起源,却因其自身之力走向毁灭。有限。

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    递归算法和动态规划的关系是什么呀?

    问题本身都要可以被分解为几个较小的问题求解,而dp还要满足重叠子问题和最优子结构,所以dp最多只能说是递归算法中的小类问题的解决算法。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@炯轩][¥20]Android单例内存泄露问题

    1.预防为主:不是特别必要的场景少用单例,以及单例中少持有非必须的数据,要持有的地方即使释放,可以考虑通过代码review机制保障
    2.编译时检测:编写插件,基于规则去扫描单例相关的使用地方,进行一定的报警
    3.运行时检测:做一些从单例对象开始的可达性分析,结合对象的使用频率和存货时长,来做一定的报警

    踩0 评论0
  • 回答了问题 2019-07-17

    [@wangccsy][¥20]jdk8对hashmap做了哪些优化?

    最重要的优化是每个slot,之前使用链表解决冲突,现在当链表长度超过一定数量时使用红黑树解决冲突。

    如果数据非常大,冲突较多时,单链表长度可能会非常长,比如k,考虑k的数量非常大的情况下,此时查找效率从hashMap的O(1)退化到O(k),而红黑树是二叉平衡树,优化后,查找效率为O(logk),所以此时能显著提升效率。

    踩0 评论0
  • 回答了问题 2019-07-17

    java递归的优点缺点

    优点:代码简短清晰
    缺点:可能会栈溢出,如果没使用尾递归优化的话, 以及 性能不用递归实现一般而言会差一点

    而之所以简短清晰有个很重要的原因是,不适用递归,一般要使用栈,而递归中调用栈正好就充当了栈的角色,从而有这个优点,而栈是有确定的大小的,每次递归都会创建一个栈帧,容易栈溢出,同时由于有方法调用,包含栈帧创建等事情所以效率比起自己实现相对会差一点。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@徐雷frank][¥20]Java 中 ++ 操作符是线程安全的吗?

    不安全,因为++只是java的语法,在实现上简单且不严谨的说会经历 1.取值放栈上 2.执行+1,得到结果 3.将结果赋值回去
    从而3部有很多节点都会有线程安全问题造成结果的不可预知和不正确。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@talishboy][¥20]Java类里面的方法建议使用private、protect还是public?

    如果明确是为了给外部调用的方法则用public
    如果只是为了类内自己使用则private
    如果子类也要使用or覆盖的话则protect

    清晰和严格的权限控制能 让自己与子类,自己与外部之间尽可能的减少偶尔,从而遇到变动时能减少互相影响的可能性。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@倚贤][¥20]什么是JAVA的平台无关性

    一般程序编译完后的二进制文件,里面是汇编代码,直接使用CPU的指令集来实现。而不同(CPU)平台指令集不同,以及可能格式也不同,进而你编译出来的ARM平台的二进制文件无法再x86平台上去执行。

    而java的做法是加了一层:虚拟机层,你编译出来的是class字节码,这个是约定好的平台无关的指令集,而各个平台上的虚拟机都是针对该平台/CPU指令集实现的,提供将字节码翻译为平台指令集的功能。

    所以,开发者基于java开发的产物:字节码文件是平台无关的,而平台上的虚拟机帮你做了平台有关的那部分事情。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@小川游鱼][¥20]Java虚拟机的堆、栈、堆栈如何去理解?

    一般语义下,java虚拟机的堆指java堆,java虚拟机的栈或堆栈指java虚拟机栈
    前者核心职责分配内存存储对象,后者核心职责是执行java方法

    踩0 评论0
  • 回答了问题 2019-07-17

    [@徐雷frank][¥20]解释 Java 堆空间及 GC?

    Java堆:虚拟机运行时数据区中的一块内存,主要用来存放对象
    GC:虚拟机自动的通过一定的算法(比如mark-sweep,mark-compact等)来分析哪些对象已经可以被回收了,从而进行回收。进而可以提高开发效率,因为这样一定程度上开发者不需要自己手动去管理内存了。

    踩0 评论0
  • 回答了问题 2019-07-17

    学java是不是要学数据结构和算法

    数据结构和算法是CS的基础,属于内功,最好学习一下,并且收益也比较高,不只是面向java这门语言的。

    踩0 评论0
  • 回答了问题 2019-07-17

    大一学java

    知识这个东西学的越多,不懂的就越多,要学的也越多,很多时候会令人感觉学无止境,举个例子,学习的java过程可能像个二叉树,学了某个节点后,他又有自己的很多子节点,要学习。
    大一的话一般主要学习了语法以及一定的面向对象思想,可能只是冰山的一角都算不上,但是是后续学习的重要基础。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@wangccsy][¥20]在Java中常见对对临界资源的访问控制手段有哪些?

    1.加锁,又分为很多锁,比如信号量、自旋锁、互斥锁等等
    2.软件上加一层,比如用一个队列来控制顺序的访问顺序

    踩0 评论0
  • 回答了问题 2019-07-17

    想从事IT行业,如何学好java??

    1.找本书了解java语法,比如"Thinking in java"
    2.找几本书了解java语法之下的东西, 内存结构、内存回收、虚拟机等,比如"深入理解java虚拟机"

    踩0 评论0
  • 回答了问题 2019-07-17

    [@talishboy][¥20]如何理解java中的反射?

    在运行时获取对象、类的各类上下文信息,并可以进行修改、创建、方法调用等。对于上层开发者而言获得了极大的灵活性。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@小川游鱼][¥20]Java 中堆和栈有什么区别?

    首先假定题目中的栈指java虚拟机栈,堆指Java堆。
    最主要的区别是职责区别:前者最主要的用途是执行方法,后者主要用途是分配(给对象)内存。
    当然还有非常多小区别,比如前者是线程私有的,后者是共有的
    前者基于栈的栈帧的形式处理方法的上下文,从而不需要GC去管理内存,而后者需要通过GC管理内存的回收
    等等等等还有很多,不过主要还是职责定义

    踩0 评论0
  • 回答了问题 2019-07-17

    C++与Java未来发展趋势和前景!

    目前java主要领域是在 后端 和 Android
    而C++可能是在游戏场景 以及 部分后端场景。

    如果只是学习阶段,建议都可以学习下,虽然语言只是个工具,但是工具种类稍微了解多点,更容易透过语言现象看到语言本质。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@倚贤][¥20]Java泛型有什么好处?

    参数化类型,即将类型也可视作参数传入,进而增加代码的抽象性和复用性。
    此外,还能在编译时或得编译器的提示和检查,从而相对而言不容易写出问题来。
    最后,java使用类型擦除来实现范型,在编译完的字节码中还是进行了类型强转,只是不需要自己转。

    踩0 评论0
  • 回答了问题 2019-07-17

    [@倚贤][¥20]java版本

    较多1.8

    踩0 评论0
  • 回答了问题 2019-07-17

    c之后是接着学oc还是先看数据结构和算法

    学完C后,建议先学数据结构与算法,提升内功的同时还可以用C来实现数据结构和算法,正好巩固和深入语言功底。
    语言功底不错之后学习其他语言事半功倍。

    踩0 评论0
  • 回答了问题 2019-07-17

    ios开发需要懂数据结构和算法么

    不懂也行,但上限会差很多。
    有时间最好学习学习,数据结构和算法是CS的基础课程,学了不吃亏,内功可以用在很多地方。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息