JVM内存模型系列(堆、方法区以及对象和GC) 编程技术

JVM内存模型系列(堆、方法区以及对象和GC)

上文已经介绍了JVM内存模型中线程私有的部分(虚拟机栈、本地方发栈、程序计数器),那么本篇文章就来探讨下JVM中线程共享的区域:堆、方法区 方法区 方法区是JVM规范中定义的一个逻辑内存,在JDK1.8以前对方法区的实现叫做“永久代”,然而在JDK1.8以后讲“永久代”废弃,改为“元空间”对其方法区进行实现,并且存储位置是本地内存,但是它依旧是JVM的逻辑区域。方法区存储了每一个类的结构信...
阅读全文
就因为没看这篇文章面试失败了 编程技术

就因为没看这篇文章面试失败了

前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正; 公众号:知识追寻者 知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 一 java基础面试 1.1面向对象和面向过程的区别 面向过程: 优点: 性能比面向对象高 ,因为...
阅读全文
Java基础——ArrayList详解 Java

Java基础——ArrayList详解

ArrayList 内部是以动态数组的形式来存储数据的。这里的动态数组不是意味着去改变原有内部生成的数组的长度、而是保留原有数组的引用、将其指向新生成的数组对象、这样会造成数组的长度可变的假象。 ArrayList 具有数组所具有的特性、通过索引支持随机访问、所以通过随机访问ArrayList中的元素效率非常高、但是执行插入、删除时效率比较底下 ArrayList 实现了 Se...
阅读全文
使用java实现希表的基础功能 编程技术

使用java实现希表的基础功能

用java代码完成哈希表数据结构的简单实现, 以公司雇员的添加修改作为模拟实例 具体代码如下: package com.seizedays.hashtable; import java.util.Scanner; public class HashTableDemo { public static void main(String[] args) { //创建一个哈希...
阅读全文
浅谈ArrayList及扩容机制 编程技术

浅谈ArrayList及扩容机制

ArrayList就是动态数组,其实就是Array的复杂版本,它提供了动态的添加元素和删除元素的方法,同时实现了Collection 和 List接口,能够灵活的设置数组的大小。 通过源码的分析,我们可以看到ArrayList有三种构造方法 空的构造函数 根据传入的数值大小,创建指定长度的数组 通过传入Collection元素列表进行生成 // 默认的容量大小...
阅读全文
史上最全的Android面试题集锦(十) Java

史上最全的Android面试题集锦(十)

原文链接: https://blog.csdn.net/xiangzh... 5、类加载器 程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,从而只有class文件被载入到了内存之后,才能被其它class所引用。所以ClassLoader就是用来动态加载clas...
阅读全文
Java SPI机制在Flink SQL中的应用 编程技术

Java SPI机制在Flink SQL中的应用

Java SPI机制,即Java Service Provider Interface,是Java提供的基于“接口编程 + 策略模式 + 配置文件”组合实现的动态加载机制。调用者可以根据实际使用需要,来启用、扩展或者替换框架的现有实现策略。在Java中,基于该SPI思想,提供了具体的实现,ServiceLoader,利用该类可以轻松实现面向服务的注册与发现,完成服务提供与使用的解耦。 Java...
阅读全文
Apache Wicket 7.17.0 发布,7.x 系列最后一个版本 Java

Apache Wicket 7.17.0 发布,7.x 系列最后一个版本

Apache Wicket 7.17.0 发布了。Wicket 是一个 Java 语言的 Web 开发框架,与 Struts、WebWork、Tapestry 相类似,其特点在于对 Html 和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了 XML 等配置文件的使用),学习曲线较低(开发方式与 C/S 相似),更加易于调试(错误类型比较少,而且容易定位)。 随着 Wic...
阅读全文
Loading...