自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES的索引库

ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档。它就相当于MySQL中的表,或相当于Mongodb中的集合。关于索引这个语:索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。索引(动词):索引库刚创建起来是空的,将数据添加到索引库的过程称为索引。...

2021-08-05 19:20:50 992

原创 RabbitMQ 的工作原理

MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ由Erlang语言开发,Erlang语言用于并发及分布式系统的开发,在电信领域应用广泛,OTP(Open Telecom Platform)作为Erlang语言的一部分,包含了很多基于Erlang开发的中间件及工具库,安装Rabb

2021-07-24 14:14:02 714

原创 页面静态化流程

页面静态化流程如下图:1、静态化程序首先读取页面获取DataUrl。2、静态化程序远程请求DataUrl得到数据模型。3、获取页面模板。4、执行页面静态化。

2021-07-19 10:02:09 350

原创 Dao,Service和Controller层

2021-07-09 14:15:34 158

原创 面经:HashMap和HashTable的区别

2021-06-15 20:41:55 102 1

原创 框架:AOP 的动态代理技术

常用的动态代理技术JDK 代理 : 基于接口的动态代理技术cglib 代理:基于父类的动态代理技术

2021-06-15 20:38:29 86

原创 框架:Spring JdbcTemplate基本使用

2021-06-12 21:33:32 81

原创 Java选择题:各种排序的复杂度、稳定性

2021-06-03 17:22:33 118

原创 Java:创建小顶堆与大顶堆

堆的数据结构是二叉树//创建小顶堆与大顶堆Queue<>() queue1 = new PriorityQueue<>(); //创建小顶堆(优先队列),堆顶元素是最小元素Queue<>() queue2 = new PriorityQueue<>(); //创建大顶堆,堆顶元素是最大元素...

2021-06-03 09:51:17 1470

原创 redis:数据结构

redis的数据结构:* redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构* value的数据结构:1) 字符串类型 string2) 哈希类型 hash : map格式3) 列表类型 list : linkedlist格式。支持重复元素4) 集合类型 set : 不允许重复元素5) 有序集合类型 sortedset:不允许重复元素,且元素有顺序...

2021-05-21 16:51:08 79

原创 JSP:9个内置对象

内置对象* 在jsp页面中不需要创建,直接使用的对象* 一共有9个: 变量名 真实类型 作用 * pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象 * request HttpServletRequest 一次请求访问的多个资源(转发) * session HttpSession 一次会话的多个请求间 * application ServletContext 所有用

2021-05-17 22:20:24 75

原创 java:循环幂余法和快速幂余法(二分求余法)

当求解x的a次幂时,可能会出现大数越界的问题,超出int32位,所以很多题目要求对结果进行1000000007的取余,这个数字在int32的范围之内1000000007的平方超出了int32的范围,但是在long64的范围之内循环幂余法求解x的a次幂int res = 1;int x = 3;int p = 1000000007;for(int i = 0; i < a; i++) { res = (res * x) % p;}return res;该法时间复杂度为线性级别复杂度

2021-05-13 15:31:54 728

原创 java:数位和计算

对一个整数的数位和进行计算。如355,3+5+5=13;int sums(int x) int s = 0; while(x != 0) { s += x % 10; x = x / 10; } return s;

2021-05-12 10:32:38 306

原创 web:重定向与转发的区别

forward(转发) 和 redirect(重定向) 的区别重定向:资源跳转的方式重定向的特点:redirect1. 地址栏发生变化2. 重定向可以访问其他站点(服务器)的资源3. 重定向是两次请求。不能使用request对象来共享数据转发的特点:forward1. 转发地址栏路径不变2. 转发只能访问当前服务器下的资源3. 转发是一次请求,可以使用request对象来共享数据...

2021-05-10 11:15:48 235

原创 Java:利用逻辑运算符的短路效应来实现递归的终止(代替if)

常见的逻辑运算符有三种,即 “与 &&&& ”,“或 ||∣∣ ”,“非 !! ” ;而其有重要的短路效应,如下所示:if(A && B) // 若 A 为 false ,则 B 的判断不会执行(即短路),直接判定 A && B 为 falseif(A || B) // 若 A 为 true ,则 B 的判断不会执行(即短路),直接判定 A || B 为 true剑指64题需要实现 “当 n = 1n=1 时终止递归” 的需求,可

2021-05-06 12:45:18 251

原创 Java:Integer.MAX_VALUE,Integer.MIN_VALUE

想求最小值时,就将该变量初始化为最大值这个是Integer类中的一个int类型的常量MAX_VALUE它代表int所能表示的最大值 0x7FFFFFFF想求最大值时,就将该变量初始化为最小值相对应的是Integer类中的另一个常量MIN_VALUE它代表int所能表示的最小值 0x80000000...

2021-05-05 12:27:21 206 1

原创 Java:Arrays.fill() 方法

public static void fill(int[] a, int fromIndex, int toIndex, int val)Arrays类的fill() 方法是用来输入给定数组中元素值的。1、两个参数public static void fill(int[] a, int val):给定一个数组,一个val值含义为为数组a进行赋值,使得其所有元素值都为val。2、四个参数public static void fill(int[] a, int fromIndex, int toI

2021-05-02 11:07:02 9626 1

原创 Java:Deque双端队列

Deque是一个双端队列接口,继承自Queue接口,Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。双端队列是在两端都可以进行插入和删除的队列。常用方法:新建一个双端队列:Deque deque = new LinkedList();1、判断是否为空: deque.isEmpty()2、增:deque.offerFirst(), deque.offerLast(); //从头添加和尾部添加3、删:dequ

2021-04-28 09:21:35 238 1

原创 Java:剑指59-I的暴力解法

给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3

2021-04-27 11:15:07 95

原创 java:String的trim()方法,去除字符串首尾空格

String s = " hfjs df ";s.trim(); //去除首尾空格System.out.println(s); //输出结果"hfjs df"

2021-04-26 22:17:19 612

原创 Java:和为s的两个数字,哈希表解法

输入一个数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。与剑指57题类似,但是不要求数组是有序的。 public int[] twoSum(int[] nums, int target) { HashMap<Integer, Integer> map = new HashMap<>(); //第一次循环遍历将数组元素存储到哈希表中 for(int i = 0; i <

2021-04-24 22:24:45 122

原创 Java异或运算

异或运算是二进制的位运算。1⊕1=0;0⊕0=0;1⊕0=1;0⊕1=1.。异或运算有以下三个性质。任何数和 0 做异或运算,结果仍然是原来的数,即 a⊕0=a。任何数和其自身做异或运算,结果是 0,即 a⊕a=0。异或运算满足交换律和结合律,即a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。举例:比如整数3与0进行异或满足第二条性质,即任何数和 0 做异或运算,结果仍然是原来的数。...

2021-04-23 20:06:55 600

原创 Java循环中break和continue的区别

break:结束当前整个循环,执行当前循环下边的语句,忽略循环体中任何其它语句和循环条件测试。continue:终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。...

2021-04-21 09:20:56 143

原创 Java学习:Map的Entry 键值对对象

Map 中存放的是两种对象,一种称为key(键),一种称为value(值),它们在 Map 中是一一对应关系,这一对对象又称做 Map 中的一个 Entry对象 。 Entry 将键值对的对应关系封装成了对象,即键值对对象,这样我们在遍历 Map 集合时,就可以从每一个键值对( Entry )对象中获取对应的键与对应的值。既然Entry表示了一对键和值,那么也同样提供了获取对应键和对应值得方法:public K getKey() :获取Entry对象中的键。public V getValue() :获

2021-04-19 16:24:41 817

原创 Java :哈希表的getOrDefault(key, default)方法的理解与应用

哈希表的getOrDefault(key, default)方法,是在哈希表中搜索是否存在该方法参数列表中的key值,如果存在该key值,则返回哈希表中该key值对应的vakue值;如果不存在,则返回该方法参数列表中的default值。举例说明如下:Map<Character, Integer> map = new HashMap<>(); //新建一个哈希表map.put('a',5); //存储键值对int c = map.getOrDefault('a',-1); 现在

2021-04-17 11:03:25 1805

原创 字符串形式的数字大小比较:String的compareTo()方法

int compareTo() 返回值类型是int,举例使用如下String A = "12", B = "7"A.compareTo(B);当A大于B时,返回值是一个正整数,即大于0; A.compareTo(B) > 0;当A等于B时,返回值是0; A.compareTo(B) == 0;当A小于B时,返回值是一个负整数,即小于0; A.compareTo(B) < 0;通过这个静态方法,就可以实现字符串形式的数字大小比较了...

2021-04-16 22:08:44 12205 10

原创 两个字符相减的结果得到的结果是数字

学习笔记剑指Offer 44要求返回值是int类型return Long.toString(num).charAt((n - 1) % digit) - '0';调用toString()方法得到字符数组,在调用charAt()方法得到一个字符,字符与字符相减,是两个字符的ASCII码相减,返回就是int。...

2021-04-16 09:16:45 3973

空空如也

空空如也

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

TA关注的人

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