- 博客(15)
- 收藏
- 关注
原创 【回炉重造】JPA(Java/Jakarta Persistence API)
JPA(Java/Jakarta Persistence API)是 Java 的持久化标准,用于将 Java 对象持久化到数据库中。🐇
2024-04-22 18:28:36 433
原创 Git tips
这将显示已保存的工作目录状态的列表。每个 stash 都有一个唯一的标识符(stash@{n})和一个相关的消息。这将应用指定的 stash。如果你有多个 stash,需要使用相应的标识符(n 是 stash 的索引)。这将保存当前工作目录中的所有未提交的更改。可选的消息参数可以用于描述保存的内容。这将应用最近保存的 stash,并从 stash 列表中移除。命令来强制推送本地分支,覆盖远程分支的历史。这将从 stash 列表中移除指定的 stash。这将删除所有保存的 stash。
2024-03-22 17:56:29 267 1
原创 CopyOnWriteArrayList随意分析
参考链接https://blog.csdn.net/u010002184/article/details/90452918JDK文档中英对照英文:public class CopyOnWriteArrayListextends Objectimplements List, RandomAccess, Cloneable, Serializable.A thread-safe variant of ArrayList in which all mutative operations (add
2023-10-08 17:30:13 45 1
原创 TreeMap源码分析
参考链接:https://www.cnblogs.com/jing99/p/11736005.htmlpublic class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable继承的类和接口都是老熟人了,就是这个NavigableMap有点陌生,我们就来康康public interface Navi
2023-10-08 17:29:59 39 1
原创 Maven的xml文件标签
Maven的xml文件标签大全如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!
2023-07-25 14:07:55 139
原创 Java方法重载中返回值的问题
不能通过设置不同的返回值来实现方法重载,这样的方法不一定会编译通过,但Class文件中可以共存。IDEA工具,JDK8测试:参考自《深入理解Java虚拟机》(第3版),如图
2020-11-09 23:06:44 1131
原创 Hashtable源码分析
参考博文:https://blog.csdn.net/dingjianmin/article/details/79774192继承关系继承了Dictionary抽象类参数:大小:count容量:默认11(>=1的任何整数)负载因子:0.75扩容阈值:容量*负载因子(或是两倍的同映射Map的size)数据结构实现:数组(一个Entry类型的Table)Entry<K,V> implements Map.Entry<K,V>线程安全性线程安全插入过程
2020-10-14 20:26:32 110
原创 ConcurrentHashMap源码分析
继承关系继承了AbstractMap抽象类和ConcurrentMap接口线程安全性线程安全的JDK1.7里容器有多把锁,每一把锁锁一段数据(segement数组,加上HashEntry单向队列table)JDK1.8版本:①取消segments字段,直接采用transient volatile HashEntry<K,V>[] table保存数据,采用table数组元素作为锁,从而实现了对每一行数据进行加锁,并发控制使用Synchronized和CAS来操作将原先table数组+
2020-10-14 20:25:52 233
原创 LinkedList源码分析
底层数据结构Node节点连成的双向链表 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next
2020-10-14 20:25:10 90
原创 ArrayList源码分析
容量默认容量:10扩容后的容量:旧容量的的1.5倍(也可能是1.5倍-1,因为新容量=旧容量+旧容量右移一位())底层数据结构Object类型数组复杂度分析get(int index):O(1)add(E e):O(1)add(int index, E element):O(n)remove(int index):O(n)扩容机制新容量为旧容量的1.5倍,或1.5倍-1。由于底层是使用了Object类型数组,所以扩容后这个数组的大小为原来的1.5倍,但是其size取决于你到底添加了多
2020-10-14 20:24:35 91
原创 HashMap源码分析
参考链接:https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/HashMap.mdhttps://thinkwon.blog.csdn.net/article/details/104588551数据结构实现:<=JDK1.7:数组+链表(链表散列)>=JDK1.8:数组+链表+红黑树哈希函数比较:JDK1.7:4次位运算,5次异或运算(9次扰动)static int
2020-10-14 20:23:19 128
原创 Java面试灵魂不够100问
参考来源:Java基础:https://github.com/Snailclimb/JavaGuide#%E5%9F%BA%E7%A1%80局部变量和全局变量的区别:https://blog.csdn.net/wanghuan0/article/details/81158007接口和抽象类的十二种异同:https://www.zhihu.com/question/20149818基础JDK和JRE有什么区别?面向过程和面向对象的区别?面向对象有什么优点?详述面向对象的特点8中基本数据类型
2020-09-25 20:41:13 361
原创 每天一道奇奇怪怪的智力题
1.红蓝桶问题问题:有两桶相同量的红蓝油漆,问从红桶舀一勺油漆到蓝桶,再从蓝桶舀一勺油漆到红桶,问红桶的“红蓝比”高,还是蓝桶的“蓝红比”高。思路:假设第一次舀了一整桶红油漆到蓝桶(假设是500ml),第二次从蓝桶舀了500ml到红桶,所以红桶的红蓝比和蓝桶的蓝红比一样。...
2020-09-16 22:54:32 1134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人