ArrayList 源码 扩容机制 无参构造器初始化 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; //初始化,将elementData变量设置成一个空对象数组 public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } 调用add方法 //ensur
通过这一周对Java的学习,使我明白了Java的起源,是由Sun公司设计的。Java程序需要经过严格的工作机制,中间错一步都不行,错一个标点符号也不行。我也知道了Java有垃圾回收机制,可以有效防止内存泄露。安装JDK的三个功能模块分别是开发工具、源代码、公共JRE。Java是属于高级语言,在classp
目录沙箱的含义Java的安全模式JDK1.0安全模型JDK1.1安全模型JDK1.2安全模型JDK1.6安全模型组成沙箱的基本组件1.字节码校验器2.类装载器3.存取控制器4.安全管理器5.安全软件包引用资料 沙箱的含义 沙箱是一个限制程序运行的环境。沙箱机制就是将 Java 代码限定在虚拟机(JVM)特定的
一.什么是反射 反射是java中的动态机制,它允许我们在程序运行期间再确定对象的实例化,方法的调用, 属性的操作等。使得程序的灵活度大大提升,但是同时也带来了更多的资源开销和较低的 运行效率。 程序不能过度的依赖反射机制。 2.反射获取方式 Class 类对象 Class的每一
1 public class Recursion01{ 2 public static void main(String [] args){ 3 4 Fix can = new Fix(); 5 can.test(5); 6 /* 7 n=2,n=3,n=4,n=5 8 */ 9 10 } 11 } 12 13 14 15 16 class Fix
抛出异常 捕获异常 ** 异常处理五个关键字:try catch finally throw throws ** package com.le.exception; public class Test { public static void main(String[] args) { try{ new Test().test(1,0); }catch(ArithmeticException e){
目录 一、进程与线程 1.进程 2.线程 3.相关知识 4.相关问题 二、浏览器内核 三、定时器相关问题 1.定时器真的是定时执行的吗? 2.定时器回调函数是在分线程执行的吗? 3.定时器是如何实现的? 四、JS是单线程的 1.如何证明JS执行是单线程的? 2.为什么JS
目录 1.V8的垃圾回收机制是怎样的2.哪些操作会造成内存泄漏 1.V8的垃圾回收机制是怎样的 V8实现了准确式GC,GC算法采用了分布式垃圾回收机制。因此,v8将内存(堆)分为新生代和老生代两部分。 2.哪些操作会造成内存泄漏 不合理的使用闭包,从而导致某些变量一直被留在内存当中。
在dom传播的过程中,一个事件有触发到响应,经历了三个过程: 1,目标的挖洞过程,先有html标签触发事件,然后向子标签一层一层传播,但未执行,,直到找到事件目标为止,这个过程叫做挖洞过程, 2,目标阶段,即获取目标阶段。 3,冒泡阶段,事件目标响应事件,并调用事件函数,然后一层一层向父标签传递事件响应,直
Java程序运行机制 编译型compile 整本翻译,速度快,对操作系统要求低 解释型 逐句翻译,网页,对速度要求不高
方法传参机制01 基本数据类型,传递的是值,形参的任何改变不影响实参 1 public class Method04{ 2 public static void main(String[] args){ 3 //测试一下: 4 int a= 10; 5 int b =20; 6 //创建一个类的对象 7 Person six
-包的本质就是文件夹。 -为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。 package pkg1[.pkg2[.pkg3...]]; -一般利用公司域名倒置作为包名 com.wuhaoming.www -为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能 imp
众所周知,JAVA中存在八大基本数据类型以及引用类型,其中引用类型其实就是基本类型的封装和类实例化生成的对象,统称为引用类型。 而引用类型会因GC回收机制,被细分为四种类型。 强引用 顾名思义,GC回收机制面对强引用类型时,即使报错也不会对强引用类型进行回收。 软引用 在内存充足时GC
Java对象结构和内部锁 Java对象结构 我们知道每一个Object类都自带锁,在了解锁之前我们先了解Java的对象结构。 Java的对象分为三个部分,主要的部分就是对象头和对象体,填充部分是因为JVM规定对象的起始地址必须为8字节的整数倍,所以在实例不满足8字节的整数倍情况下进行填充,对象头一
从类加载机制到热加载 类是如何加载的 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段,其中验证、准备、
handler机制 主线程中不能存在耗时操作,所有主线程会将耗时操作分配给子线程 可以通过handler来实现主线程和子线程的通信 在xml文件中进行布局 一个textview和button <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/
Java语言的特点 面向对象:Java语言支持封装、继承、多态,面向对象编程,让程序更好达到高内聚,低耦合的标准。健壮型:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。安全:Java通常被用在网络环境中,为此,Java提供了一个安
1、种类有两种:标记清理、引用计数(用得少) 标记清理机制: 当变量进入上下文,比如在函数内部声明一个变量时,这个变量会被加上存在于上下文中的标记。而在上下文中的变量,逻辑上讲,永远不应该释放它们的内存,因为只要上下文中的代码在运行,就有可能用到它们。当变量离开上下文时,也会被加上离
ArrayList扩容机制源码分析 首先在这里纠正一个问题,我发现很多博文在介绍ArrayList调用无参构造时,初始容量为10。其实这里是有问题的。实际调用了无参构造初始容量为0。来看源码 public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
Java的泛型机制 泛型是 Java 从 JDK5 开始引入的新特性,本质上是参数化类型,即所操作的数据类型被指定为一个参数。这意味着编写的代码可以被很多不同类型的对象所重用。 1. 泛型的使用方式 1.1 泛型类 用下面的语法可以定义一个泛型类: class C< T, E, ...>{ private T t; .
模块的加载机制 只要是模块,不管是内置模块,还是自定义模块或者第三方模块。它们都会优先从缓存中加载,从而提高模块的加载效率。 内置模块的加载优先级最高,如果内置模块和第三方模块重名了,会优先加载内置模块。 在加载自定义模块时,必须指定以./或../开头的路径标识符。如果没有指
1.基本数据类型赋值,这个值就是具体的数据,而且相互不影响;eg int n1=2; int n2=n1; 2.数组在默认情况下是引用传递,赋的值是地址 int[] arr1= {1,2,3} int [] arr2= arr1; arr2[0]=10;则arr1中的第一个元素1会变为10; 一、数组拷贝 代码编写,实现数组拷贝(内容复制
线程同步机制 并发:同一个对象被多个线程同时操作 线程同步: 线程不安全案例1: //不安全的买票 可能出现负数票,或者抢到了同一张票 public class UnsafeBuyTicket implements Runnable{ private int ticketNums=10; //票 bool
1、JVM 和 类 (1)运行java命令: java 带有main方法的类名 ■ 命令的作用:启动jvm,并加载字节码,执行程序 当调用java命令来运行某个java程序时,该命令将会启动一个jvm进程(同一个jvm中的所有线程变量都处于处于同一个进程中,共享给jvm的内存区间。) 每次启动一个程序,在任务管理器,就会出现
1, k8s 中etcd , api-server , control-manager , scheduler , kubelet , kube-proxy 各组件的原理,工作机制,相互之间的交互 2,pod 的创建流程, 生命周期 3, pod 的Readiless, livenress, 资源限制,Qos , 节点资源紧缺情况按什么顺序终结pod ; pod的下线过程 4, pod的调度,亲和性,污点, 4,pod