- 博客(34)
- 收藏
- 关注
原创 Java 内部interface
今天看了项目中有一个内部接口的实现,给我看的是相当的懵逼,代码如下public interface WorkerProvider { void registerWorker(WorkerRegister register); interface WorkerRegister { default void addWorker(String taskType, Function<TaskInfo, Mono<Map<String, Object>&
2020-09-15 15:26:51
522
原创 Guava中常用的方法
1、AsyncLoadingCache,异步Cache,private AsyncLoadingCache<String, String> cache = Caffeine.newBuilder() .expireAfterWrite(Duration.ofMillis(1000)) .buildAsync(this::buildCacheFunction);含义是我们每一次调用get的时候会传入key,传入key之后会通过buildCacheFunctio
2020-09-04 16:40:16
440
原创 protobufe转json
官方推荐:String jsonString = JsonFormat.printer().print(message);
2020-08-08 18:51:51
357
原创 MySQL查看数据表占用的物理空间
select concat(round(sum(data_length/1024/1024),2),‘MB’) as data from tables where table_schema=‘gifshow’ and table_name=‘video_info_0’;
2020-07-17 17:41:49
418
翻译 spring webFlux
一个大神对flux与mvc访问数据库的效率对比报告1、与传统的Spring MVC相比 webFlux是异步非阻塞线程模型,它能够充分利用多核 CPU 的硬件资源,springMVC使用的是同步的阻塞的线程模型,一个请求对应一个线程。因为Spring MVC使用的是一个请求一个线程所以,对于单次请求来说Spring MVC的响应时间更短(毕竟你复用线程的过程中是有上下文切换,而且Flux也不是为了加快单次请求而出现的)但是 因为Flux的线程模型,所以Flux在吞吐量上更有优势,也就是单位时间会处理
2020-06-24 17:07:19
446
原创 MySQL的知识
1、create table as 与create table like 的区别:create table as 只是复制原数据,其实就是把查询的结果建一个表create table like 产生与源表相同的表结构,包括索引和主键,数据需要用insert into 语句复制进去(只有表没有数据啊)...
2020-06-24 11:34:41
140
原创 泛型方法声明
1、public <T> List<T> getImplList(List<T> abTestList, String modeId, QueryType queryType) 2、public <T> T getImpl(List<T> abTestList, String modeId)
2020-06-02 19:19:05
453
原创 一个老生常谈的问题,传值传引用
public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("1"); list.add("2"); change(list); System.out.println(list.size()); } static
2020-05-25 17:08:02
157
原创 linux常用命令行
sed -n 205968,217519p /home/work/log/radio-search-s2s/radio-search-s2s-2020-05-15-1.log | grep "耗时统计:RadioSearchProcess_radioSearc" | grep -P '耗时:(\d+)' -o | awk -F ":" '$2>500 {print $2}'表示的含义是输出205968行到217519行, 输出正则匹配结果,并且按照:号进行分割,第二个数值大于500并且输出分割.
2020-05-16 20:59:45
160
原创 如何往Runnable中放入一个参数
往Runnable中放入参数会一直报错,需要一个final类型的变量所以我们怎么传参数呢,用一个变量接受下就行不操作这个变量就行Pair<List<Item>, RichQuery> proceed; if ((proceed = checkCache(encodeKey)) == null) { proceed = (Pair) joinPoint.proceed(); Pair<List<Item&g
2020-05-11 17:26:17
1979
原创 构建者模式
public class Computer { private String cpu;//必须 private String ram;//必须 private int usbCount;//可选 private String keyboard;//可选 private String display;//可选 private Computer(Bui...
2020-02-22 19:00:10
153
原创 Gson的使用
之前一直在使用Fastjson,但是阿里的fastjson总有漏洞,所以最近项目准备尝试使用Google的JsonObject 总共就那么几个场景1、将一个类转换为JsonJsonObject obj = gson.toJsonTree(object).getAsJsonObject();2、讲一个Json字符串变成JsonJsonParser.parseString(“jsonstrin...
2020-02-21 17:00:26
258
原创 Spring的变量赋值问题
今天调试了一个代码大概是想让一个今天得到的一些结论:1.一个bean在初始化的时候Autowire是没有执行的2.如果想要赋值那么使用@Autowire方法的方式
2020-02-21 16:51:48
245
原创 Linux命令篇
1、查看端口占用情况,或者端口正在被哪个进程占用-t (tcp) 仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化为数字-l 仅列出在Listen(监听)的服务状态-p 显示建立相关链接的程序名netstat -ntulp | grep "端口号或者进程号"...
2020-02-19 14:04:22
125
原创 Spring 包扫描的一个问题
context:annotation-config/<context:component-scan base-package=“com.xiaomi.search.radio”/>这个是扫描radio包下的类以及radio子包下的类context:annotation-config/<context:component-scan base-package=“com.xia...
2020-02-05 20:13:55
128
转载 使用Springboot的时候Log4j与logback
因为从Spring Boot 1.4开始,spring boot就不支持log4j了,必须是log4j2或者logback,具体两者如何配置以及NDC的支持可以参考spring boot精华版。这里要讲的是如果刚好用的spring boot是1.4+或者应用使用了log4j2,但是依赖的三方使用的是log4j,该如何处理?默认情况下,如果log4j和log4j2实现都存在,s...
2020-01-17 17:54:09
1706
原创 面试问到的题目汇总
工程相关1、HashMap为什么线程不安全2、ConcurrentHashMap为什么线程安全3、volatile关键字的作用4、用过Redis什么样的数据结构
2020-01-08 17:25:18
101
原创 Spark 算子杂记
1、mapValues与map算子, 一个只针对(k,v)中的进行处理,比如groupby之后,我们只对value进行变换那么用这个mapvalue就好一些,而map是针对每一行进行操作2、...
2020-01-07 10:55:23
138
转载 Learning to Rank 简介(转载)
Learning to rank(简写 LTR、L2R) 也叫排序学习,指的是机器学习中任何用于排序的技术。目录一、LTR引言1.1 LTR的出现背景1.2 LTR基本框架二、训练数据的获取2.1 人工标注2.2 搜索日志2.3 公共数据集三、特征提取四、模型...
2019-12-17 11:38:43
553
1
原创 combineByKey算子
val conf = new SparkConf().setAppName(“SearchSessionAnalysis”).setMaster(“local[4]”)val sc: SparkContext = new SparkContext(conf)val array = Array((“a1”, 100),(“a2”, 102), (“a1”, 104), (“a2”, 101), ...
2019-12-05 19:00:16
270
原创 Spark运行模式总结
先来大概翻译一下Spark官方的文档: Spark官方文档链接Spark程序是一些运行在集群上的独立程序集,这些程序被运行在driver program上SparkContext协调运行。SparkContext有能够链接集群的管理(Cluster Manager:比如Yarn、Mesos),它能够分配如何提交一个Spark任务官方文档1、启动脚本参数的含义–conf spark.dr...
2019-12-02 20:12:39
172
原创 决策树模型
决策树决策树可以简单的理解为根据特征的取值而最终分成不同的类,也可以理解为简单的if-then的规则集合(树嘛)。那么怎么样选择节点是一个很有技术的问题。为什么呢,因为如果你的中间节点选的不错是不是就能够很容易的将决策树的各个节点很容易的分清楚了(说白了,你选的树分叉的地方越有区分度、分类越多越好你一个特征就能够把特征分好多类了,证明区分度多好!!),那么问题来了怎么才算区分度好的特征,所以引...
2019-11-29 09:57:18
158
原创 协调过滤入门
协调过滤入门协同过滤目前主要分为两种:UserCF(用户相似性)ItemCF(商品相似性)UserCF找到与与用户M相似的用户N用户相似度=∣M⋂N∣∣M⋃N∣或者余弦相似度=∣N(a)∣⋂∣N(b)∣∣N(a)∣∗∣N(b)∣(1.1)用户相似度={{|{M}\bigcap{N}|}\over{|{M}\bigcup{N}|}} \\或者\\余弦相似度={|N(a)| \b...
2019-11-28 20:21:47
181
转载 @Autowired注解和静态方法
错误写法:@Componentpublic class DataUtils { @Autowired private static PatViewDAO pdao; public static List<Patient> patientListUtil(String pat_id){ return pdao.findPats(pat_id); }}&nbs...
2019-09-20 11:31:07
196
原创 Python 链接Redis 集群出现的两个问题盘点
from rediscluster import RedisClusterimport redisredis_nodes_c3 = [{'host': '***', 'port': '###'}, {'host': '22312312', 'port': '09090'}]rc = RedisCluster(startup_nodes=redis_nod...
2019-09-12 16:20:48
1100
原创 Spring Service中遍历map出现了ConcurrentModificationException
手底下小朋友在测试环境写了如下的代码一个spring的service里面进行排序,但是总有异常java.util.ConcurrentModificationException,这个异常很明显就是一个变量正在被遍历的时候被修改了,出现这个问题的主要原因是什么呢?? 出现在for循环中吗??其实这个问题最主要的原因是:Spring的@Service默认是一个单例模式,所以每个请求访问的时候,访问...
2019-07-22 14:20:13
284
转载 Java传值传引用的问题
private static void sub(List<String> lists){ lists = lists.subList(0,1); } public void recall() { List<String> strings = new ArrayList<String>() {{ ...
2019-07-09 22:50:14
97
转载 如果代码已经commit想撤回
执行完commit后,想撤回commit,怎么办? (如果是master分支的话 就没办法了)git reset --soft HEAD^
2019-06-19 19:36:13
2782
原创 电商搜索——query分析
最近在接手电商方案的搜索,把一些遇到的问题记录一下,1、数据现状对于搜索系统与推荐系统来说,数据是整个系统的根基,不论多么牛逼的算法都离不开良好的底层数据。对于目前的数据,很不幸的是目前的数据不够良好,所面临的问题有1、物料不够丰富:整个商品库只有60万,(刚接手的时候还感觉挺多的 后来实际操作才发现根本不够用)2、商品属性缺少,目前我们能拿到的商品属性只有商品的标题、tag、价格信息。品...
2019-06-01 20:04:10
3145
转载 getResourceAsStream路径问题
getResourceAsStream有以下几种:Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。Class.getClassLoader.getResourceAsStr...
2019-05-23 19:55:54
794
原创 JesClient使用scroll
es 使用 scrollpackage com.xiaomi.search.s2s.service;import com.xiaomi.search.comm.es.JestClientFactory;import io.searchbox.client.JestClient;import io.searchbox.client.JestResult;import io.searchb...
2019-05-16 17:12:08
838
原创 Linux下如何grep 最后一条日志
平时查看日志的时候经常会遇到这样需求,grep一个内容,但是直接grep又会匹配太多命令行输出太多什么都看不清,这个时候使用grep与tail结合来抓取最后一条或者与head结合捕捉最开始的一条可以很好达到效果。如下:grep -A 30 "ClientProxy.getInvokeState" /home/work/log/life-search/life-search.log |tail -...
2019-05-07 16:36:33
17179
原创 Java的线程池应用
编写Java Web程序必不可少的会使用线程池,有一些工作还是交给多线程来运行才能更加节省时间,比如访问同时访问两个Http接口,然后对两个Http接口的结果进行处理,这个时候如果仅仅使用单线程来完成这些工作的话会十分的浪费时间因为需要一个一个取数据然后再处理,这个时候就要使用线程池来帮助我们节省时间了。1、首先要知道为什么使用的是线程池而不是new Thread一下首先在AlibabaJav...
2019-04-22 11:46:39
274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人