自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 笔记_数据库相关

mysql的索引也叫“键(key)”,是存储引擎用于快速找到记录的一种数据结构。 mysql索引的工作方式:(根据查询条件)先在索引中找对应值,然后根据匹配的索引记录找到对应的数据行。 mysql中索引是在存储引擎层实现不是在服务器层实现,故没有统一的索引标准,不同引擎的索引的工作方式并不相同...

2017-11-09 09:27:34 170 0

原创 笔记总结

java的三种代理模式 代理模式的作用是:为其他对象提供一个代理对象以控制对目标对象的访问。代理对象可以在客户端和目标对象之间起到中介的作用,在目标对象实现的基础上,增强额外的功能操作 编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法

2017-10-09 09:40:33 240 0

原创 数据结构与算法-练习题-队列

public class MyArrayQueue<T> { private T[] items; private int head = 0; private int tail = 0; private int cap; private int ...

2020-04-23 00:59:30 42 0

原创 数据结构与算法-练习题-栈

public class MyStack<T> { private T[] eleData; private int cap; private int size; public MyStack(int cap){ this.eleData...

2020-04-23 00:33:24 32 0

原创 设计模式-23种设计模式

1.简介 设计模式(Design Patterns)——可复用面向对象软件的基础目的 2.目的(五大性) 设计模式是为了让程序(软件)具有以下特性 代码重用性(相同功能代码,不用多次编写) 可读性(编码规范,便于他人阅读和理解) 可扩展性(当需要增加新的功能时非常方便,称为可维护性) 可靠性(增加...

2020-04-03 16:14:29 90 0

原创 数据结构和算法-栈

介绍 栈的英文为(stack) 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom...

2020-04-02 17:48:57 51 0

原创 数据结构和算法-链表

1.链表介绍 链表(Linked List)是有序的列表 链表是以节点的方式来存储,是链式存储 每个节点包含 data 域, next 域:指向下一个节点. 发现链表的各个节点不一定是连续存储. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 2.单链表 创建和遍历 添加(...

2020-04-02 16:51:42 29 0

原创 面试题-UDP和TCP区别

TCP/IP协议分5层:应用层、传输层、网络层、数据链路层、物理层 传输层 有两个重要协议 TCP 和 UDP 传输层作用:为应用进程之间提供端到端的逻辑通信 连接 可靠性 流量控制/拥塞控制 模式 系统资源 首部 UDP 面向无 不可靠,丢包不重发,顺序乱掉不会纠正 不使用 ...

2020-04-01 11:47:07 32 0

原创 MySQL-MySQL的锁

宏观 数据库锁 粒度小,方便用于集群环境 代码锁 粒度大,需要封装 微观 种类 只有明确主键,才会执行行锁,否则执行表锁 无锁 #主键不存在 select * from user where id = -1 for update; 行锁 select * from user wher...

2020-03-31 23:43:28 29 0

原创 JVM

1. JVM体系结构概览 1.1程序计数器 指向当前线程正在执行得到字节码指令的地址(行号) 为什么需要程序计数器? Java是多线程的,意味着线程切换 确保多线程情况下的程序正确执行 1.2虚拟机栈/java栈 栈(Stack):数据结构,像个杯子,方法的调用链 入口和出口只有一个 入...

2020-03-31 01:33:51 23 0

原创 JavaSE-Map接口,HashMap底层实现

1. Map接口框架(常用) |----Map:双列数据,存储key-value对的数据 —类似于高中的函数:y = f(x) |----HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value |----LinkedHashMap:保证在遍历map元素...

2020-03-30 16:39:16 40 0

原创 JavaSE-对象重写hashCode()、equals()原则

重写 hashCode() 方法的基本原则 在程序运行时,同一个对象多次调用 hashCode() 方法应该返回相同的值。 当两个对象的 equals() 方法比较返回 true 时,这两个对象的 hashCode() 方法的返回值也应相等。 对象中用作 equals() 方法比较的 Field...

2020-03-30 14:12:47 20 0

原创 JavaSE-线程池

线程:调度cpu的最小单元,也叫轻量级进程LMP(Light Weight Process) ULT(用户级线程):用户程序实现,不依赖操作系统核心,应用提供创建、同步、调度和管理线程的函数来控制用户线程。不需要用户态/核心态切换。内核对ULT无感,线程阻塞则进程(包括他的所有线程)阻塞。 KLT...

2020-03-30 00:23:58 27 0

原创 java锁体系

1.java中锁体系 乐观锁,悲观锁 读锁(共享锁),写锁(排他锁) 自旋锁,非自旋锁 无锁,偏向锁,轻量级锁,重量级锁 分布式锁 区间锁(分段锁)java.util.concurrent ConcurrentHashMap 重入锁,非重入锁 公平锁,非公平锁 ...

2020-03-29 01:13:22 29 0

原创 数据结构和算法-8种排序算法

1. 冒泡 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐 向上冒。 优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行...

2020-03-28 00:20:30 49 0

原创 数据结构和算法-算法

1.排序算法的介绍 排序也称排序算法(Sort Algorithm),排序是将一 组数据,依指定的顺序进行排列 的过程。 排序的分类: 内部排序: 指将需要处理的所有数据都加载到内部存储器中进行排序。 外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。 常见8种排...

2020-03-27 23:15:39 23 0

原创 数据结构和算法-顺序存储二叉树、线索化二叉树

1. 顺序存储二叉树概念 从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组 要求: 右图的二叉树的结点,要求以数组 的方式来存放 arr : [1, 2, 3, 4, 5, 6, 6] 要求在遍历数组 arr时,仍然可以以前序遍历,中序遍历和后序遍历...

2020-03-26 15:00:31 34 0

原创 数据结构和算法-二叉树概念、三种遍历

1. 树的常用术语 树的常用术语(结合示意图理解): 节点 根节点 父节点 子节点 叶子节点 (没有子节点的节点) 节点的权(节点值) 路径(从root节点找到该节点的路线) 层 子树 树的高度(最大层数) 森林 :多颗子树构成森林 1.2 二叉树的概念 每个节点最多只能有两个子节点的一种...

2020-03-24 14:58:24 33 0

原创 SpringBoot-BeanFactoryPostProcessor

BeanFactoryPostProcessor 类 import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanFactoryPostProcessor...

2020-03-23 00:47:27 17 0

原创 SpringBoot-声明式事务

1. SpringBoot-声明式事务 1.1 依赖 数据源、数据库驱动、Spring-jdbc模块 <dependencies> <!-- IOC依赖--> <dependency> <groupI...

2020-03-22 22:43:40 26 0

原创 SpringBoot-AOP源码

1. AOP功能测试代码 切面类: package com.fcc.springAnnotation.aop; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.After; import org.as...

2020-03-22 21:44:18 32 0

原创 Spring-AOP

标题 /** * AOP:【动态代理】 * 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式; * * 1、导入aop模块;Spring AOP(spring-aspects) * 2、定义一个业务逻辑类,在业务逻辑运行的时候将日志进行打印() * 3...

2020-03-21 00:16:58 23 0

原创 JavaSE-反射-动态代理

1.代理设计模式 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 2.动态代理 动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。 动态代理使用场合...

2020-03-16 20:14:56 18 0

原创 JavaSE-网络编程(TCP编程、UDP编程、URL)

1. TCP/IP协议簇 传输层协议中有两个非常重要的协议: 传输控制协议TCP(Transmission Control Protocol) 用户数据报协议UDP(User Datagram Protocol)。 TCP/IP 以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而...

2020-03-16 19:54:47 49 0

原创 JavaSE-网络编程

1. 概述 Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库...

2020-03-16 19:23:22 48 0

原创 JavaSE-IO流(二)

1.随机存取文件流RandomAccessFile

2020-03-16 17:27:20 23 0

原创 JavaSE-对象序列化、IO

1. 对象的序列化 -对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。//当其它程序获取了这种二进制流,就可以恢复成原来的Java对象 -序列化的好处在于可将任何实现了Serializable...

2020-03-16 17:08:13 83 0

原创 JavaSE-JDK常用类-System类、Math类、BigInteger

1. System类 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。 1.1成员变...

2020-03-16 16:20:51 87 0

原创 JavaSE-JDK常用类-Java比较器

在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。 Java实现对象排序的方式有两种: 自然排序:java.lang.Comparable 定制排序:java.util.Comparator 1.自然排序:java.lang.Comparable Comparable接...

2020-03-16 16:06:49 20 0

原创 JavaSE-JDK常用类-日期时间API

1.JDK8之前日期时间API 1.1 java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。 此方法适于计算时间差。 计算世界时间的主要标准有...

2020-03-16 15:31:13 30 0

原创 JavaSE-JDK常用类-字符串相关类

1.String 类 1.1 String 类 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for...

2020-03-16 10:57:41 17 0

原创 JavaSE-基本语法-流程控制

程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组 合成能完成一定功能的小逻辑模块。 其流程控制方式采用结构化程序设计中规定的三种基本流程结构: 顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。 分支结构 根据条件,选择性地执行某段代码。 有if…else...

2020-03-15 22:10:20 17 0

原创 JavaSE-IO流

1. Java IO原理 I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。 Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。 java.io包下提供了各种“流”类和接口,用以获取不同种类的数...

2020-03-15 03:04:25 29 0

原创 JavaSE-File类

1. 简介 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。 如果需要访问文件内容本身,则需要使用输入/输出流。  想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对...

2020-03-14 19:45:43 36 0

原创 java-NIO

java NIO简介 Java NIO (New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新 的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目 的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于 ...

2020-03-14 15:54:03 13 0

原创 ActiveMQ(三)的消息持久化机制

1.消息持久化机制 消息持久化机制:为避免消息系统意外宕机而导致丢失信息,消息中间件一般会支持消息服务器实例重启服务器实例以恢复原来的消息数据。 ActiveMQ的常见的消息持久化机制包括JDBC、AMQ、KahaDB、LevelDB,无论使用哪种持久化方式,消息的存储逻辑都是一致的。 在发送者...

2020-03-08 19:17:25 45 0

原创 activeMQ的协议

1.ActiveMQ支持的协议 Connector:是ActiveMQ提供的,用来实现连接通讯的功能。包括client-to-broker、broker-to-broker。 配置在activeMQ的 conf/activemq.xml activeMQ支持的client-to-broker协议 ...

2020-03-08 18:34:22 27 0

原创 JMS JAVA-API

1.JMS的API结构

2020-03-07 14:52:16 27 0

原创 JMS(三)PTP和Pub/Sub模型

1.PTP point-to-point 点对点模型。定义了客户端如何向队列发送消息,从队列接收消息,以及浏览队列中的消息。PTP模型是基于队列的,生产者发消息到队列,消费者从队列接收消息,队列的存在使得消息的异步传输成为可能,JMS Provider提供工具管理队列的创建、删除。 1.1PT...

2020-03-07 11:33:26 39 0

原创 JMS(二)可靠性机制

1.消息确认接收 JMS消息只有在被确认之后,才认为被成功消费。消息的成功消费通常包括三个阶段:客户接受消息、客户处理消息、消息被确认。 在事务性会话中,当一个事务被提交时,确认自动发生。在非事务性会话中,消息何时北区人取决于创建会话时的应答模式(acknowledgement mode)。该参...

2020-03-06 18:19:29 59 0

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