自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

原创 Springboot-配置获取和刷新

Springboot-配置获取和刷新本文中配置使用注解获取主要使用了@Value,@PropertySource,@RefreshScope和@PropertySource这些注解从默认配置文件的获取AppConfig// lombox@ToString// 将bean注册到容器@Componentpublic class AppConfig { // 获取注解所含字段 // 当biz.name不存在的时候会报错 @Value("${biz.name}")

2020-05-18 11:27:06 1167 1

原创 element-文件上传-自定义上传方式

element-文件上传-自定义上传方式这次主要写的是el-upload这个组件中的http-request钩子,首先来看一下官方的:非常的简洁,简洁到完全看不懂了,简直了。先展示一下我的成果,记得先把jquery,vue,element引入<el-upload></el-upload>...

2020-01-09 11:04:16 3890

原创 多线程与并发-线程池-ThreadPoolExecutor

多线程与并发-线程池-ThreadPoolExecutor概述:线程池这东西很常见,使用的原因更好的对线程进行管理,就是减少线程创建销毁的开销。虽然有几个现成的创建方法,但很多公司都不建议使用,而要求一定要通过ThreadPoolExecutor来创建,明确运行规则,指定更合适的参数。这是一个参数最全的重载方法public ThreadPoolExecutor(int corePoolS...

2020-01-06 11:14:28 251

原创 java常见优化tip

代码优化的目标是减小代码的体积提高代码运行的效率代码优化细节尽量重用对象特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。尽可能使用局部变量参数在栈中创建,比堆中快,不需要额外的垃圾...

2019-12-29 16:47:47 273

原创 错误总结-myBatis plus 分页

错误总结-myBatis plus 分页今天碰到了一个神奇的问题:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.Ind...

2019-12-27 13:02:36 2107 1

原创 数据结构与算法-归并排序,快速排序

数据结构与算法-归并排序,快速排序这两种多可以算是分治排序归并排序时间复杂度O(nlogn)空间复杂度O(n)稳定排序public static void mergeSort(int[] list,int start,int end) { if(start<end) { int mid = (start+end)/2; mergeSort(list, start,...

2019-12-17 17:17:25 144

原创 数据结构与算法-选择排序,插入排序

数据结构与算法-选择排序,插入排序选择排序原理:每次选择最大的或最小的一个放在最前面后最后面时间复杂度:O(n^2)空间复杂度:O(1)不稳定排序/** * 选择排序 */ public static void selectSort(int[] list) { int n = list.length; for(int i=0;i<n;i++) { int ...

2019-12-17 14:53:47 85

转载 数据结构与算法-冒泡排序

数据结构与算法-冒泡排序概述:原理:https://visualgo.net/zh/sorting?slide=6 看图理解方便点时间复杂度O(n^2)空间复杂度O(1)适用场景:大部分元素已有序参考链接:https://mp.weixin.qq.com/s/wO11PDZSM5pQ0DfbQjKRQA看了以后发现连冒泡都不会了由于排序数组长度较小(手打的测试数组),难以用时...

2019-12-17 14:17:33 166

原创 多线程与并发-线程间通信

多线程与并发-线程间通信概述:多线程之间通信一般有这样几种方法:通过共享对象实现通信wait/notify机制Condition接口,await/signal机制消息队列,socket编程等网络通信wait/notify机制基础前提:多个线程使用用一把锁,在使用wait(),notify(),notifyAll()之前要先获取当前对象的锁。wait():运行至wait处时...

2019-12-08 16:43:02 190

原创 多线程与并发-并发关键字(synchronized,volatile,final)

多线程与并发-并发关键字(synchronized,volatile,final)synchronized原理synchronized在字节码中采用monitor机制实现,在修饰的方法中使用flag标记ACC_SYNCHRONIZED,在修饰的代码块时通过monitorenter和monitorexit环绕进行同步处理。synchronized是可重入锁,在重入时monitor中计数+1,...

2019-12-08 15:29:57 652

原创 JAVA-基础知识-修饰符

JAVA-基础知识-修饰符大体上分两类访问控制修饰符与非访问修饰符访问控制修饰符在Java中一共有4种缺省(default,即默认,什么也不写):在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private:在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)public: 对所有类可见。使用对象:类、接口、变量、方法protected:对同一包...

2019-11-15 17:21:11 449

原创 JAVA-基础知识-StringJoiner

JAVA-基础知识-StringJoinerJava 8在java.util软件包下发布了StringJoiner类。我认为相对于我们使用StringBuffer / StringBuilder的旧式做法来连接字符串,这并非是一个迥然不同的实现。我们一起来看一看StringJoiner的用法和它的内部实现。StringJoiner使用StringBuilder实现构造器 StringJoi...

2019-11-14 14:22:09 392

原创 Cookie,Session

Cookie,Session当前 Cookie有两个版本,分别对应两种设置响应头:“Set-Cookie”和 “Set-Cookie2”。在Servlet中并不支持Set-Cookie2,所以我们来看看Set-Cookie的属性项:Domain发送请求时与URL中请求域名一致的Domain加上对应的Cookie如果没有显式的设置Domain,那么Domain的值为请求的域名,子域名将无...

2019-11-13 10:55:20 491 1

原创 中间件-Tomcat-Servlet

中间件-Tomcat-ServletJava Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:Servlet 通过调用 init () 方法进行初始化。Ser...

2019-11-12 10:50:04 421

原创 设计模式-行为型-策略模式

设计模式-行为型-策略模式策略,指的是可以实现目标的方案集合,在一定条件下策略可相互替换策略模式(Strategy Pattern),指的是定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。上下文使用接口编程的方式,通过对接口的调用实现指定的功能。public class Cashier { /** * 会员,策略对象...

2019-11-06 19:41:36 175

原创 设计模式-创建型-抽象工厂模式

设计模式-创建型-抽象工厂模式有点复杂。一般的工厂模式下,每个实体类都需要一个对应的工厂,当实体类过多时工厂的数量也会变多。当实体类还有子类时,我们需要的工厂就更多了。抽象工厂模式是将所有工厂的共性抽象出来public interface AnimalFactory { Animal createDog(); Animal createCat();}// 生产母狗和母猫...

2019-11-05 20:17:39 94

原创 设计模式-创建型-工厂模式(SimpleFactory简单工厂,FactoryMethod工厂方法)

设计模式-创建型-工厂模式(SimpleFactory简单工厂,FactoryMethod工厂方法)在面向对象编程中, 最常见的是使用new来创建一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须...

2019-11-05 15:34:49 135

原创 设计模式-GOF-创建型-Singleton单例模式

设计模式-GOF-创建型-Singleton单例模式定义指一个类只有一个实例,且该类能自行创建这个实例的一种模式。主要解决: 一个全局使用的类频繁地创建与销毁何时使用: 为控制实例数量,节省系统资源优点:在内存中只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例避免对资源的多重占用特点:单例类只有一个实例对象该单例对象必须由单例类自行创建单例类对外提供一个访问该...

2019-11-01 16:59:43 118

原创 数据结构与算法-树-B树

数据结构与算法-树-B树概述B树也称B-树。B树中所有结点中孩子结点个数的最大值成为B树的阶,通常用m表示,从查找效率考虑,一般要求m>=3。一棵m阶B树或者是一棵空树,或者是满足以下条件的m叉树。定义B树是一种平衡的多分树,通常我们说m阶的B树,它必须满足如下条件:根结点至少有两个子女。每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m每...

2019-10-31 19:26:52 182

原创 数据结构与算法-树-哈夫曼树

数据结构与算法-树-哈夫曼树概述给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。特性对于同一组权值,所能得到的赫夫曼树不一定是唯一的。赫夫曼树的左右子树可以互换,因为这并不影响树的带权路径长度。带权值的节点都是叶子节点,不带权值的节点都...

2019-10-31 09:27:38 568

原创 数据结构与算法-树-AVL树

数据结构与算法-树-AVL树一棵AVL树有如下必要条件:它必须是二叉查找树。条件二:每个节点的左子树和右子树的高度差至多为1。使用AVL树的原因我们为了提高查找效率而使用了二叉搜索树,这使得理论上能将查找时间降到O(log(n))的程度,然而实际上这是不可能的,像是1,2,3,4,5.。。。这样的插入方式很可能会导致二叉搜索树的单链过长而无法提高效率。这时候就有了AVL树(平衡二叉树...

2019-10-30 12:33:57 138

原创 数据结构与算法-树-遍历

数据结构与算法-树-前中后遍历-递归实现由于我现在主要使用的是java,以下题目所以均由java实现前序遍历题目:144. 二叉树的前序遍历地址:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/submissions/中序遍历题目地址https://leetcode-cn.com/problems/bin...

2019-10-27 19:37:17 146

原创 数据结构与算法-树

数据结构与算法-树定义了解一下就行,看图就应该懂了树的定义树是一种数据结构,它是由n(n>=0)个有限节点组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。一些术...

2019-10-27 16:22:00 153

原创 JAVA-基础知识-Stack

JAVA-基础知识-Stackjava.util.Stack 类 Java 官方已经不在建议使用了。现在官方推荐使用 java.util.Deque。概述:stack是继承自Vector,底层使用数组存储、用来模拟栈的一个java集合。同时也是线程安全的。添加public synchronized void addElement(E obj) { modCount++;...

2019-10-26 21:42:29 203

原创 JAVA-基础知识-ArrayList,LinkedList,Vector的区别

JAVA-基础知识-ArrayList,LinkedList,Vector的区别vector与ArrayList底层实现都是数组,基本的操作差不多就不单独写了。另外我在有些地方看到有说Vector已经不建议使用了,不过具体原因还不大清楚。存储结构ArrayList和Vector是按照顺序将元素存储(从下表为0开始),默认的初始容量都是10,插入删除元素时,需要使部分元素移位。ArrayL...

2019-10-26 21:09:13 223

原创 JAVA-基础知识-基础数据类型,常量池

JAVA-基础知识-基础数据类型,常量池基础类型有这样一张表就差不多了类型包装类默认值最大值最小值长度描述byteByte0127(2^7-1)-128(-2^7)8有符号的,以二进制补码表示的整数booleanBooleanfalse1boolean只有两个取值:true 和 falseshortShort032767(...

2019-10-26 11:22:26 259

原创 JAVA-基础知识-String,Stringbuffer,StringBuilder,字符串常量池

JAVA-基础知识-String,Stringbuffer,StringBuilder概述String 不可修改StringBuffer 可修改 线程安全StringBuilder 可修改 线程不安全三者之间的继承结构StringString 对象一旦创建,其值是不能修改的,如果要修改,会重新开辟内存空间来存储修改之后的对象,即修改了 String 的引用。因为 Str...

2019-10-25 17:21:59 471

原创 JAVA-基础知识-HashMap

JAVA-基础知识-HashMap概述:HashMap最早出现在JDK1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,是非线程安全类,在多线程环境下可能会存在问题。采取懒创建的方式 new HashMap();完成后,如果没有put操作,是不会分配存储空间的。当链表长度大于8时链表将转换成红黑树当节点个数少于6时红黑树转换成链表原因:红黑...

2019-10-25 16:20:17 138

原创 数据库-MySQL-索引(2)

数据库-MySQL-索引(2)索引分类非聚簇索引表数据存储顺序与索引顺序无关。对于非聚集索引,叶结点包含索引字段值及指向数据页数据行的逻辑指针,其行数量与数据表行数据量一致。非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引,辅助索引叶子节点存储的不再是行的物理位置,而是主键值。聚簇索引由于聚簇索引是将数据跟索引结构放到一块,因此一个表仅有一个聚簇索引如果没有主键,...

2019-10-25 10:10:11 122

原创 数据库-MySQL-索引(1)

数据库-MySQL-索引索引类型索引创建create [unique | fulltext | apatial] index 索引名 on 表名(字段名[(长度)][ASC | DESC]);alter table 表名 add [unique | fulltext | apatial] index 索引名(字段名[(长度)][ASC | DESC]);alter table 表名...

2019-10-24 19:19:42 101

原创 JAVA-基础知识-HashSet

JAVA-基础知识-HashSet概述:HashSet就是直为同一个Object的HashMap源码: private transient HashMap<E,Object> map; private static final Object PRESENT = new Object(); public HashSet() { map = n...

2019-10-22 15:15:04 119

原创 JAVA-基础知识-LinkedList

JAVA-基础知识-LinkedList特性介绍:数据结构为双向链表,不需要指定大小,也没有空间浪费,链表由前驱后继进行前后连接插入删除操作为常数时间,效率高于数组遍历(get(index))仅能从两个端节点开始,花费O(n/2)或者说O(n)的时间,如果进行完全遍历(从头至尾等类似操作)建议使用增强for(或者iterator)进行遍历从类定义讲起public class Lin...

2019-10-21 19:52:56 115

原创 JAVA-基础知识-ArrayList扩容

JAVA-基础知识-ArrayList扩容ArrayList是一个常用类,由数组实现,查询可在常数时间内实现,虽然在非结尾增删上效率不如LinkedList,但查询效率高,相对于vector,ArrayList是线程不安全的(可以通过Collections.synchronizedList()实现线程安全),所以更适用单线程环境。大概介绍:ArrayList的扩容机制,在添加第一个元素时创建...

2019-10-21 19:22:18 257

原创 mapreduce shuffle

一、 Map端shuffle输入数据和执行Map任务 通过自定义Map,将输入<key,value>转换成新的<key,value>并输出写入缓存 每个map任务都会分配一个缓存区(通过环形队列实现),默认100M,首先将map的输出写入缓存,当达到一定数量是会一次性批量写入磁盘,以减少磁盘IO操作溢写(分区,排序,和并) 因为缓存区大小有限,为不影Map结果的写...

2019-04-06 14:21:32 187

原创 Spring学习——Spring AOP和AspectJ

AOP实现Spring AOP与之前一篇一样的接口和实现类接口package cn.edu.zucc.blog;/** * 定义一个用户接口 * @author xyj */public interface UserDao { public void addUser(); public void removeUser();}实现类package ...

2019-04-02 21:24:04 206

原创 Spring学习——JDK动态代理和CGLIB动态代理

AOP面向切面 Java代理静态代理定义接口package cn.edu.zucc.blog.dao;/** * 定义一个用户接口 * @author xyj */public interface UserDao { public void addUser(); public void removeUser();}实现接口package cn.edu....

2019-04-02 20:17:18 146

原创 ORMapping

ORMapping以数据库的连接为例,大体可分为三个层次这是我们要实现的接口判断登录账号密码是否正确 public interface ILogin { public boolean login(String userid, String password); }第一层其实没有什么好说的,看一下代码就清楚了数据库的连接 public static ...

2019-03-31 15:59:43 1690

原创 大数据学习---ZooKeeper搭建

Zookeeper 搭建前置环境:Centos7+hadoop-2.8.4tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module #文件解压目录可根据需求更改重命名并且更改配置文件cd zookeeper-3.4.10.tar.gz/confmv zoo_sample.cfg zoo.cfgvi zoo.cfg # The numbe...

2019-03-28 19:24:34 150

原创 基于Centos7伪分布式和完全分布式搭建

Centos 7 hadoop2.8.4搭建在多搭建了几遍之后发现还是挺简单的,如果仅仅搭建hadoop的话,虚拟机用VMware创建。本文中所有操作均使用root用户,并未创建hadoop用户一 环境配置1. 首先我们要将Ip设置好``` # 每个系统上的文件名可能不一致,不过都是ifcfg-en开头的注意一下就行 vi /etc/sysconfig/network-scrip...

2019-03-26 20:50:02 855

转载 Spring学习笔记--使用mybatis-generator自动生成代码

https://github.com/yundianzixun/mybatis-generator-1.35

2019-03-15 20:56:08 193

searchenginesinformationretrievalinpractice-外文资料电子书

英文版 本书介绍了信息检索(IR)中的关键问题,以及这些问题如何影响搜索引擎的设计与实现,并且用数学模型强化了重要的概念。对于网络搜素引擎这一重要的话题,书中主要涵盖了在网络上广泛使用的搜索技术。 本书适用于高等院校计算机科学或计算机工程专业的本科生、研究生,对于专业人士而言,本书也不失为一本理想的入门教材。

2019-03-03

搜索引擎信息检索实践.pdf

中文版 本书介绍了信息检索(IR)中的关键问题,以及这些问题如何影响搜索引擎的设计与实现,并且用数学模型强化了重要的概念。对于网络搜素引擎这一重要的话题,书中主要涵盖了在网络上广泛使用的搜索技术。 本书适用于高等院校计算机科学或计算机工程专业的本科生、研究生,对于专业人士而言,本书也不失为一本理想的入门教材。

2019-03-03

空空如也

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

TA关注的人

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