- 博客(16)
- 收藏
- 关注
转载 B树和B+树
B树是一种树状数据结构,它能够村塾数据、对其进行排序,时间复杂度O(logn)。概括来说是一个节点可以拥有2个子节点的二叉查找树。一个m阶的B树特征:1.根节点至少有两个子女。2.每个中间节点或每一个叶子节点|都包含k-1个元素和K个孩子,其中m/2 <= k <= m3.所有的叶子节点都位于同一层4.每个节点中的元素从小到大排列,节点当中k-1个元素正好是K个孩子包含的...
2019-03-29 16:00:42 215
原创 今日份的JS
JS一门独立的脚本语言,没有编译过程,解释运行。特点:脚本语言,没有编译过程,基于对象,弱类型交互性 ,安全性 ,跨平台性JS和HTML的结合:方式一:在HTML中的head标签中写基本数据类型字符串、数值类型、布尔类型、undefined、nullundefined类型:当一个引用被定义却未被赋值时,默认的取值为undefined。null类型:表示还没有存在的对象,通常在方法...
2019-02-25 21:55:43 156
原创 redis持久化策略
1. rdba. 默认的持久化策略b. 每隔一段时间后把内存中数据持久化到dump.rdb文件中缺点: 1.数据过于集中 2.可能导致最后的数据没有持久化到dump.rdb中 解决方案: 使用save或BGSAVE手动持久化2.aof监听redis的日志文件,监听如果发现执行了修改,删除,新增命令,立即根据这条命令把数据持久化缺点: 1.效率低下(类似关系型数据库,没有太大必...
2019-01-28 11:45:41 191
原创 Spring IOC介绍
IOC(DI)-控制反转(依赖注入)IOC称之为控制反转,简单来说就是将对象的创建的权利和对象的声明周期的管理过程交给Spring框架来处理,在这个开发过程中不再需要关注对象的创建和生命周期的管理,而是在需要的时由Spring框架提供,这个由Spring框架管理对象创建和生命周期的机制称之为控制反转。其中,在创建对象的过程中spring可以根据配置对象的属性进行设置,这个过程称为依赖注入(DI...
2019-01-23 20:30:56 3155 1
原创 阻塞式队列--BlockingQueue中的四个队列介绍
阻塞式队列–BlockingQueue遵循先进先出(FIFO)的原则。阻塞式队列本身使用的时候是需要指定界限。add/offer/put, remove/poll/takeArrayBlockingQueue–阻塞式顺序队列–底层依靠数组来存储数据,并且在使用的时候一定要指定容量public class ArrayBlockingQueueDemo {public static vo...
2019-01-21 20:10:58 237 1
原创 TCP协议简单介绍
TCP是TCP协议中非常重要和常用的通信协议,可以实现可靠的网络通信 特点: 需要创建连接 需要三次握手 底层建立的连接流 数据包以流的方式传递 没有传输数据量大小的限制 传输过程中 可以保证数据一定不会丢 也不会多 也可以保证 顺序的一致 速度比较慢在可靠性要求比较高 速度要求比较低 的场景下优先使用2. Java中实现TCP在TCP通信中,通信的过程需要两端的参与,...
2019-01-21 17:08:05 616
原创 UDP协议简单介绍
1. UDP是TCP协议中非常重要和常用的通信协议,可以实现不可靠的网络通信 特点: 不需要创建连接 数据以独立的数据包的形式发送 每个数据包最大64KB 传输过程中 不保证数据一定可以到达 也不保证接受的到的数据包的顺序和发送时一致 速度比较快 ~类似于飞鸽传书 在速度要求比较高 可靠性要求比较低 的场景下优先使用2. java中的udp实现案例:实现UDP聊...
2019-01-21 16:55:48 480
原创 BIO和NIO和AIO的区别详解(关于IO的乱七八糟一些东西)
关于IO的方式通常分为以下三种:同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO流的概念与作用流:是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称和抽象。(数据在两设备间的传输称为流)。流的本质是数据传输,根据数据传输特性将流抽象为各种类,(编码格式…)方便对数据操作。BIO—同步式阻塞式IO–UDP/TCPJDK1.4之前的,采用BIO模式.它是之前在java阶段学习...
2019-01-21 16:44:17 365
原创 MyBatis中的#{} 和 ${}区别 3
#{}引用值的用法用法和MyBatis2中文章相同${}引用值的用法在UserMapper.xml中配置:**在此处通过${xxx}的语法用来引用属性。测试类:#{} 和 ${}区别#{}在引用时,如果发现目标是一个字符串,则会将其值作为一个字符串拼接在sql上KaTeX parse error: Expected 'EOF', got '#' at position 55: ...
2019-01-19 21:25:18 436
原创 MyBatis中的值的传递(三种)2
a. Map传值可以通过对象 获取 Map传递值,在配置文件中 通过 #{} 或 ${}进行应用声明的factory测试类:b. 对象传值可以通过对象 获取 Map传递值,在配置文件中 通过 #{} 或 ${}进行应用在UserMapper.xml中配置:**此处通过#{xxx}的语法来引用属性。测试类:c. 单值传值如果程序中只有一个参数需要传递给sql,则不需要封...
2019-01-19 21:21:53 186
原创 MyBatis介绍说明与简单案例1
MyBatis概述MyBatis是数据访问层(DAO)框架,可以简单高效的实现对数据层访问。常见的数据层访问方式比较a. JDBCjava原生的关系型数据库访问方式i. 每次操作数据库都需要获取连接关闭连接,在大量访问数据库时,频繁的开关连接消耗性能。ii. 需要手动编写sql,有学习成本iii. 查询出的结果需要手动进行封装到beaniv. 没有缓存处理机制v. sql语句写死...
2019-01-19 21:06:41 354
原创 设计模式--单例设计模式的五种方式
常用设计模式总结单例模式(五种方式)单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。饿汉式,线程安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教...
2019-01-16 21:17:19 228 1
转载 Lock和synchronized的区别
Lock和synchronized有以下几点不同:1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;2)synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁;...
2019-01-09 16:17:27 359 1
原创 运算符
数据类型:基本数据类型+引用数据类型基本数据类型:数值型: byte , short ,int , long浮点型: float ,double字符型: char布尔型: boolean引用数据类型: 类,接口,数组#基本数据类型##数值型###整数型byte - 字节型 - 1个字节 - -27~27-1 -> -128~127byte b = 25; byte b...
2018-12-20 10:20:46 98 1
原创 数据类型
数据类型:基本数据类型+引用数据类型基本数据类型:数值型: byte , short ,int , long浮点型: float ,double字符型: char布尔型: boolean引用数据类型: 类,接口,数组#基本数据类型##数值型###整数型byte - 字节型 - 1个字节 - -27~27-1 -> -128~127byte b = 25; byte b...
2018-12-20 10:20:19 155
原创 java介绍
##JAVA简述java是一门高级编程语言,最重要的特性:跨平台Java之所以能够跨平台是因为有JVM(Java Virtual Machine, Java虚拟机)。所有的Java程序并不是直接和操作系统交互而是先交由JVM进行翻译,然后JVM将程序翻译为当前操作系统能够理解的语言之后再交由操作系统执行。JAVA语言是跨平台的但是JVM不是跨平台的###技术结构JAVASE — Java...
2018-12-20 10:19:16 177 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人