Java板块
文章平均质量分 82
Java集合
willorn
希望这些文字能够帮助到大家,谢谢大家的支持
展开
-
【JVM】类加载过程浅析
structured Query Language:结构化查询语言分类:1) DDL(Data Definition Language)数据定义语言用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等2) DML(Data Manipulation Language)数据操作语言用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等3) DQL(Data Query Language)数据查询语言用来查询数据库中表的记录(原创 2020-12-07 20:39:52 · 3210 阅读 · 10 评论 -
【JDK8新特性】lambda表达式、流式计算
20210118HTML原创 2021-05-11 09:46:18 · 260 阅读 · 0 评论 -
【JVM】类加载器 and破坏双亲委派模型实现
最近和朋友讨论的时候聊到关于类加载子系统这一块怎么自己实现一个子系统,对这个比较感兴趣,于是实践 了一下。自己实现一个类加载器public class MyClass { public static void main(String[] args) throws Exception { // 自定义D盘类加载器 MyClassLoader classLoader = new MyClassLoader("D:/test"); Class cl.原创 2021-10-31 19:58:45 · 374 阅读 · 0 评论 -
Collection接口里面有什么?
Collection:专为引用变量设计的集合Collection里面有什么1. 常用操作size方法统计元素的数量返回这个集合里面的元素数量,如果这个集合包含了超过 {@code Integer.MAX_VALUE} ,返回{@code Integer.MAX_VALUE} 。int size();isEmpty()判断这个集合是否没有元素包含在内。boolean isEmpty();contains(Object o)如果这个集合包含了指定的(specified)元素,返原创 2021-08-01 14:17:28 · 349 阅读 · 0 评论 -
SpringBoot简介
1. 列属性完整性primary key 主键绝对确定唯一,99%不会再去更改,且能确定数据的存在性(不能为空)优点:查询快且方便- 保证数据完整性,到哪张表都能查- 规律性- 唯一性- 处理方便(相对string而言)create table t_8( id int(18) primary key, name varchar(30));【修改添加主键】alter table t_8 add primary key (id);alter table t_8 drop primary原创 2021-08-01 14:15:54 · 180 阅读 · 0 评论 -
父子类的初始化过程
原始版以下程序执行的结果是:class X{ Y y=new Y(); public X(){ System.out.print("X"); }}class Y{ public Y(){ System.out.print("Y"); }}public class Z extends X{ Y y=new Y(); public Z(){ System.out.print("Z"); }原创 2021-07-22 09:49:01 · 378 阅读 · 0 评论 -
【多线程】面试复习
Java多线程面试高频1. Java线程基本状态Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态。1.NEW 初始状态2.RUNNABLE 运行状态3.BLOCKED 阻塞状态4.WAITING 等待状态5.TIME_WAITING 超时等待状态6.TERMINATED 终止状态1.1 线程和进程进程是资源分配的最小单位,线程是CPU调度的最小单位进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序既是一个进程从创原创 2021-06-24 21:18:52 · 244 阅读 · 0 评论 -
Java集合面试复习
1. List,Set,Map 三者的区别List(链表): 存储的元素是有序的、可重复的。Set(集合): 存储的元素是无序的、不可重复的。Map(图、映射): 使用键值对(key-value)存储,类似于数学上的函数 y=f(x),“x”代表 key,"y"代表 value,Key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。每个钥匙最多开一把锁。1.1 ListArraylist: Object[]数组Vector:Object[]数组Linked.原创 2021-06-24 20:50:57 · 251 阅读 · 1 评论 -
JVM基础总结
1. 内存区域(运行时数据区)1.1 程序计数器【作用】记录下一条指令的地址【特点】线程独有,不会报出OOM,也不用GC1.2 java虚拟机栈【组成】栈中有很多栈帧(调用方法),栈帧包含:局部变量表、操作数栈、动态链接、方法返回地址。还有就是一些压栈弹栈的操作1.2.1 逃逸分析【简述】新建的对象如果没能够逃逸出方法区,那么它就会在栈上分配【详述】我们可以这么来看,只要一个方法里面创建的对象没有与外界发生联系(没有返回对象本体 or 传入和里面新建对象关联的),那么这个对象就无法逃逸出此原创 2021-06-19 21:12:38 · 386 阅读 · 0 评论 -
【JVM Ⅶ】经典的垃圾回收器
文章目录1. GC分类和性能指标1.1 JDK都更新些什么?1.2 性能指标1.3 吞吐量 VS 暂停时间2. 不同的垃圾回收器概述2.1 编年史2.2 垃圾回收器的分类2.3 GC直接的配合战3. 经典7回收器3.1 Serial回收器:串行回收3.2 ParNew回收器:并行回收3.3 Parallel回收器:吞吐量优先3.4 CMS回收器:低延迟3.5 小结4. G1垃圾回收器4.1 基本特性4.2 【优点】**并行与并发****分代收集**:逻辑上是分代的,但是物理上是分隔开的(化整为零思想)**空原创 2021-06-18 13:12:44 · 405 阅读 · 1 评论 -
【JVM Ⅵ】GC相关概念+引用
一、相关概念System.gc提醒触发Full GC,也有可能不能触发package com.atguigu.java;/** * @author shkstart shkstart@126.com * @create 2020 14:49 */public class SystemGCTest { public static void main(String[] args) { new SystemGCTest(); System.gc();原创 2021-06-16 16:58:46 · 214 阅读 · 0 评论 -
【JVM Ⅴ】垃圾回收常用算法
开始这一章节之前先问自己几个问题:我们为什么要学习这一章节?知道了GC 有什么好处?一、前言:垃圾回收:在未来的JDK中可能G1会为ZGC所取代先问自己几个问题:什么是垃圾?垃圾就是堆内存中(范指)没有任何指针指向的对象实体。不具有可达性。为什么要回收垃圾?因为我们的内存是有限的,内存长时间不清理就会导致内存溢出,OOM;只要是程序正在跑,那么就不断生成新的对象,我们需要GC开辟新的空间分配给新的对象。我们怎么回收垃圾?依靠Java的自动内存回收机制,机制的优劣由.原创 2021-06-15 20:26:53 · 1437 阅读 · 3 评论 -
【JVM Ⅳ】StringTable字符串表
一、String 的基本特性:String 的不可变性【基本特性】final修饰、实现Serialize跨进程、Comparable可比较用作排序;【解释】不可变的字符序列,它是存储在堆区的常量池中的(两种办法:""、intern()都可以。)【变化】JDK1.8char型数组存储,1.9之后使用的是byte型数组存储。String的底层Hashtable结构【解释】字符串常量池中是不会存储相同内容的字符串的,字符串数组和链表的博弈,StringTablSize 。cmd查看参数:jps查看原创 2021-06-13 17:43:13 · 409 阅读 · 0 评论 -
【JVM Ⅲ】实例化对象&直接内存&执行引擎
对象的实例化内存布局与访问定位(new对象的过程)实例化的几种方式:new构造方法单例模式的getInstance方法(静态方法)XXBuilder/XXFactoryObject里面的clone():实现clonable()接口,重写方法==这是一个浅赋值的方法。反序列化:将file/net → 带有对象信息的二进制流反射:构造方法Constructor的newInstance();类Class的新建实例对象的方法已经被淘汰了。创建对象的步骤:在二进制中我原创 2021-06-10 10:26:41 · 481 阅读 · 0 评论 -
【JVM Ⅱ】方法区以及JVM内存分区总结
堆栈方法区的交互(配合)关系堆和元空间都是内存共享的(在1.7之前甚至是直接在内存中是连续的)【例子】方法区声明变量(放了很多类),引用变量在Java栈中(栈帧),new出来的实例对象在Java堆中。方法区的理解(Non-Heap)Def:方法区是被线程共享的,存储的是类的结构,属性和方法的数据,包含了很多init方法方法区可以选择独立存在(独立于堆存在的内存空间)或者不要GC。物理内存可以不连续,逻辑上是连续的;Error:永久代空间/元空间OOM演进JDK1.7以前:在Hot原创 2021-06-09 15:10:20 · 385 阅读 · 1 评论 -
【JVM Ⅰ】内存与垃圾回收学习笔记
推荐一本书:《深入理解JVM》再来一本:《自己动手写Java虚拟机》前言:JVM不关心各种语言(不管是Java还是其他语言,都可以在JVM上面运行),JVM只关心字节码文件,需要符合JVM字节码规范。11年出来了G1:包含了自动的内存管理 and 自动的垃圾回收功能JVM架构:stack:适配小设备,跨平台(各种平台都可以重复使用),可移植,指令更多,指令集更小,性能更差。register:指令更少,性能比stack高。各种JVM版本:classic VM(sun) :只有解释器.原创 2021-06-08 09:57:54 · 465 阅读 · 6 评论 -
【Spring基础】——IoC,AOP
这里是引用抛出几个问题:控制反转是什么?什么是注入?什么是面向切面编程什么是事务管理?什么是jdbcTemplate控制反转操作容器而不是对象,控制权的反转三种获得注入bean的方式。【getBean方法的重载,但最常用的还是直接根据name、id来获取Bean的实例因为spring在加载配置的时候就初始化了,所以我们需要在配置的之前告诉spring容器应该怎么去注入:两种办法:【1】构造器参数 设置 索引和值 or 参数名称和值【2】属性设置 调用set解析的方法名称和值A.原创 2021-06-02 11:00:39 · 229 阅读 · 0 评论