自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 HashMap核心源码分析

1.HashMap总览1.1 hashmap底层储存结构图解底层结构其实就是数组+链表+红黑树1.2 HashMap类定义先来看看HashMap的定义:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {}从中我们可以了解到:HashMap<K,V>:HashMap是以key-valu

2021-08-16 15:37:51 169

原创 ArrayList分析

ArrayList 动态数组,解决java数组的动态扩容的问题。这里面绝对是用数组来实现。1、数组的类型是什么?object[]2、ArrayList的数组的最大极限是多少? // 扩容的方法 private static int hugeCapacity(int minCapacity) { if (minCapacity < 0) throw new OutOfMemoryError(); // 扩容的最大边界值 //

2021-08-16 10:10:38 118

原创 红黑树总结

1、红黑树的性质2、插入操作 查找插入的位置:插入节点的颜色必须是红色,插入黑色节点会破坏平衡 插入后自平衡 红黑树插入情景分析:(1) 情景1:红黑树为空树 将插入节点作为根节点,然后将根节点设置为黑色 (2) 情景2:插入点的key已存在 替换原节点的value值 (3) 情景3:插入节点的父节点是黑节点 直接插入,不会影响自平衡 (4) 情景4:插入节点的父节点是红节点根据性质2:父节点为红色一定

2021-08-16 09:56:31 117

原创 MYSQL索引之B+tree

01、分析MySql底层的数据结构主要是基于Hash 和 B+Tree01-01、二叉查找树数据结构动态操作网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html java版本下载:https://www.cs.usfca.edu/~galles/visualization/java/visualization.jar下载以后执行:java -jar visualization.jar01-02、二叉树数据存

2021-08-14 10:24:12 1203 1

原创 深入理解7种垃圾收集器

如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。**Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处的区域,则表示它是属于新生代收集器还是老年代收集器。Hotspot实现了如此多的收集器,正是因为目前并无完美的收集器出现,

2021-08-11 09:55:09 379

原创 LeetCode394字符串解码

实现步骤://上面碰到[,把num=2和res=ak入栈,入栈后清空num和res//上面碰到],开始真正拼接字符串,拼接res=bc,拼接num栈顶的次数也就是2,然后把ak拼接到两个bc的前面去,然后组成需要重复的字符串,然后num和str栈出栈//又碰到],num出栈,需要akbcbc重复13次代码:public String decodeString(String s) { int num = 0; Str..

2021-06-30 15:06:27 53

原创 LeetCode38外观数列

public String countAndSay(int n) {StringBuilder curr = new StringBuilder("1");//使用StringBuilder方便对字符串进行拼接,curr最开始为1,本次字符串StringBuilder prev;//最开始prev没有值,上一次字符串,第一次时没有上一次所以不初始化值for (int i = 1; i < n; i++) {//取n项,第一项上面定义了prev = curr;//每次循环开始先把上一..

2021-06-19 21:14:31 60

转载 剑指 Offer 56 - I. 数组中数字出现的次数

解题思路:题目要求时间复杂度 O(N),空间复杂度 O(1),因此首先排除 暴力法 和 哈希表统计法 。简化问题: 一个整型数组 nums 里除 一个 数字之外,其他数字都出现了两次。设整型数组 nums中出现一次的数字为 x,出现两次的数字为 a, a, b, b, ...,即:nums=[a,a,b,b,...,x]异或运算有个重要的性质,两个相同数字异或为 0 ,即对于任意整数 a有 a⊕a=0。因此,若将 nums中所有数字执行异或运算,留下的结果则为出现一次的数字 x,即...

2021-03-11 10:29:50 94

原创 运用hibernate接口实现增删改查

1.总体结构2.实体类2.1Customerpackage com.entity;import java.util.HashSet;import java.util.Set;public class Customer { private int id; private String username; private int age; ...

2018-06-20 17:29:24 179

原创 HQL查询

1.建立实体类package com.entity;import java.util.HashSet;import java.util.Set;public class Customer { private int id; private String username; private int age; private String se...

2018-06-20 16:54:21 106

原创 Hibernate 对象识别

      对数据库而言,其识别一条记录唯一性的方式是根据主键值,如果手上有两条记录,它们拥有同样的主键值,则它们在数据库中代表同一个字段的记录。      对Java而言,要识别两个对象是否为同一个对象有两种方式内存地址识别(“= =”号识别)根据equals()、hasCode()中的定义    (默认Object类中定义的equals(Object o)方法也是按内存地址来比较的),源码如下...

2018-05-18 00:50:24 136

原创 Hibernate自动创建表

hibernate自动生成表有两种方法:1.直接写代码,通过方法来创建数据库表。2.通过 hibernate.cfg.xml配置标签来创建数据表。下面依次实现:1.直接写代码,通过方法来创建数据库表。建立一个测试类,来测试是否能够生成表。不过在执行该类之前,需要手动在数据库中建立相应的数据库,数据库的名称需要和配置文件保持一致。hibernate只会自动建表,不会自动建库。代码如下:package...

2018-05-17 23:29:27 533

原创 Hibernate2:构建单例模式的SessionFactory

1.概述:应用程序从SessionFactory(会话工厂)里获得Session(会话)实例。它在多个应用线程间进行共享。SessionFactory是线程安全的(Thread-Safe),可以让多个执行线程同时存取SessionFactory而不会有数据共享的问题。会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。需要注意的是SessionFactory是重量级的,因...

2018-05-15 09:39:27 268 1

原创 Hibernate(5.2.10)快速入门第一篇

 一、初识别Hibernate                Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate                可以自动生成SQL语句,自动执行,使得我们可以随心所欲的使用对象编程思维来操纵数据库, Hibernate可以应用在任何使...

2018-05-08 09:40:10 656

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除