- 博客(11)
- 收藏
- 关注
原创 JVM概念篇
JVM是一个可运行Java代码的假象型计算机,其中包含有字节码指令集、寄存器、栈、堆、垃圾回收、和一个储存方法域。注:JVM与硬件没有任何直接交互,是运行在操作系统之上的。
2023-03-01 11:28:30 151 1
原创 HashMap的原理剖析
当我们向HashMap中插入数据时,首先要先确定Node在数组也就是我们的Hash桶中的位置,HashMap会首先调用hashCode()方法,获取key的hashCode值,但后对其进行高位运算再与数组长度减1进行与运算之后获取到对象的保留位,最终的计算结果就是我们的下标。HashMap的数组部分成为Hash桶,数组元素保存在table属性中。当链表长度大于8时,链表数据将会转变为红黑树的形式进行数据存储,当长度降到时,优惠转成链表的形式存储。用hash值和数组的长度减1,取模,最后等到数组的索引。
2022-11-02 15:25:59 221
原创 浅入理解多线程
1.相关概念 1.1并发(Concurrent) 简单理解,同一处理器上,同时运行多个进程。但是此时的同时执行只是宏观上的效果,实际上只是多个进程在快速的交替执行,一次只有一个进程在处理器上执行。 1.2并行(Parallel) 当系统拥有一个以上的CPU或CPU拥有多个核心时,同一时间运行的进程互相不用抢占CPU资源,可以在微观角度上做到同时进行。 1.3进程(Process) 正在运行的程序实体。 1.4线程*(Thread) ...
2022-03-18 21:00:23 190
原创 Java多线程实现方式(实现源码)
1.继承thread类 public class MTPingIP extends Thread{ private String ip; public MTPingIP(String ip) { this.ip = ip; } /** * 重写Run方法 * 执行业务代码 */ @Override public void run() { //PingIP.pingIP(ip);
2022-03-18 20:22:45 567
原创 SpringSecurity权限管理
SpringSecurity权限管理 Security能做什么? 用户认证:系统认为用户是否能够登录 用户授权:系统判断用户是否有权力去做某些事情 SpringSecurity特点: 和Spring无缝整合 全面的权限控制 专门为web开发而设计 重量级 需要引入各种依赖 SpringSecurity基本原理: SpringSecurity本质上是一个过滤器链 包含很多个过滤器 执行流程: 配置DelegatingFilterProxy 执行doFilter initDel.
2022-03-14 10:28:21 5726
原创 JAVA中堆,栈,方法区的简单理解
1.堆(heap) 在JVM中只有一个堆,在虚拟机开启时创建,所有的线程都共用这一个堆。类的对象会储存在堆内存中,而new对象的引用地址会储存在stack栈中。堆中只存储对象本身和数组。 2.栈(stack) Java栈与堆不同每一个线程都有一个stack,栈的区域非常小,大概只有1M左右,但是存储速度非常快,所以我们把快速执行的任务存储在stack。栈中存储的就是基本数据类型和对象的引用(地址,而不是实例!)。 3.方法区(method) 方法区(method)又叫静态区,这里主要存储的就...
2021-11-23 11:25:31 4833
原创 switch语句作用在byte上却不能作用在String和long上
在switch(exprl)语句中,exprl必须是一个整数表达式或者枚举常量。而byte short char都可以隐式转换为int类型,整数表达式可以是int或者包装类Integer,所以byte short char类型是可以的。但是long String类型无法隐式转换为int,自身也不符合switch的语法规定。 JAVA枚举一般是一组有关联的常量组成的集合,是一种特殊的数据类型,也可以理解为一个简洁的类,在JAVA中我们可以用enum声明一个枚举类型。## switch语句的运用 ...
2021-11-20 09:27:11 1154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人