![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
做一只精致IT小白
这个作者很懒,什么都没留下…
展开
-
Java(四)JVM内存结构
对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将难以解决问题。按照Java虚拟机规范的规定,JVM自动管理的内存将会包括以下几个运行时数据区域。程序计数器:是JVM中一块小的内存区域,保存着当前线程执行的虚拟机字节指令码的内存地址。Java多线程的实现,实际是通过线程间的轮流切换并分配处理器执行时间来实现...原创 2019-01-24 20:39:17 · 258 阅读 · 0 评论 -
Java(一)Java中Heap和Stack的区别
堆是栈的一个子集栈的存取速度仅次于寄存器,存储效率比堆高,可共享存储数据,但是其中数据的大小和生存期必须提前确定堆是运行时可动态分配的数据区,速度上比栈要慢,而且数据不共享,大小生存期可在运行时确定new关键字,是运行时在堆里面创建对象,每new一次都会创建新对象,因为堆数据不共享例子:String str1 = new String(“abc”);String str2 = “a...原创 2019-01-22 12:28:34 · 260 阅读 · 0 评论 -
Java(二)Java中String,StringBuffer和StringBuilder的区别
Java平台提供了两个类:String和StringBuffer,他们用来存储和操作字符串,即包含多个字符的字符数据这个String类提供了数值不可改变的字符串这个StringBuffer类提供的字符串进行修改。当知道字符数据要改变的时候就可以使用StringBuffer,典型的,可以使用StringBuffer来动态构造字符数据String长度是不可以变得StringBuffer长度...原创 2019-01-22 18:15:12 · 186 阅读 · 0 评论 -
Java(三)如何用栈实现队列
如何用栈实现一个队列栈:先进后出队列:先进先出思路:一个栈是无法实现队列操作的,所以我们需要考虑是否可以用两个栈去实现既然这时候我们有两个栈,可以让其中一个栈作为队列的入口,负责插入新元素另一个栈作为队列的出口,负责移除老元素两个栈如何进行关联这时候我们希望最先进入的最先出去解决方法:让栈A中的所有元素按顺序出栈,再按照出栈顺序压入栈B。这样一来元素从栈A弹出并压入...原创 2019-01-23 10:07:24 · 494 阅读 · 0 评论