- 博客(27)
- 收藏
- 关注
原创 面试时被问到倒排索引是什么该如何快速明了的回答
首先先明确几个关于搜索引擎中的概念 文档(Document):一般搜索引擎的处理对象是互联网网页,而文档这个概念要更宽泛些,代表以文本形式存在的存储对象,相比网页来说,涵盖更多种形式,比如Word,PDF,html,XML等不同格式的文件都可以称之为文档。再比如一封邮件,一条短信,一条微博也可以称之为文档。在本书后续内容,很多情况下会使用文档来表征文本信息。 索引库(I...
2020-02-21 23:18:14
1043
1
原创 Java统计一个字符串在另一个字符串中出现的次数
1.键盘录入一个大字符串,再录入一个小字符串2.统计小字符串在大字符串中出现的次数3.代码运行打印格式:请输入大字符串:woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma请输入小字符串:heima控制台输出:小字符串heima,在大字符串中共出现3次public class Exa...
2020-01-21 16:15:21
16119
6
原创 几十万的数据量,无法一个查询搞定怎么办,可以尝试分段查询.
之前在项目中处理过数据量比较大的场景.如果数据库中有几十万条数据,一条sql查询时间太久,可能还会导致整个程序down掉.后来的优化方案就是分段读取,一次读取个几千条,然后把查询结果都放在一起. 主要的思想就是类似分页查询的逻辑.int size = 10000;//curDayOrdCount 是通过查询出来的一个数据量总数,来计算总共要分多少页int totalPage = curD...
2020-01-20 17:33:04
1198
原创 通过Stream流找出集合中对象中某个属性重复的值.
在日常的开发中,经常会碰到对数据库查出来的数据还要进行二次的业务逻辑处理的情况,有时候需要对一个对象集合中的重复的元素进行剔除. 下面是一个demo. 可以找出对象List中,某个属性重复的值.public class StreamTest { public static void main(String[] args) { ArrayList<Bean>...
2020-01-20 14:31:15
16880
原创 ActiveMq 连接池的使用
首先创建连接池工厂. 需要引入连接池的坐标. <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <versio...
2020-01-19 14:41:49
876
原创 Java下划线驼峰转换
public class CamelConvert { public static final char UNDERLINE = '_'; private static Pattern humpPattern = Pattern.compile("[A-Z]"); public static void main(String[] args) { Sys...
2020-01-19 11:17:12
844
1
原创 springboot 打印通过拦截器实现打印请求参数日志,判断是否携带指定参数
使用SpringBoot 中MVC 的 Interceptor 来实现接口入口参数的日志打印.@Componentpublic class LogInterceptor implements HandlerInterceptor { private Logger logger = LoggerFactory.getLogger(LogInterceptor.class); @O...
2020-01-19 11:02:19
3165
原创 Java-ObjectUtils 拷贝对象,判断两个对象是否相等
import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * @author xin.hu * @date: 2019-11-29 10:10:47 * @version: v1.0.0 */publi...
2019-11-29 10:11:24
1465
原创 springboot 手动开启事务,分段提交.
List<OrdLogSyn> ordLogSynList = ordLogSynMapper.batchQuery("AP", "20190926", "0", "1000"); for (int i = 0; i < 2; i++) { DefaultTransactionDefinition def = new DefaultTra...
2019-10-09 13:30:55
3659
原创 分布式锁解决方案
1.redissetnx lock 1如果lock 有值,就会返回0,反之返回1.假如100个人同时执行这个命令,因为redis是单线程的,顺序执行,只有一个人会操作成功并返回1,其他人都是0. 获取锁的线程,执行完del lock 释放锁.如何防止死锁?1.redis宕机,阻塞后怎么办,一直del不掉,别人也获取不到lock,在setnx 时设定时间,有效期,超时后自动删除.别人...
2019-01-02 16:53:49
428
原创 IOC控制反转
Spring之IOC控制反转控制反转IOC(Inverse of controll):将创建对象的权利交给spring容器.意思就是原来对象是new出来的.Person p = new Person()现在是通过Spring工厂来获取对象Person p = Spring工厂.getBean()作用:解耦合,因为在一个项目中有太多的对象,一直new的话,类与类之间的耦合性太高,...
2018-12-04 11:26:18
181
原创 Java线程中,Thread和Runnable创建线程的区别
一、Thread创建线程,通过新建类继承Thread类,重写run方法,然后在main方法中start(),创建并启动线程.public class MyThread extends Thread{//除了构造方法和私有属性其他的都可以被继承下来 @Override//重写了父类Thread的run方法.//在main方法start()创建并启动线程时,会调用此方法. pu...
2018-08-28 15:11:33
2698
原创 Java面向对象中的注意事项
关于Java面向对象编程,不可能是一开始就全部学完的,他会伴随着你的Java编程的整个过程,在以后的学习或者工作中,你才能够越来越深入的去理解面向对象这个思想.Object Oritended Programming就是面向对象编程的全称.简称OOP,主要有三大特性,封装,继承,多态.举个例子,洗衣服: 面向过程:把衣服脱下来-->找一个盆-->放点洗衣粉-->加点水-...
2018-08-19 10:13:09
466
原创 Java的基本数据类型(四类八种)
整数byte(字节型) short(短整型) int(整形) long(长整型)浮点数double(双精度) float(单精度) 定义时后面要加上f,例如3.1f布尔型true false字符型charString字符串是引用类型不是基本数据类型.数组,接口等都属于引用数据类型...
2018-08-18 14:57:44
290
原创 Java中重载(Overload)和重写的区别(Override)和使用方法
重载(Overload)重载发生在本类,方法名相同,参数列表不同,与返回值无关,只和方法名,参数列表,参数的类型有关.比如说,一个Person类.如果不写构造方法的话,在测试类中默认调用的就是无参的构造方法,是系统默认的.如果写了有参的构造方法Person(String name,int age){this.name=name;this.age=age}就必须手动写一个默认的无参的构造...
2018-08-18 11:35:55
1229
原创 Java练习题:将String数组包含参数str的元素存入另一个数组并返回
关于获取字符串中出现子字符串的次数和个数,方法大体相同.一通白通,只要掌握了方法,就很简单.如果你不知道String的contains方法,repalce,replaceAll.还有toCharArray方法做起来就相当困难.如果掌握了ArrayList集合的话就更方便了.ArrayList的底层也是数组来实现的.具体区别就是ArrayList的长度是不固定的.数组的长度必须在初始化的时候就规...
2018-08-18 11:35:50
4184
原创 Java冒泡排序详解
/*如果第二个数比第一个数大,则将第二个值赋给第一个. * 将第二个数放到第一个.再循环时就是拿原来的第一个(现在是第二个)和第三个比. * 如果比第三个小.就把第一个(现在的第二个)和第三个换个位置 * 先将第二个元素赋给一个temp中间变量.再将第一个赋给第二个 * 再将中间变量的值赋给第一个元素 */...
2018-08-17 19:29:45
221
原创 Java反转数组元素
实现数组逆序打印/** * Reverse Array * 将数组中第一个元素和最后一个元素交换位置 * 将第二个元素和倒数第二个交换位置 * 以此类推,中间的元素和自己交换,等价于没动. */public class Assign04 { public static void main(String[] args) { int[] arr={1,2,3,...
2018-08-17 16:13:09
2000
原创 Java反转字符串操作
import java.util.Scanner;/** * 字符串反转 举例:键盘录入”abc” 输出结果:”cba” 分析: A:键盘录入一个字符串 B:写方法实现字符串的反转 a:把字符串倒着遍历,得到的每一个字符拼接成字符串。 b:把字符串转换为字符数组,然后对字符数组进行反转,最后在把字符数组转换为字符串 C:调用方法 D:输出结果 */public cla...
2018-08-17 16:01:03
2439
原创 Java删除集合中包含0-9的元素
import java.util.ArrayList;/** * 定义一个无返回值,参数为String[] 数组的方法,实现以下功能: 1) 把数组中的元素存入到一个ArrayList集合中,删除集合中包含0-9数字的字符串 (只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)。 2) 遍历该集合打印剩余元素。 在main方法中,定义一个字符串数组String arr...
2018-08-17 16:00:16
2662
2
原创 Java获取不重复的随机数
import java.util.Random;/** * 创建两个长度为10的数组,数组内元素为随机生成的、不重复的 1-100之间的整数 */public class Assign07 { public static void main(String[] args) { int[] arr1 = new int[10]; Random r =...
2018-08-17 15:51:49
12321
1
原创 Java随机生成六位字符的验证码,包括数字,大小写字母
先将字符数组写出来package com.itheima.Myutil;/** * 包含了二十六个字母和十个数字的字符数组 */public class AllCharacter { public static char[] charArray(){ int i = 1234567890; String s ="qwertyuiopasdfg...
2018-08-17 15:45:33
9868
原创 Java:Scanner实现一行获取用户多个输入并保存到变量中
Java中的Scanner中的,next,nextInt等等.一次只能获取用户单个输入的字符串或者数字.用nextLine可以不用管用户输入的类型import com.itheima.StudentManageSystem.Student;import java.util.ArrayList;import java.util.Scanner;public class Scanner...
2018-08-17 15:22:18
13718
1
原创 随机数获取数组,然后升序排列,获取数组中最小的五个奇数
import java.util.Arrays;import java.util.Random;/** * 1:按要求完成如下功能 * A 定义方法public static int[] getNums(int[] arr),实现一下功能,获取arr中最小的5个奇数, * 并按照升序排列后,以数组的方式返回. * B 定义main方法,要求: * 1.定义一个长度为50的int数...
2018-08-17 14:47:24
361
原创 Java中统计字符串中字符出现的次数的方法
(一)ArrayList的实现方法public class CountStringsArrayList { public static void main(String[] args) { String string = "wermnxmnio34oi9xnmsdkfje";//这里可以是任意字符串 ArrayList<Character>...
2018-08-17 14:05:32
34574
5
原创 最小匹配操作符
*? 前一个字符0次或无限次扩展,最小匹配+? 前一个字符1次或无限次扩展,最小匹配?? 前一个字符0次或1次扩展,最小匹配{m,n}? 扩展前一个字符m至n次(含n),最小匹配import re#贪婪匹配,最大长度匹配match = re.search(r'PY.*N', 'PYANBNCNDN')print(match.group(0))#最小...
2018-07-07 22:55:51
435
原创 正则表达式
. 表示任何单个字符[] 字符集,对单个字符给出取值范围 [abc]表示a,b,c,[a-z]表示a到z单个字符[^] 非字符集,对单个字符给出排除范围 [^abc]表示非a或b或c的单个字符* 前一个字符0次或无限次扩展 abc*表示ab、abc、abcc、abccc等+ ...
2018-07-07 18:33:11
155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人