JAVA后端
文章平均质量分 93
月东坡半
冲!
展开
-
JAVA单元测试用例——待续
JAVA单元测试用例总结原创 2022-08-26 20:03:44 · 1991 阅读 · 1 评论 -
JAVA后端面经总结——应用类
JAVA后端开发知识总结(持续更新…)JAVA后端面经总结——应用类文章目录JAVA后端面经总结——应用类一、方法总结十、应用类一、方法总结滑动窗口系列十、应用类Word单词拼写检错你怎么实现hashmap存储所有单词然后比较如何读取多个文件,并统计单词出现的频率递归读取文件;每行读;正则表达式分割;HashMap给定一个2亿数字的数组,如何判定某个数是否在集合中,假设数组中没有重复元素,且数字大小在5亿以内。HashSet可以,还有一种方法0\1表.原创 2021-07-25 21:33:10 · 501 阅读 · 0 评论 -
JAVA基本数据类型
JAVA后端开发知识总结(持续更新…)JAVA基本数据类型文章目录JAVA基本数据类型一、概述二、基本数据类型的转换2.1 String 和 char2.2 自动类型转换和强制类型转换2.3 四则运算中的类型提升一、概述数据类型整数类型默认为int类型,小数类型默认为double。基本数据类型大小二、基本数据类型的转换2.1 String 和 charStringString转化为char类型时,只能用char类型的数组来接收。String进行Long类.原创 2021-06-22 00:02:13 · 230 阅读 · 0 评论 -
await和signal源码解析
JAVA后端开发知识总结(持续更新…)Condition接口源码解析文章目录Condition接口源码解析一、概述1.1 与wait/notify机制的对比1.2 条件队列与CLH队列一、概述看这篇文章前,最好先了解AQS的原理:《AQS源码解析》。1.1 与wait/notify机制的对比 Condition接口的方法: Condition接口的await/signal机制是针对监视器monitor的wait/notify机制的不足进行改进设计的。其方法对比如下所示:.原创 2021-04-01 16:05:18 · 623 阅读 · 0 评论 -
ThreadLocal详解
JAVA后端开发知识总结(持续更新…)ThreadLocal详解文章目录ThreadLocal详解一、概述二、源码分析2.1 set()2.2 threadLocals 和 ThreadLocalMap2.3 get()三、内存泄漏一、概述 ThreadLocal提供了线程的局部变量,只有当前线程可以访问。每个线程都可以通过set()和get()来对这个局部变量进行操作,它实现了线程的数据隔离,每一个线程都有自己的共享变量。 需要注意的是,为线程分配对象不由ThreadLocal自动.原创 2021-03-30 22:31:03 · 222 阅读 · 0 评论 -
ConcurrentHashMap源码详解
JAVA后端开发知识总结(持续更新…)ConcurrentHashMap源码详解文章目录ConcurrentHashMap源码详解一、1.7和1.8的ConcurrentHashMap异同二、1.8中的主要方法源码解析2.1 put()2.2 get()参考文档一、1.7和1.8的ConcurrentHashMap异同都不允许key和value为null,否则会抛出异常。和HashMap的功能基本一致,重点解决了HashMap多线程的不安全问题。安全并发实现原理:JDK1.7中的.原创 2021-03-22 17:53:52 · 403 阅读 · 0 评论 -
AQS源码解析
JAVA后端开发知识总结(持续更新…)AQS源码解析文章目录AQS源码解析一、AQS简介一、AQS简介 AQS(AbstractQuenedSynchronizer)是抽象的队列式同步器框架,是除了java自带的synchronized关键字之外的锁机制。 AQS的核心思想在于,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并将共享资源设置为锁定状态,如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实.原创 2021-03-21 22:21:58 · 498 阅读 · 0 评论 -
synchronized详解
JAVA后端开发知识总结(持续更新…)synchronized详解文章目录synchronized详解三、锁优化monitor简介synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,很多人都会称呼它为重量级锁,随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。Synchr.原创 2021-03-21 17:13:32 · 724 阅读 · 1 评论 -
ConcurrentLinkedQueue源码
JAVA后端开发知识总结(持续更新…)ConcurrentLinkedQueue源码解析文章目录ConcurrentLinkedQueue源码解析一、ConcurrentLinkedQueue简介及基本结构二、ConcurrentLinkedQueue的常用方法解析2.1 入队方法offer()一、ConcurrentLinkedQueue简介及基本结构 ConcurrentLinkedQueue是可以用来实现高并发的无界线程安全队列,底层是一个单向链表。它采用非阻塞算法,通过循环CAS保.原创 2021-03-20 17:51:40 · 214 阅读 · 0 评论 -
MVCC原理
JAVA后端开发知识总结(持续更新…)MVCC与MySQL单表优化分页查询文章目录MVCC与MySQL单表优化分页查询一、ACID靠什么保证二、MVCC(多版本并发控制)2.1 MVCC简述2.2 undo log2.3 InnoDB的MVCC新增的三个字段2.4 当前读与快照读及版本读取三、MySQL单表优化分页查询一、ACID靠什么保证原子性由undo log日志保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行成功的sql。一致性一般由代码层面来保证。隔离性由MVCC来保证.原创 2021-03-18 20:47:49 · 401 阅读 · 0 评论 -
MySQL的锁机制
JAVA后端开发知识总结(持续更新…)MySQL的锁机制文章目录MySQL的锁机制一、锁分类一、锁分类按数据操作的类型分为共享锁和排他锁,也叫做读锁和写锁。读锁是共享的,针对同一份数据,多个读操作可以同时进行,这时候只能读不能写。写锁是排他的,它会阻塞其它的写锁和读锁按数据操作的粒度分为表锁和行锁两种。表锁会锁定整张表并且阻塞其它用户对该表的所有读写操作,比如ALTER修改表结构的时候就会锁表。行锁又可以分为乐观锁和悲观锁,悲观锁可以通过for update.原创 2021-03-18 13:21:34 · 247 阅读 · 0 评论 -
MySQL的索引优化与失效
JAVA后端开发知识总结(持续更新…)MySQL的索引优化与失效文章目录MySQL的索引优化与失效单表索引优化及失效单表索引优化及失效通常,适合创建索引的列是出现在 WHERE 或 ON子句中的列,而不是出现在 SELECT 关键字后的列。尽量多地创建联合索引,而非单值索引。如果一个表的字段过多,索引过多,那么索引占用的空间也很多,在修改索引时,耗费的时间也较多。联合索引遵循 最佳左前缀法则CREATE INDEX idx_age_deptId ON tab(age, dept.原创 2021-03-17 16:24:30 · 469 阅读 · 0 评论 -
MySQL的索引原理
JAVA后端开发知识总结(持续更新…)MySQL的索引文章目录MySQL的索引一、索引概述1.1 索引基本概念及使用场景1.2 索引的种类和类型1.2.1 索引种类1.2.2 索引类型二一、索引概述1.1 索引基本概念及使用场景索引(Index)——必须考虑磁盘IO: 帮助MySQL高效获取数据的数据结构,即:索引的本质为数据结构。数据库索引存储在磁盘上,一次磁盘IO对应加载一个磁盘页(节点),因此性能与树高挂钩。使用二叉搜索树可能出现退化的情况,使性能大大降低,因此使用二叉平衡树更.原创 2021-03-17 16:23:53 · 377 阅读 · 0 评论 -
InnoDB和MyIASAM的区别
JAVA后端开发知识总结(持续更新…)InnoDB和MyIASAM的区别文章目录InnoDB和MyIASAM的区别一、查看引擎的命令二、InnoDB和MyISAM对比三、InnoDB的补充3.1 InnoDB的四大特性及自增主键问题3.2 InnoDB的事务3.3 InnoDB锁算法一、查看引擎的命令查看所有存储引擎show engines;查看默认的存储引擎show variables like ‘%storage_engine%’;查看表的存储引擎sh.原创 2021-03-16 22:42:25 · 328 阅读 · 0 评论 -
LinkedList和ArrayList区别
JAVA后端开发知识总结(持续更新…)LinkedList及其和ArrayList区别文章目录LinkedList及其和ArrayList区别一、LinkedList概述1.1 LinkedList基本结构一、LinkedList概述 LinkedList实现了List接口和Queue接口,继承了AbstractCollection类,它可以用作队列,也可以用作栈。1.1 LinkedList基本结构 LinkedList有size属性,指明当前拥有的节点数,还有两个指针分别指向.原创 2021-03-15 23:45:15 · 93 阅读 · 0 评论 -
ArrayList扩容机制和主要方法(源码解析)
JAVA后端开发知识总结(持续更新…)ArrayList主要方法和扩容机制(源码解析)文章目录ArrayList主要方法和扩容机制(源码解析)一、ArrayList基本概述二、ArrayList的扩容机制一、ArrayList基本概述 ArrayList是实现了List接口的基于动态数组的数据结构,可以用来存放各种类型的数据,ArrayList按照插入的顺序来存放数据。但是ArrayList不是线程安全的。ArrayList的主要属性// 数组的默认初始容量大小private s.原创 2021-03-15 22:54:18 · 1918 阅读 · 1 评论 -
HashMap源码
JAVA后端开发知识总结(持续更新…)HashMap源码分析文章目录HashMap源码分析一、HashMap概述1.1 HashMap的基本结构与属性二、JDK 1.7和1.8中的HashMap区别一、HashMap概述1.1 HashMap的基本结构与属性 HashMap 的底层是个 Node 数组(Node<K,V>[] table,继承Entry),在数组的每个索引位置(本身也会存储一个K-V键值对),如果存在多个节点,则是以链表或红黑树的形式存在。Node数组是在第一.原创 2021-03-15 17:03:36 · 527 阅读 · 0 评论 -
JAVA后端开发知识总结(持续更新...)
JAVA后端开发知识总结 我将平时所学的内容笔记整理好后逐步搬迁至CSDN上,同时还有各类知识点的补充,本文是对所有内容的一个索引,希望大家一起讨论交流,共同进步。 作者不定期持续更新中…文章目录JAVA后端开发知识总结1.计算机网络1.1 基础知识总结2.网络编程1.计算机网络1.1 基础知识总结应用层:1.概述及Socket应用层:2.域名解析系统DNS(UDP协议)应用层:3.文件传送协议FTP(TCP协议)及电子邮件(TCP协议)应用层:4.万维网WWW及HTTP协议2.原创 2021-03-09 14:37:31 · 828 阅读 · 2 评论