设计模式:桥接模式(构造函数传递接口的实现)

    桥接模式的主要作用就是通过将抽象部分与实现部分分离,把多种可匹配的使⽤用进⾏行行组合。也就是在A类中含有B类接口,通过构造函数传递B类的实现,这个B类就是设计的桥 。    场景说明:支付方式现在有主流的微信与支付宝支付,每种支付有相同的支付场景,实现一个支付方式与多种支付场景组合的接口;示例代码:支付场景:public interface PayScene { // 验证用户信息 void id
分类: 其他 发布时间: 04-05 10:42 阅读次数: 0

@PropertySource注解加载文件说明(关于@PropertySource是否能读取yml配置文件说明以及使用方法)

@PropertySource一般用于加载配置文件,一般情况下可以加载yml文件或是properties配置文件.话不多说直接进入正题:根据关键字搜索PropertySource.class,进入源码:加载resource到property,使用工具类PropertiesLoaderUtils.loadProperties:加载不同文件的具体实现:对于yml配置文件,读取加载到配置文件中是properties形式:所以使用@Value进行注入的时候需要注意写法:...
分类: 其他 发布时间: 04-05 10:42 阅读次数: 0

设计模式之单例模式(全局共用一个对象)

  单例模式,即每次获取的都是同一个对象,实现原理是构造方法私有化,保证本类之外不能进行new对象进行实例化,提供获取对象的静态方法,利用类名.方法名的方式获取对象;  懒汉式:    简单理解就是比较懒,需要用到对象的时候才去获取.懒汉式获取对象时可能会存在线程安全问题,可以使用synchronize关键字.public class PersonalSingle { // 私有构造方法 private Perso
分类: 其他 发布时间: 04-05 10:42 阅读次数: 0

synchroized关键字使用说明,重温卖票经典案例

使用对象锁的情况:所有的线程共用一个对象实例才会保证线程安全.使用类锁的情况:是所有线程共享的锁,所以同一时刻,只能有一个线程使用加了锁的方法或方法体,不管是不是同一个实例都只允许一个线程访问.买票问题解决方案:1.使用synchroized锁对象:1.1使用this关键字:售票类:public class SaleTicket { private static int ticketCount=100; public void saleTicket(){ while
分类: 其他 发布时间: 04-05 10:42 阅读次数: 0

【docker】创建Dockerfile并push到docker-hub

创建 dockerfileDockerfileFROM tomcat:8.0COPY index.jsp /usr/local/tomcat/webapps/ROOTEXPOSE 8080index.jsp<%out.println("Hello World, V1");%>build 并测试The docker build command processes...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

k8s常用命令-缩容扩容回滚

查看版本kubectl version查看节点kubectl get nodes部署app说明: 提供deployment名称和app镜像地址(docker镜像地址)kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080再如:run tes...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

Elasticsearch | Nested-VS-ParentJoin

本文整理自网络。parent-join 适用场景Child documents can be added, changed, or deleted without affecting either the parent or other children. This is especially useful when child documents are large in number a...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

Elasticsearch | Elasticsearch如何做到亿级数据查询毫秒级返回?

如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒。你就很懵,每个用户第一次访问都会比较...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

for循环的 i++ 和 ++i 的区别

基本所有语言都有for循环,每个语言的写法大致都相同。下面来解释一下for循环里的i++和++i有什么区别!!!前几天有看到相关的文章解释i++,和++i,其实就在for循环里,是没什么区别的,但是在其他场景,相信大家都知道,他们的区别。var i = 0;var a = i++;//这里i变成多少了? 而a又是多少呢?/*结果大家都知道a = 0;i = 1 ;*/var i...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

【NLP】之文本表示

引言我们在做模型训练的时候,不是直接把文本或者词语传给计算机让其进行计算,而是需要将单词、句子、文本转换成向量或者矩阵进行计算,而如何将文本转换成向量就是本文需要介绍的内容。介绍内容之前,大家需要先熟悉一些概念。词库:训练数据中出现的所有单词,可以使用jieba分词统计出来。混淆矩阵:混淆矩阵是数据科学、数据分析和机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

ES-script-查询7点到9点的数据

ES 版本6.2.4在使用 ES 进行统计的时候,经常会用到查询某个小时的统计数据,比如统计每个小时的数据;比如计算早晚高峰的数据。这些场景都可以使用 script 进行查询、统计。ES 语句{"query": { "bool": { "filter": [{ "range": { "datetime": { "from": "2019-10-01 00...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

oracle、mysql差异以及springboot中如何修改

oracle 迁移到 mysql1. JAVA代码修改1、修改配置2、POM文件,需要增加mysql对应的包3、主键策略修改,可以在建表的时候指定主键策略1.1 配置修改。oracle配置// oraclespring.datasource.test1.jdbc-url=jdbc:oracle:thin:@127.0.0.1:1521/orclspring.datasource...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

【NLP】文本表示之实战——计算信息熵

在上一篇文章介绍了文本表示《NLP之文本表示》https://blog.csdn.net/Prepared/article/details/94864658但是没有代码。在这篇博客中,我们在实践一下!中文分词常用模型:Jieba模型、百度的LAC模型,这里使用 Jieba 模型进行中文分词。数据集使用:人民日报1946年05月的数据。数据集地址:https://github.com/fang...
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

人人都要会编程—金融大佬问我利率预测

事情是这样子的。在一个夜深人静的晚上,我接到了某证券行业大佬的问题——关于编程。波哥,睡了吗?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T1WO9AYU-1591017221431)(08AEDC9083E94D408824918FB9894C06)]内心OS: 作为一个金融大佬,怎么会这么晚还找我问编程的问题?后来知道,原来他们公司内部组织了一个比赛——利率预测。原来是这,这还不简单嘛,不就是一个线性回归模型吗。和人工智能领域的 Hello world
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

python基础—pip指定包安装目录

pip 指定某个路径安装包场景:有的时候我们安装了annconda环境,有很多的python环境,比如py36, py37, py27。此时,我们使用pip安装包的时候,经常可能安装在一个不知道的路径,或者不是我们期望安装的路径。这就是本文要解决的问题了。方法一指定安装numpy包到固定文件夹下,比如这里“文件夹”是安装路径pip install -t 文件夹 numpy方法二设置 pip 默认安装路径找到 site.py 文件。(windows:可以通过自带的查找,或者使用 every
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

yolo各版本的对比

yolo 是现在常用的目标检测模型,大家知道他们之间的区别嘛?1 一些概念或者细节yolo v1 : 最后两层是全连接层层,之后的 yolo 版本是全卷积层。滑窗、区域选择是不同的。yolo 是用的区域选择。Iou: intersection over union 交并比,是一个非常重要的衡量指标。Iou、1-IoU 可以做为Iou = 交集 / 并集物体的中心点落在哪个格子里,就用哪个格子做预测。但预测阶段不需要使用中心点。NMS 非极大抑制 概念NMS 即 non maximum su
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

python保存数据到文件的几种方法

方法一:open函数保存#保存数据open函数with open('D:/PythonWorkSpace/TestData/pinglun.txt','w',encoding='utf-8') as f:#使用with open()新建对象f for i in comments: print(i) f.write(i+'\n')#写入数据,文件保存在上面指定的目录,加\n为了换行更方便阅读 方法二: numpy#导入包import pandas as pd
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

【数据存储】从hashMap、mysql、redis、到分布式

从hashMap/mysql/redis/到分布式1 HashMap问题:从一个大数组(10000)中,找到特定的X。通常的解答:都是循环遍历一遍,查找X,需要全量IO。优化把大数据量,分为小数据量(4个数字)的组合。组成了2500个4个小数组。分而治之,依赖索引 / 路由 / hash 。X 计算hash值。 hashcode % 2500HashMap 或者 HashTable 的原理。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XC5HoUL0-15
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

JAVA面试题之一—如何实现锁?如何实现分布式锁?

为什么需要分布式锁?答:悲观锁、乐观锁、可重入锁、共享锁和独占锁等内容,它们都属于单机锁也就是程序级别的锁,如果在分布式环境下使用就会出现锁不生效的问题,因此我们需要使用分布式锁来解决这个问题。分布式锁是控制分布式系统之间同步访问共享资源的一种方式。是为了解决分布式系统中,不同的系统或是同一个系统的不同主机共享同一个资源的问题,它通常会采用互斥来保证程序的一致性,这就是分布式锁的用途以及执行原理。分布式锁的常见实现方式有四种:基于 MySQL 的悲观锁来实现分布式锁,这种方式使用的最少,因为这种实
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0

JAVA面试题之二—如何实现接口幂等性?什么是幂等性?

幂等性说的是:如何防止接口的重复无效请求。对于一个接口而言,无论调用了多少次,最终得到的结果都是一样的。四种解决方法:前端拦截。不安全,可能被专业人士修改,跳过该过程。使用数据库实现幂等性使用 JVM 锁实现幂等性。缺点:只能引用于单机环境使用分布式锁实现幂等性。通常使用redis或者zookeeper实现分布式锁。保证分布式锁的key是业务id的唯一标识。1 悲观锁实现begin; # 1.开始事务select * from table_name where id='xxx' fo
分类: 其他 发布时间: 04-05 10:32 阅读次数: 0