- 博客(16)
- 收藏
- 关注
原创 Map详解
Map详解 1、HashMap 1.1、JDK1.7中的HashMap 1.1.1、底层结构 HsahMap在JDK1.7中底层是由数组+链表实现的,数组又被分为一个一个的桶(bucket),数据通过哈希值确定键值对在这个数组中存放的位置。当哈希值相同时,会以链表的方式存储。每一个键值对会用一个Entry实例对象进行封装,Entry对象里面包含四个属性:key、value、hash值、用于单向链表的指针next。 Entry对象 HashMap初始化 hashMap初始化时要传
2021-06-10 16:57:38
581
原创 Mybatis入门
1、概述 mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过xml 或注解的方式将要执行的各种statement 配置起来,并通过java 对象和statement 中sql的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql并将结果映射为 java 对象并返回。 采用 ORM 思想解决了实体
2021-05-05 17:07:58
282
原创 Mysql事务
1、事务 事务指逻辑上的一组操作,组成这组操作的单元要么全部成功,要么全部失败。 作用:保证全部成功或者全部失败 例如转账:A和B都有1000块钱,现在A给B转100元 操作成功:A有900,B有1100; 操作失败:A有1000,B有1000; 不可能发生:A有900,B有1000; 1.1、MYSQL进行事务管理 1.1.1、自动事务(mysql默认) 一条SQl语句就是一条事务; 1.1.2、手动开启一个事务 方式一: 手动开启事务的方式 start transaction;开启事务 com
2021-04-29 18:40:58
208
原创 MySql进阶
1、多表间的关系 1.1、为什么要拆表 例如插入一个用户数据时,需要姓名、性别、电话、住址、部门等等信息,其中同部门人的部门信息就会相同,这样就会造成数据的冗余。入下图 所以可以将这两张表拆成两张表:员工表和部门表; 问题:当我们在employee的dep_id里面输入不存在的部门,数据依然可以添加.但是并没有对应的部门,不能出现这种情况。我们想要employee的dep_id中的内容只能是department表中存在的id,所以需要外键约束。 1.2、外键约束【重点】 保证引用完整性 用来维护多
2021-04-29 15:29:42
234
原创 MySql基础
1、数据库 数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合. 还是以文件的方式存在服务器的电脑上的。 Mysql:是一款开源免费的关系型数据库,后来被Oracle公司收购。 数据库分类 关系型数据库:Oracle、MySQL、SQLServer、Access; 非关系型数据库:MongoDB、Redis、Solr、ElasticSearch、Hive、HBase; 2、SQL语句 SQL(Structure Query La
2021-04-28 17:42:42
600
1
原创 【代理模式】
代理模式概述 为什么要有“代理”? 生活中就有很多代理的例子,例如,我现在需要出国,但是我不愿意自己去办签证、预定机票和酒店(觉得麻烦 ,那么就可以找旅行社去帮我办,这时候旅行社就是代理,而我自己就是被代理了。 代理模式的定义: 被代理者没有能力或者不愿意去完成某件事情,那么就需要找个人代替自己去完成这件事,这个人就是代理者, 所以代理模式包含了3个角色: 被代理角色 代理角色 抽象角色(协议) 代理模式UML类图 1、静态代理 这种代理方式需要代理对象和目标对象实现一样的接口。 优点:
2021-04-21 17:13:26
120
原创 【反射、注解】
1、反射 1.1、类的加载 当我们的程序在运行后,第一次使用某个类的时候,会将此类的class文件读取到内存,并将此类的所有信息存储到一个Class对象中。 类加载器:是负责将磁盘上的某个class文件读取到内存并生成Class的对象。 Java中有三种类加载器,它们分别用于加载不同种类的class: 启动类加载器(Bootstrap ClassLoader):用于加载系统类库<JAVA_HOME>\bin目录下的class,例如:rt.jar。 扩展类加载器(Extension
2021-04-21 16:46:53
101
原创 【线程安全、volatile关键字、原子性、并发包、死锁、线程池】
1、线程安全 1.1线程安全 当多个线程访问某个方法时,不管你通过怎样的调用方式、或者说这些线程如何交替地执行,我们在主程序中不需要去做任何的同步,这个类的结果行为都是我们设想的正确行为,那么我们就可以说这个类是线程安全的。 例:电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “奥特曼”,本次电影的座位共100个(本场电影只能卖100张票)。共有四个窗口同时卖票。 public class MyRunnable implements Runnable { int tickets = 10
2021-04-20 20:12:15
240
原创 【单例模式、多例模式、工厂模式和枚举】
1、单例设计模式 作用:通过单例模式可以保证系统中,应用该模式的类只有一个实例。即一个对象之只能有一个实例化对象。 实现步骤 1、将类的构造方法私有化,使其在类外部不能通过new关键字来实例化该对象; 2、在该类的内部声明唯一的实例化对象; 3、定义一个静态方法返回这个唯一的实例化对象; 单例模式分类 1、饿汉单例设计模式 饿汉式单例设计模式就是不管该类的实例化对象是否后面被用到,在该类加载时就先实例化完毕。 //1. 饿汉单例设计模式 public class Person { //1、将构
2021-04-17 14:53:28
289
原创 Spring Cloud学习笔记
1、eureka注册中心 eureka:主要功能是进行服务管理,定期检查服务状态,返回服务地址列表 使用步骤: 1、添加启动器依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
2020-09-15 11:07:27
125
原创 IO流【字节流、字符流、缓冲流、转换流、序列化流】
1、IO流 IO流就是把数据以流的形式在其它设备和内存中传输,就像水流; 根据流动方向课分为: 输入流 :把数据从其他设备上读取到内存中的流。 输出流 :把数据从内存 中写出到其他设备上的流 2、字节流 所有的文件都是以二进制存储在计算机上的,都是一个字节一个字节的 字节输出流【OutPutStream】 java.io.OutputStream抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地 public void close() :关闭此输出流并释放与此流相关联的任何系统资源。
2020-05-19 17:31:33
250
原创 【File类、递归】
1、File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 1-2、构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。 public File(File parent, String child) :从父抽象路径名和子路径
2020-05-16 22:21:02
151
原创 java基础:线程和Lambda表达式
1、线程 1、并发与并行 并发:指两个或多个事件在同一个时间段内发生。 并行:指两个或多个事件在同一时刻发生(同时发生)。 2、线程与进程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程
2020-05-14 22:36:45
484
原创 异常及异常处理学习
异常 1. 异常 异常:指程序在执行过程中出现非正常的情况,最终导致jvm会非正常停止; 异常体系如图: Error:严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。 Exception:表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的。好比感冒、阑尾炎。 Throwable中的常用方法: public void printStackTrace():打印异常的详细信息。 包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用p
2020-05-14 19:00:37
333
原创 【Collection、泛型】
Collection 集合:java存储数据的一个容器,常用的结合有List、Set,继承关系如图: 【Collection、泛型】
2020-05-13 21:15:06
116
原创 Object类、常用API
1、Object类 object类是所有类的父类,在java.lang包下,如果一个类没有特别指定父类, 那么默认则继承自Object类。 **加粗样式**常用方法: 1、toSting方法 public String toString()`:返回该对象的字符串表示。 toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。 如果不想用父类的toString方法可以进行重写,如: public class Pers
2020-05-13 20:30:00
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅