首页
学习
活动
专区
工具
TVP
发布

技术趋势

专栏作者
195
文章
169981
阅读量
25
订阅数
jdk-HashMap(1.8)源码学习
hashMap是我们日常用得最多的一种并发包其中之一了,hashMap是线程不安全的,不安全主要体现在高并发的场景下,
逍遥壮士
2023-02-28
2950
jdk-Atomic源码学习
atomic是并发框架中的一员,所属位置:java.util.concurrent.atomic 该类主要是用来解决内存可见性、有序、线程安全,当然底层也是通过cas来实现,所以性能相同步锁也是高不少。
逍遥壮士
2023-02-28
3000
jdk-ReentrantLock&AQS源码阅读
aqs是指类java.util.concurrent.locks.AbstractQueuedLongSynchronizer,是java并发编程的核心类,大数据同步器的实现都是围绕这个类进行实现的。该类主要由 Doug Lea(李二狗),实现的一套同步器框架,是一个可以依赖状态(state)的同步器实现。
逍遥壮士
2023-02-28
8560
JMM模型是什么?
Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。需要JVM的实现都需要遵守这样的规范,有了JMM规范的保bujj,并发程序运行在不同的虚拟机上时,所得到的程序结果才是安全可靠可信赖、不同JVM运行结果一致。
逍遥壮士
2022-12-01
4110
String-源码阅读
上文:jdk-8大基础类型源码阅读(byte、short、int、long、float、double、boolean、char)
逍遥壮士
2022-12-01
2250
CAS算法-实现原理
CAS的全称为Compare and swap 比较并交换。CAS又经常被称为乐观锁,主要的三个变量,内存值V,旧的预期值P,需要修改的新值N,原理就是:当 P等于V ,则将 N值赋给 V;
逍遥壮士
2022-12-01
2800
jsonPath-快速获取/设置json指定位置
在一些特殊场景中,可能 一串json有几个甚至上万个节点,那么要去获取里面某一个节点或者说设置某个json指定key的值,那就非常麻烦了,一般我们是通过递归来进行获取,获取后还需要再通过递归进行遍历设置值,所以相当来说非常麻烦。是否有已有现成的工具进行设置呢?
逍遥壮士
2022-06-15
1.6K0
jdk-8大基础类型源码阅读(byte、short、int、long、float、double、boolean、char)
在我们编写基础数据类型的时候有时候在做一些基础的判断的时候会发现,为啥判断的结果不一致,比如你int a =127 当 a==127是true,但是当a=128 a==128就发现是false,所以这时候会可能会很纳闷为啥不一样?当然jdk底层很多源码是值得每一个java从业者学习。
逍遥壮士
2022-06-15
4870
AST是什么?
在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于 if-condition-then 这样的条件跳转语句,可以使用带有三个分支的节点来表示。
逍遥壮士
2022-03-29
5580
选择排序算法
先获取第i位,然后通过子循环,判断当前位与接下来的数据匹配大小,如果小于则交换坐标到临时min中,直至子循环结束,然后再外循环进行交换数据。
逍遥壮士
2021-09-17
9360
冒泡排序算法
冒泡排序属于比较简单的排序算法,并且在初中级程序员在面试中经常遇到,在工作中用得不多,但是其原理广泛用于各种开源框架中。
逍遥壮士
2021-09-17
3210
递归算法
递归算法非常简单明了,但是要注意死循环导致栈溢出。在日常相同属性的计算机以这样来写,在后续的递归排序就是以些基础为计算逻辑。
逍遥壮士
2021-07-29
5750
JVM (标记-清除算法、复制算法、标记-整理算法、分代收集算法、分区算法)
在Java堆中存放着所有Java的对象实例 ,在GC执行垃圾收回之前,JVM需要标识出来哪些是对象已经不被引用(垃圾),哪些被引用,而JVM有两种垃圾标识对象是否存活,分别是:引用计数算法和可达性分析算法。
逍遥壮士
2021-07-29
2.1K0
JVM垃圾收集器(GC)有哪些?
对于jvm来说垃圾是指运行程序中没有任何指针指向的对象,这个对象就需要被回收。
逍遥壮士
2021-07-05
6990
对象实例化与内存布局(深入)
创建对象方式有:new、Class的newInstance()、Constructor的newInst(Xxx)、使用clone()、使用反序列化、第三方库Objenesis;
逍遥壮士
2021-05-24
1.1K0
深入方法区
方法区(Method Area)属于jvm运行时数据区的一块,也是跟堆一样被所有线程共享,并且方法区在物理层面是属于堆中的一块。方法区在JVM启动的时候被创建。
逍遥壮士
2021-04-13
4130
jvm的类加载器(classloader)及类的加载过程
类加载简单的说就是JVM通过类加载器ClassLoader,把.class文件中的信息,拼装成Class对象放入内存中。
逍遥壮士
2021-03-23
1.8K0
设计模式-责任链模式
基本每个在职人员,都经历过请假的事情。正常情况下,请假需要经过上级部门领导审批,而公司有总经理、部门经理、组长 有的甚至更多职位。请假也分为很多种情况,比如,事假、病假、调休假,这种一般组长就可以给你审批了。而像产假或特殊长休假有的公司是根据请假长短来判断,有的是根据类型,需要到经理甚至总经理来审批,而责任链模式是解决这种根据不同场景需要不同级别的来处理的一种模式。
逍遥壮士
2020-09-18
4350
业务自增id彻底解决es深翻页的问题
由于原来mysql库里面的数据量从2万增加到40万,并且mysql库缩容导致,每小时其他项目级小伙伴来调xinyun库的这张表导致cpu每次开销都在20%以上,并且该库数据可能还会继续增加,每次拉数据会延长到半小时左右,非常耗能,所以将原有的mysql表同步到es中...,但是发现es翻页到一万条数据后就会出现以下问题。
逍遥壮士
2020-09-18
1.5K0
设计模式-模板模式
当房子建好后,相同的房间规格,但是可以根据不同的需求进行不同的装修,有把天花板刷黄,有些刷绿,有些乱刷...这个很类似于设计模式中的模板模式,根据相同的模板生成出来后内部装修可以自定义。
逍遥壮士
2020-09-18
4180
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档