5 狒狒你呐

尚未进行身份认证

暂无相关简介

等级
TA的排名 5k+

设计模式-23种设计模式

1.简介设计模式(Design Patterns)——可复用面向对象软件的基础目的2.目的(五大性)设计模式是为了让程序(软件)具有以下特性代码重用性(相同功能代码,不用多次编写)可读性(编码规范,便于他人阅读和理解)可扩展性(当需要增加新的功能时非常方便,称为可维护性)可靠性(增加新的功能后,对原来的功能没有影响)使程序呈现 高内聚 、低耦合的特性3.七大原则3.1单一职责原...

2020-04-03 16:14:29

数据结构和算法-栈

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

2020-04-02 17:48:57

数据结构和算法-链表

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

2020-04-02 16:51:42

面试题-UDP和TCP区别

TCP/IP协议分5层:应用层、传输层、网络层、数据链路层、物理层传输层 有两个重要协议 TCP 和 UDP传输层作用:为应用进程之间提供端到端的逻辑通信连接可靠性流量控制/拥塞控制模式系统资源首部UDP面向无不可靠,丢包不重发,顺序乱掉不会纠正不使用数据报(文),不会对报文拆分合并原封不动发送占用少简单,开销(8位字节)少TCP面向有可...

2020-04-01 11:47:07

MySQL-MySQL的锁

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

2020-03-31 23:43:28

JavaSE-并发编程原理

线程的安全问题保证原子性、有序性、可见性

2020-03-31 19:16:02

JVM

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

2020-03-31 01:33:51

JavaSE-Map接口,HashMap底层实现

1. Map接口框架(常用)|----Map:双列数据,存储key-value对的数据 —类似于高中的函数:y = f(x)|----HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value|----LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一...

2020-03-30 16:39:16

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

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

2020-03-30 14:12:47

JavaSE-线程池

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

2020-03-30 00:23:58

java锁体系

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

2020-03-29 01:13:22

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

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

2020-03-28 00:20:30

数据结构和算法-算法

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

2020-03-27 23:15:39

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

1. 顺序存储二叉树概念从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组要求:右图的二叉树的结点,要求以数组 的方式来存放 arr : [1, 2, 3, 4, 5, 6, 6]要求在遍历数组 arr时,仍然可以以前序遍历,中序遍历和后序遍历的方式完成结点的遍历顺序存储二叉树的特点:顺序二叉树通常只考虑完全二叉树第n个元素的左子节点...

2020-03-26 15:00:31

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

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

2020-03-24 14:58:24

SpringBoot-BeanFactoryPostProcessor

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

2020-03-23 00:47:27

SpringBoot-声明式事务

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

2020-03-22 22:43:40

SpringBoot-AOP源码

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

2020-03-22 21:44:18

Spring-AOP

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

2020-03-21 00:16:58

JavaSE-反射-动态代理

1.代理设计模式使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。2.动态代理动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。动态代理使用场合:调试远程方法调用动态代理相比于静态代理的优点:抽象角色中(接口)声明的所有方法都被转移到调用...

2020-03-16 20:14:56

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。