首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java基础
山水终相逢
创建于2023-10-18
订阅专栏
Java基础知识学习
暂无订阅
共21篇文章
创建于2023-10-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
过滤器、拦截器、AOP了解
过滤器 在Java中,过滤器(Filter)是Servlet技术的一部分,用于在Servlet容器中处理请求和响应。过滤器主要用于在请求进入Servlet之前或响应返回客户端之前执行一些预处理和后处理
深入理解Java对象的创建过程:类的实例化
摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调
volatile关键字在单例模式(双重校验锁)中的作用
双重校验锁代码 执行过程 双重校验锁方式的执行过程如下: 1.线程A进入 getInstance() 方法。 2.由于 singleton为 null,线程A在 //1 处进入 synchronize
动态代理JDK、Cglib
JDK jdk动态代理是通过‘java.lang.reflect.Proxy’类和‘InvocationHandler’接口创建动态代理对象。JDK动态代理只能代理接口,而不支持直接代理类。 CGLI
静态代理VS动态代理
代理概念 为某个对象提供一个代理,以控制这个对象的访问。代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以代理用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理
技术选型背后的思考
1 技术特性 了解各个技术选型的技术特性是一次选型的开始,也是必须做好的一部分工作。笔者经验性的发现,往往选型过程中的反复、纠结,都是由于一开始并没有真正体系化的将每一个选型理解透彻。还是延续上面的说
Java线程安全之volatile关键字
volatile变量的特性 1.保证可见性,不保证原子性 当写一个volatile变量时,JMM会把该线程本地内存中的变量强制刷新到主内存中(内存屏障)。 这个写操作会导致其他线程中的volatile
Java线程安全类之CopyOnWriteArrayList
简介 CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不
Java线程安全类之ConcurrentHashMap
一文看懂jdk8中的 ConcurrentHashMap 相信大家在日常开发中都用过 HashMap,HashMap 在并发扩容过程中,在 jdk7 中的实现可能会形成环形链表从而引发死循环,在jdk
Java锁机制(四)Lock
Lock ReentrantLock 加上Lock ReentrantLock的实现原理 锁的特性:满足互斥性、意味着同一个时刻,只允许一个线程进入到加锁的代码中,在多线程环境下,可以让线程顺序访问
Java锁机制(三)对象的内存布局|锁升级
对象的内存布局 HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding) Mark Word(标记字段
Java锁机制(二)锁分类
锁分类 乐观锁VS悲观锁 先说概念。对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchr
限流之限流算法
固定窗口限流算法 当次数少于限流阀值,就允许访问,并且计数器+1 当次数大于限流阀值,就拒绝访问。 当前的时间窗口过去之后,计数器清零。 假设单位时间是1秒,限流阀值为3。在单位时间1秒内,每来一个请
限流之为什么要做接口限流?
在微服务的框架中,一般所有的外部请求都会先经过网关,通过网关再去转发的相应的服务,进行请求的处理。 所以我们一般都会在网关层面做一个限流,然后配合网关的转发策略,实现后台服务的负载均衡和整体接口限流。
限流之Nginx实现接口限流限流
一个Http请求,我们可以在nginx中获取到哪些数据呢? 请求头部信息: 客户端 IP 地址:通常通过 $remote_addr 或 $binary_remote_addr 变量获取。 请求方法:通
Java线程(二)线程状态详解
线程状态 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线
Java锁机制(一)多线程编程下可能会出现的问题以及原因
Java中为什么需要使用多线程呢? Java中的锁机制就是为了应对在多线程场景下出现的问题。那我们先来看一下,为什么Java中需要使用多线程。 利用多核处理器:现代计算机通常配备多核处理器,多线程编程
Java线程(一)线程创建方式
Java中线程的五种创建方式 继承Thread类 步骤: 创建一个继承于Thread类的子类 重写Thread类的run()-> 将此线程执行的操作声明在run()方法中 创建Thread类的子类的对
JVM(二)堆区GC执行器
继 JVM内存模型以及调优(一) 我们了解JVM中各个区域的作用,之后我们再接着深入的了解JVM的堆区。 堆区中主要存储运行时实例对象和数组数据,所以也就成了垃圾回收器的主要活动区域了,那么随着程序一
JVM(一)内存模型
什么是JVM JVM 是Java Virtual Machine (Java虚拟机) 的缩写,JVM是一种用于计算设备的规范,它是一个虚拟出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实
下一页