Java后端
文章平均质量分 74
原创的关于Java后端常用技术栈和知识点
慢慢敲吧
天坑转码应届生
展开
-
第一次面试复盘面经(重点数组和集合)
技术问题集合: 你能简单说一下Java循环语句吗?想到几个说几个 while循环还能再细分吗? 想结束while循环应该怎么办? 用过数组和集合吗?这两个的区别能简单说一下吗? 你提到map了,可以说以下list和map的区别吗? 你对这个前后台同步异步机制有了解吗? 非技术问题: 你有想过在济南长期发展吗?是什么使你不优先考虑北上广深这些大城市? 你对这个行业有什么过多的了解吗? 你对加班持有什么的态度呢? 你原创 2022-04-16 09:51:14 · 155 阅读 · 0 评论 -
CountDownLatch/CyclicBarrier/Semaphore使用过吗?(面试)
CountDownLatch:让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒CountDownLatch主要有两个方法,当一个或多个线程调用await()方法时,调用线程会被阻塞。其它线程调用countDown()方法会将计数器减1(调用countDown方法的线程不会阻塞),当计数器的值变为零时,因调用await方法被阻塞的线程会被唤醒,继续执行。//这个枚举一定要学会,项目中常用public enum CountryEnum{ ONE(1, "齐"),TWO(2, "楚"),T原创 2022-04-14 13:23:38 · 270 阅读 · 0 评论 -
Java中各种锁的相关知识点(含代码)
公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解,请手写一个自旋锁 公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到 非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁在高并发的情况下,有可能会造成优先级反转或者饥饿现象 并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或非公平锁,默认是非公平锁,非公平锁的优点在于吞吐量比公平锁大。对于Synchronized而言,也是一种原创 2022-04-11 21:32:54 · 449 阅读 · 0 评论 -
集合类不安全之并发修改异常与写时复制
我们知道ArrayList是线程不安全,请编码写一个不安全的案例并给出解决方案/**集合不安全的问题*/public class ContainerNotSafeDemo{ public static void main(String[] args){ //new ArrayList<>().add(1);底层创建一个长度为10的object数组,满了之后扩容变成原来的1.5倍 //List<String> list = Arrays...原创 2022-04-11 09:49:31 · 121 阅读 · 0 评论 -
深入理解CAS(整理自尚硅谷阳哥版本)
CAS你知道吗? 比较并替换 CAS底层原理?如果知道,谈谈你对Unsafe的理解 atomicInteger.getAndIncrement(); Unsafe CAS是什么 unsafe.getAndAddInt 底层汇编 简单版小总结 CAS缺点 /**1. CAS是什么?==> compareAndSet 比较并交换*/public c原创 2022-04-09 23:43:47 · 390 阅读 · 0 评论 -
深入理解volatile(整理自尚硅谷阳哥版本)
1、谈谈你对volatile的理解?volatile是Java虚拟机提供的轻量级的同步机制 保证可见性 不保证原子性 禁止指令重排 2、JMM(内存模型)你谈谈?—— 可见性、原子性、有序性使得线程安全性获得保证JMM(Java内存模型Java Memory Model) 本身是一种抽象的概念并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式JMM关于同步的规定: 线程解锁前,原创 2022-04-08 23:08:36 · 149 阅读 · 0 评论 -
JUC基础知识点(一)
1、JUC概述1.1 什么是JUC在Java中,线程部分是一个重点,本篇文章说的JUC是关于线程的。JUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5开始出现的1.2 线程和进程的概念 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某原创 2022-04-04 21:24:53 · 668 阅读 · 0 评论 -
Java内置锁的核心原理(一)
Java内置锁的核心原理Java内置锁是一个互斥锁,这就是意味着最多只有一个线程能够获得该锁,当线程B尝试去获得线程A持有的内置锁时,线程B必须等待或者阻塞,直到线程A释放这个锁,如果A线程不释放这个锁,那么B线程将永远等待下去。Java中每个对象都可以用做锁,这些锁成为内置锁。线程进入同步代码块或方法时会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法线程安全问题什么是线程安全呢?当多个线程并发访问某个Java对象(Object)转载 2022-04-03 16:33:34 · 652 阅读 · 0 评论