直接缓冲区与非直接缓冲区: 非直接缓冲区:通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建立在物理内存中。可以提高效率 非直接缓冲区: 直接缓冲区: 代码示例: ...
分类:
编程语言 时间:
2017-06-27 00:58:08
阅读次数:
215
Java web部分 1、Tomcat的优化经验 答:去掉对web.xml的监视,把jsp提前编辑成Servlet。 有富余物理内存的情况,加大tomcat使用的jvm的内存 2、HTTP请求的GET与POST方式的区别 答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及 ...
分类:
编程语言 时间:
2017-06-21 13:52:41
阅读次数:
205
在我们写Java代码时,大部分情况下是不用关心你New的对象是否被释放掉,或者什么时候被释放掉。因为JVM中有垃圾自动回收机制。在之前的博客中我们聊过Objective-C中的MRC(手动引用计数)以及ARC(自动引用计数)的内存管理方式,下方会对其进行回顾。而目前的JVM的内存回收机制则不是使用的 ...
分类:
其他好文 时间:
2017-06-02 11:43:23
阅读次数:
234
JAVA技术体系中的自动内存管理实际上就是自动化的解决了给对象分配内存以及回收给对象分配的内存这两个问题。回收部分通过之前的《GC设计思路分析》和《垃圾收集器》这两篇博文进行了总结,那么接下来主要就是谈谈自己对JVM是如何给对象分配内存这一部分的理解。JVM的内存空间是有限的,并且堆内存是共享的,那 ...
分类:
其他好文 时间:
2017-05-25 01:28:28
阅读次数:
289
在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。 一般,JVM的内存分为两部分:Stack和Heap。(stack和heap都是位于RAM中的) stack(栈)是 ...
分类:
编程语言 时间:
2017-05-22 19:04:29
阅读次数:
199
摘要: tomcat部署多个项目后,启动tomcat正常,访问项目时却会出现该错误在网上查了查又试了好几次,才解决,将解决方法记录下来,以方便以后查看或让遇到同样问题的朋友有个参考 PermGen space是啥就不说了,网上找找大堆,感觉也没必要记这些个概念 问题的根源就是JVM的内存不够用了!! ...
分类:
编程语言 时间:
2017-05-15 16:55:29
阅读次数:
221
Java是按照运行时数据的存储结构来划分内存结构的,java虚拟机规范将java运行时的诗句划分为6种: 1.PC寄存器 用于保存当前执行程序的内存地址,同时java程序是多线程的,不可能一直都按照线性执行下去,当有多个线程交叉执行时,被中断的线程程序当前执行到哪条的内存地址需要记录下来。 2.ja ...
分类:
其他好文 时间:
2017-05-13 20:08:05
阅读次数:
137
面试问题 关于人文方面的问题 先介绍一下你自己? 你有什么兴趣爱好? 你平常空闲时间会干什么,看哪些书,有什么心得体会? 如果面试过了的话,就会问你的期望薪资,然后就开始各种压榨你。 关于 Java 方面的问到的知识点 面向对象的三大特性,如何理解其中的多态? JVM 的内存模型? String、S ...
分类:
移动开发 时间:
2017-05-07 14:05:35
阅读次数:
151
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论J..
分类:
其他好文 时间:
2017-04-27 11:39:24
阅读次数:
193
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前 ...
分类:
编程语言 时间:
2017-04-23 01:12:18
阅读次数:
137