知识储备 python 后端工程师每天做什么? 网站后台业务逻辑 为网站提供API 为产品、运营提供后台网站工具,比如后台运营系统。 学习 上: 面试流程、技巧 python语法基础、性能剖析优化 算法与数据结构、内置算法、排序…… 编程范式,各种模式(单例模式……) 操作系统,Linux命令、线程 ...
分类:
编程语言 时间:
2019-09-29 16:59:23
阅读次数:
115
1.垃圾回收概述 随着程序的不断运行,程序所产生的对象必将越来越多,而系统的内存则是有限的,所以,将没有用的对象进行清除是程序长期稳定运行的关键. 垃圾回收主要关注三个问题 什么对象应该被回收? 当然是没有用的对象.当对象不再被引用时,我们认为该对象应该被回收.如何判断对象是否还被引用,会在后面详述 ...
分类:
编程语言 时间:
2019-09-11 13:40:08
阅读次数:
100
构造和析构有很多用法 构造主要作用是初始化形参列表 析构主要作用是回收对象申请内存 防止内存泄漏 ...
分类:
编程语言 时间:
2019-08-18 09:41:50
阅读次数:
86
摘自:https://www.cnblogs.com/su-feng/p/6659064.html 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即Stri ...
分类:
编程语言 时间:
2019-08-14 00:07:55
阅读次数:
159
1、线程安全性: 线程安全:String、StringBuffer 线程不安全:StringBulider 2、执行效率 StringBulider最快,Stringbuffer次之,String最差 3、存储空间 String的对象一旦创建就不能改变,是一个常量,对String操作后会生成新的St ...
分类:
其他好文 时间:
2019-08-13 22:42:29
阅读次数:
100
垃圾收集器 判断对象是否需存活 回收堆 判断对象是否存活: 方法一:引用计数法。对象被引用一次就+1,当为0时回收对象。缺点:无法解决循环引用问题。 方法二:可达性分析算法。记录当前对象是否有和GC Roots中对象的引用链。(其中,可以作为GCRoots对象的有:虚拟机栈中引用的对象、方法去中类静 ...
分类:
其他好文 时间:
2019-07-27 15:43:26
阅读次数:
119
【阅读模式答题】 答题:对于JVM的理解,在我看来有两个重要部分: 第一是Java代码编译和执行的整个过程: 开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换 ...
分类:
其他好文 时间:
2019-07-08 17:56:29
阅读次数:
111
(一) 引用计数法 每有一个引用就加1,每失效一个就减1,为0表示可回收;但是此方法无法解决相互引用的情况 (二) 根搜索算法 从一系列的GCRoots对象为起点向下搜索,搜索的路径称为引用链,当一个对象没有任何引用链和GCRoots相连(也可以说成GCRoots到该对象不可达),则说明该对象可回收 ...
分类:
其他好文 时间:
2019-07-05 23:59:13
阅读次数:
230
Java垃圾回收机制算法 为什么要进行垃圾回收 因为当一个对象的引用不可达,或者一个对象没有任何引用指向它,那么它就没有必要在内存中继续存在,此时它就处于可以被GC(垃圾回收器)回收的对象,jvm虚拟机动态的收集不可用的对象,达到释放内存的目的。 垃圾回收区域 通常情况下的jvm虚拟机把内存都分为了 ...
分类:
编程语言 时间:
2019-07-02 00:29:03
阅读次数:
135
什么时候回收对象 引用计数法 1、原理:为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。 2、缺点:无法解决循环引用问题 可达性分析 1、原理:以 GC Roots 为起始点进行搜索,可达的对象都是存活的,不可达的对象可被回收。 2 ...
分类:
其他好文 时间:
2019-06-15 16:05:06
阅读次数:
112