自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 elasticsearch 集群、节点、索引、分片、副本概念

原文链接:https://www.jianshu.com/p/297e13045605集群(cluster): 由一个或多个节点组成, 并通过集群名称与其他集群进行区分节点(node): 单个 ElasticSearch 实例. 通常一个节点运行在一个隔离的容器或虚拟机中索引(index): 在 ES 中, 索引是一组文档的集合分片(shard): 因为 ES 是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候

2020-08-07 16:19:05 716

原创 Freemarker 的 Shiro 标签使用详解

https://www.cnblogs.com/Jimc/p/10031094.html

2020-08-02 15:10:07 167

原创 Mybatis

#{}和${}的区别是什么?1)#{}是预编译处理,KaTeX parse error: Expected 'EOF', got '#' at position 23: …换。2)Mybatis在处理#̲{}时,会将sql中的#{}替…{}时,就是把${}替换成变量的值。4)使用#{}可以有效的防止SQL注入,提高系统安全性。resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型。resultMapparameterType 一样,如果注册过类型别名的,可以直接使用别名用户

2020-07-27 21:54:31 118

原创 Spring

spring的aop是如何实现的?如果你的代理类有接口的话那就是走的jdk的动态代理。但如果没有的话,则使用cglib字节码技术去创建代理类对象,主要是这两种方式。jdk中主要是使用java反射中的两个类一个是proxy. 另一个是InvocationHandler,它通过bind的方式去绑定之前的代理与原来的实现类去做一个关系。并且他是通过proxy相关的来创建代理对象,然后通过反射invoke去执行那个方法,大概是这个过程。Spring的IOC?IOC就是控制反转,利用了java反射机制。简单点说

2020-07-27 21:53:00 152

原创 Redis

redis 常见数据结构String 2.Hash 3.List 4.Set 5.Sorted Set删除策略(针对过期数据,并且占用内存的)?定时删除,创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作惰性删除,数据到达过期时间,不做处理。等下次访问该数据时,如果未过期,返回数据,发现已过期,删除,返回不存在定期删除,redis默认是每隔 100ms 就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。redis 持久化机制?两

2020-07-27 21:47:24 69

原创 【Redis】笔记

https://blog.csdn.net/qmqm33/category_9889328.html

2020-07-19 13:44:40 93

原创 前后端分离个人博客(Vue+SpringBoot+element ui)

1.前后端分离项目实现效果:技术栈:SpringBootRabbitmqElasticSearchmybatis plusshirolombokredishibernate validatiorjwt2.Java后端接口开发1.SpringBoot整合Mybatis Plus2.统一结果封装这里我们用到了一个Result的类,这个用于我们的异步统一返回的结果封装。一般来说,结果里面有几个要素必要的是否成功,可用code表示(如200表示成功,400表示异常)结果消息

2020-07-06 15:16:06 758

原创 Rabbitmq的安装与使用(Window10版本)

1、RabbitMQ的安装,rabbitmq为erlang语言开发,所以先安装erlang语言开发包,现在电脑一般都是64位的,所以下载64位的都行了。红色框可以选择版本,箭头选择64位的进行下载。下载和打开网页很慢,官网:http://www.erlang.org/downloads/20.02、下载好双击安装即可:如果官网下载过慢,可以使用迅雷下载。选择好目录:这里我选择了默认:安装如下所示:3、配置环境变量:在PATH后面加上如下所示即可:;%ERLANG_HOME%\bin

2020-07-05 19:52:59 460

原创 疫情分布系统

项目描述结合当前新的冠状病毒流行情况,为提高数据存储和查询效率,促进流行病的预防和控制,防止流行病的传播,专门开发了基于Java EE技术的Web应用系统。普通用户可以在前台查看当天疫情的分布情况,以及增长趋势。管理员可以在后台录入当日每个省份的疫情增长数据。研发环境及所用技术Idea+Tomcat8+Maven+Oracle+SSM+Spring security+Bootstrap(AdminLTE)。技术描述:整合SSM,Spring security框架;使用PowerDesigner

2020-06-25 17:31:42 610

原创 基于Web的电子商城

1.系统简介随着互联网的日益普及,中国电商稳步发展,为了满足人们新的购物需求,设计一个基于web的B2C的电子商城系统。本系统前端使用了Bootstrap框架,JavaScript,jQuery,ajax技术,后端基于MVC设计模式设计,使用了SSH框架技术完成系统功能。系统分为前台、后台两部分。用户可以在前台搜索商品、加入购物车、下单、查看订单、修改个人信息,商城管理员可以在后台管理商品信息,添加新的商品分类,查看所有用户订单。2.系统界面设计本系统使用了Java EE技...

2020-06-25 15:52:40 1088 1

原创 PageHelper分页插件 属性大全

//当前页private int pageNum;//每页的数量private int pageSize;//当前页的数量private int size;//由于startRow和endRow不常用,这里说个具体的用法//可以在页面中"显示startRow到endRow 共size条数据"//当前页面第一个元素在数据库中的行号private int startRow;//当前页面最后一个元素在数据库中的行号private int endRow;//总记录数private

2020-06-16 00:11:09 1548

转载 【7万字干货】最新Java实习必看面试两百题解析

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_41112238/article/details/105074636①自己想总结一篇同时包含质与量的文章,给自己,也给关注我的人②最近在投递实习,所以主要都是Java的基础知识,计算机网络和操作系统就只挑重点,本文后面视情况会继续更新。以后可能会完善包括数据结构和算法、场景题、Linux之类的内容。③所有题目及答案全部手打,转载注明出处。

2020-06-13 14:26:17 889

原创 Spring工作原理

1、spring原理内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是 在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过 配置类达到的。Spring目的:

2020-06-01 15:14:40 170

原创 58.【SpringMVC】

三层框架与MVC流程分析springmvc执行流程原理

2020-05-31 20:14:44 107

原创 57.【Spring】

1.单例多例程序的耦合耦合:程序间的依赖关系包括:类之间的依赖方法间的依赖解耦:降低程序间的依赖关系实际开发中:应该做到:编译期不依赖,运行时才依赖。解耦的思路:第一步:使用反射来创建对象,而避免使用new关键字。第二步:通过读取配置文件来获取要创建的对象全限定类名...

2020-05-31 17:33:03 129

原创 56.【Mybatis】

1.Mybatis里的设计模式2.查询所有的分析Mybatis分析3.自定义Mybatis分析4.源码分析自定义mybatis开发流程图

2020-05-29 16:53:15 121

原创 25.【测试、反射、注解】

Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 * 建议: * 方法名:tes

2020-05-26 17:07:55 93

原创 23.【函数式接口】

函数式接口函数式接口:有且只有一个抽象方法的接口,称之为函数式接口当然接口中可以包含其他的方法(默认,静态,私有)@FunctionalInterface注解作用:可以检测接口是否是一个函数式接口 是:编译成功 否:编译失败(接口中没有抽象方法抽象方法的个数多余1个) 函数式接口的使用:一般可以作为方法的参数和返回值类型Lambda的特点:延迟加载Lambda的使用前提,必须存在函数式接口使用Lambda表达式作为参数传递,仅仅是把参数传递到showLog方法中只有

2020-05-26 01:09:01 102

原创 22.【网络编程】

网络编程网络通信协议:通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信。这就 好比在道路中行驶的汽车一定要遵守交通规则一样,协议中对数据的传输格式、传输速率、传输步骤等做了 统一规定,通信双方必须同时遵守,最终完成数据交换。TCP:传输控制协议 (Transmission Control Protocol)。TCP协议是面向连接的通信协议,即传输数据之前, 在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。三次握手:TCP协议中,在发送

2020-05-25 23:25:52 146

原创 21.【缓冲流、转换流、序列化流、打印流】

1.缓冲流缓冲流的原理java.io.BufferedOutputStream extends OutputStreamBufferedOutputStream:字节缓冲输出流继承自父类的共性成员方法: - public void close() :关闭此输出流并释放与此流相关联的任何系统资源。 - public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。 - public void write(byte[] b):将 b.length字节从指

2020-05-25 23:14:13 134

原创 20.【字节流、字符流】

1.字节流java.io.OutputStream:字节输出流此抽象类是表示输出字节流的所有类的超类。定义了一些子类共性的成员方法: - public void close() :关闭此输出流并释放与此流相关联的任何系统资源。 - public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。 - public void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。 - public void write

2020-05-25 22:49:20 106

原创 19.【File类、递归】

1. File类java.io.File类我们可以使用File类的方法创建一个文件/文件夹删除文件/文件夹获取文件/文件夹判断文件/文件夹是否存在对文件夹进行遍历获取文件的大小File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。static char pathSeparatorChar 与系统有关的路径分隔符。static String separator

2020-05-25 22:39:58 108

原创 17.【线程、同步、Lambda】

1.线程线程的状态图等待唤醒案例:线程之间的通信创建一个顾客线程(消费者):告知老板要的包子的种类和数量,调用wait方法,放弃cpu的执行,进入到WAITING状态(无限等待)创建一个老板线程(生产者):花了5秒做包子,做好包子之后,调用notify方法,唤醒顾客吃包子注意: 顾客和老板线程必须使用同步代码块包裹起来,保证等待和唤醒只能有一个在执行 同步使用的锁对象必须保证唯一 只有锁对象才能调用wait和notify方法Obejct类中的方法void wait(

2020-05-25 22:01:08 127

原创 16.【异常、线程、synchronized】

1.异常java.lang.Throwable:类是 Java 语言中所有错误或异常的超类。Exception:编译期异常,进行编译(写代码)java程序出现的问题RuntimeException:运行期异常,java程序运行过程中出现的问题异常就相当于程序得了一个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药,继续革命工作)Error:错误错误就相当于程序得了一个无法治愈的毛病(非典,艾滋).必须修改源代码,程序才能继续执行throw关键字作用:可以使用throw关键字在指

2020-05-25 21:13:05 126

原创 15.【Map、Hash】

1. Map集合java.util.Map<k,v>集合Map集合的特点:1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同3.Map集合中的元素,key是不允许重复的,value是可以重复的4.Map集合中的元素,key和value是一一对应2. HashMap<k,v>集合java.util.HashMap<k,v>集合 implements Map&l

2020-05-25 20:37:17 89

原创 数据结构

01_数据结构_栈&队列.02_数据结构_数组03_数据结构_链表04_数据结构_红黑树05_HashSet集合存储数据的结构(哈希表)

2020-05-25 17:55:11 156

原创 14.【List、Set、Collections集合工具类】

1.List接口java.util.List接口 extends Collection接口List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)2.有索引,包含了一些带索引的方法3.允许存储重复的元素List接口中带索引的方法(特有) - public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。 - public E get(int index):返回集合中指定位置的元素。

2020-05-25 17:51:09 91

原创 13.【集合、Collection、迭代器、泛型】

1.集合框架介绍2.Collection接口java.util.Collection接口所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法任意的单列集合都可以使用Collection接口中的方法共性的方法: public boolean add(E e): 把给定的对象添加到当前集合中 。 public void clear() :清空集合中所有的元素。 public boolean remove(E e): 把给定的对象在当前集合中删除。 public boolea

2020-05-25 17:38:32 77

原创 12.【Object类、日期类、字符串缓冲、拆装箱】

1.Object类 Person类默认继承了Object类,所以可以使用Object类的equals方法 boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”。 equals方法源码: public boolean equals(Object obj) { return (this == obj); } 参数:

2020-05-25 17:28:17 107

原创 11.【final、权限、内部类】

1.finalfinal关键字代表最终、不可改变的。常见四种用法:可以用来修饰一个类可以用来修饰一个方法还可以用来修饰一个局部变量还可以用来修饰一个成员变量对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样是不可变。由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了。对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。二者选其一。必须保证类当中所有重载的构造方法,都最终会对final的成员变量进行赋值。当final关键字用

2020-05-25 17:13:08 61

原创 10.【接口、多态】

1.接口接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么 接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法 (JDK 9)。 接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并 不是类,而是另外一种引用数据类型。接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。如何定义一个接口的格式:

2020-05-25 16:39:19 95

原创 09.【继承、super、this、抽象类】

1.继承在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找。间接通过成员方法访问成员变量:该方法属于谁,就优先用谁,没有则向上找。 // 等号左边是谁,就优先用谁 System.out.println(zi.num); // 优先子类,200// System.out.println(zi.abc); // 到处都没有,编译报错! Syst

2020-05-25 16:06:04 67

原创 08.【String类、static、Arrays类、Math类】

1.java.lang.String类代表字符串。API当中说:Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。其实就是说:程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点:字符串的内容永不可变。【重点】正是因为字符串不可改变,所以字符串是可以共享使用的。字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。创建字符串的常见3+1种方式。三种构造方法:public String():创建

2020-05-25 15:39:09 91

原创 07.【Scanner类、Random类、ArrayList类】

1.Scanner类Scanner类的功能:可以实现键盘输入数据,到程序当中。引用类型的一般使用步骤:导包import 包路径.类名称;如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。只有java.lang包下的内容不需要导包,其他的包都需要import语句。创建类名称 对象名 = new 类名称();使用对象名.成员方法名()获取键盘输入的一个int数字:int num = sc.nextInt();获取键盘输入的一个字符串:String st

2020-05-25 15:21:33 64

原创 06.【面向对象、类与对象、封装、构造方法】

1.面向对象面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。面向对象:当需要实现一

2020-05-25 15:05:52 187

原创 05.【数组、Java内存】

1.数组数组的特点:数组是一种引用数据类型数组当中的多个数据,类型必须统一数组的长度在程序运行期间不可改变数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。两种常见的初始化方式:动态初始化(指定长度)数据类型[] 数组名称 = new 数据类型[数组长度];静态初始化(指定内容)数据类型[] 数组名称 = new 数据类型[] { 元素1, 元素2, … };省略格式:数据类型[] 数组名称 = { 元素1, 元素2, … };【注意】索引值从0开始,一直到“数

2020-05-24 21:36:26 164 1

原创 常见错误

ArrayIndexOutOfBoundsException 数组索引越界异常

2020-05-24 21:26:15 270

原创 04.【开发工具IDEA】

1.Idea目录结构2.设置快捷键字体:点击菜单栏上的 File->Settings->Editor->Font 修改字体。IDEA修改快捷键:File->Settings->keymap->Main menu->code->Completion->Basic

2020-05-24 21:16:07 174

原创 03.【流程控制语句】

1.流程控制switch语句使用的注意事项:多个case后面的数值不可以重复。switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int引用数据类型:String字符串、enum枚举switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。default没有一个条件满足时会执行“匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。”“for”循环结构的基本组成部分,一般可以分成四部分

2020-05-24 20:21:04 139

原创 02.【数据类型转换、运算符、方法入门】

1.数据类型转换当数据类型不一样时,将会发生数据类型转换。自动类型转换(隐式)1. 特点:代码不需要进行特殊处理,自动完成。2. 规则:数据范围从小到大。强制类型转换(显式)特点:代码需要进行特殊的格式处理,不能自动完成。格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;注意事项:1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。2. byte/short/char这三种类型都可以发生数学运算,例如加法“+”.3. byte/sho

2020-05-24 19:49:23 170

空空如也

空空如也

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

TA关注的人

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