" 橘松 " 的自我介绍
昵称:(OrangeCsong)橘松(在其他平台也是这个名字) 年龄:95后(摩羯座) 性别:boy 性格:性格还阔以,不轻易发脾气,沉稳。喜欢独立思考。 爱好:运动(工作了,运动时间太少),基金理财,很少玩游戏。 工作:杭漂程序(后端开发...
昵称:(OrangeCsong)橘松(在其他平台也是这个名字) 年龄:95后(摩羯座) 性别:boy 性格:性格还阔以,不轻易发脾气,沉稳。喜欢独立思考。 爱好:运动(工作了,运动时间太少),基金理财,很少玩游戏。 工作:杭漂程序(后端开发...
一、前言 ArrayList是Java集合框架中List接口的一个实现类,底层用数组实现,相当于动态数组。是一种随机访问模式,实现RandomAccess接口,因此查找十分的块。ArrayList是线程不安全的,Vector是线程安全的,但...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
一、前言 学习二叉树也有一段时间了,但一直没有系统的整理一些最基础的算法问题,这篇文章就当是个总结吧。二叉树的数据结构相信大家已经烂熟于心了,在此不多说了,直接上代码。 二、先从递归说起 二叉树最明显的特征就是递归结构,很多关于二叉树的算法...
一、前言 LinkedList是Java集合框架中一个重要的实现,底层采用双向链表结构。和ArrayList一样,其也支持null值和重复值。它基于双向链表实现,就不用扩容了,可这也就是说,在维护结点的时候需要额外的空间存储前驱和后继的引用...
一、前言 因为这次面试有问到一些同学finally的问题,发现自己这块好像有点记不太清楚了,有的点可能还给人家说错了,一度弄得场面有些尴尬。所以说这篇文章深入研究一下finally的执行情况和返回值的情况。 二、finally一定会执行吗?...
一、前言 在jdk1.8以前,HashMap采用数组+链表实现,采用拉链法来解决hash冲突,即创建一个链表数组,数组中每一格就是一个链表,遇到hash冲突直接将冲突的值塞进链表里即可,这样同一hash值的都存储在一个链表里。 这么做有个缺...
一、JMM是什么? JMM是一个抽象的概念:描述的是一组围绕原子性、有序性、可见性的规范。其定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是共享变量。 JMM规定:所有共享变量存储在主内...
前言:如何处理共享数据的安全问题? 让每一个线程依次的去读取这个共享数据,这样就不会有任何的数据安全问题了,因为每次每个线程所操作的都是最新的数据,不会出现脏读的现象。synchronized关键字就是使每个线程依次排队操作共享变量,也就是...
一、volatile关键字简介 synchronized关键字是阻塞式同步,在线程竞争激烈的时候会逐渐由偏向锁膨胀为重量级锁。而volatile是JVM提供的最轻量级的同步机制。JMM告诉我们各个线程会将共享变量从主内存中拷贝到工作内存,然...
一、前言 说到CAS之前,先来看看乐观锁与悲观锁: 悲观锁认为:每个线程在对一数据进行操作时,都会有其他线程来并发修改,所以在获取数据的时候就上锁来进行操作,synchronized和lock就是一种悲观锁的策略。也就是先上锁再操作。 乐观...