后端架构
w_qqqqq
coding out sky
展开
-
关于Elasticsearch查询按照相关性排序的问题
spring elasticsearch 查结果按照score降序输出业务简述有一批poi数据,需要根据给定地名首拼返回地点。例如给定wt 需要返回包括外滩相关的地名。数据全部放在es中,且地名已经提取了首拼并存为字段实现指定了boost查询权重,但是发现使用spring-data-elasticsearch框架查询出来的结果跟我直接将查询DSL贴到kibana的结果并不一...原创 2019-10-25 15:02:22 · 999 阅读 · 0 评论 -
@Autowired和构造函数的bean的注入问题
近期看同事用idea开发的代码,发现在使用@Autowired的时候,大多使用构造函数进行注入。以前自己在写代码的时候都是直接在变量上进行注入,也没注意过,查了些资料,发现如果直接在变量上进行注入,那么可能会造成NPE。构造函数注入的方式:public class TestController {private final TestService testService;...转载 2019-04-01 14:11:07 · 2144 阅读 · 0 评论 -
springboot整合RabbitMQ
一 RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache). 消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下: ...转载 2019-03-04 16:03:45 · 209 阅读 · 0 评论 -
Spring Boot配置SSL、Http跳转Https
准备1.SSL证书(这里是阿里云免费证书)配置1.下载阿里证书的Tomcat2.在resources下放入证书(只需要pfx文件)3.Spring Boot 配置server: port: 443ssl: key-store: classpath:ssl/1534728933823.pfx key-store-password: 1534728933823 ...原创 2019-02-22 17:34:00 · 636 阅读 · 0 评论 -
向大佬学习
从今天起,向大佬看齐原创 2019-01-22 17:32:37 · 374 阅读 · 0 评论 -
mybatis中forearch的用法
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置, open表示该语句以什么开始, separator表...转载 2018-10-17 10:08:58 · 2623 阅读 · 0 评论 -
Spring Cloud注意事项
Eureka的自我保护机制 为了防止EurekaClient可以正常运行,但与EurelaServer网络不通的情况下,EurelaServer不会将EurekaClient踢出默认情况下EurekaClient会定时向EurelaServer发送心跳包,如果90秒(默认是90秒)未发送,EurekaCl...原创 2018-09-27 17:42:45 · 269 阅读 · 0 评论 -
JAVA精髓(初级篇)
IO、集合、多线程1、ArrayList、Vector、LinkedList的存储性能和特性答,ArrayList 和Vector他们底层的实现都是一样的,都是使用数组方式存储数据, Vector中的方法由于添加了synchronized修饰,也就是加了同步锁,因此Vector是线程安全的容器,但性能上较ArrayList差,因此已经是Java中的遗留容器。LinkedList使用双向链...原创 2018-09-07 17:45:12 · 412 阅读 · 0 评论 -
JAVA精髓(进阶篇)
JVM内存结构JVM内存空间包含:方法区、java堆、java栈、本地方法栈。方法区:是各个线程共享的区域,存放类信息、常量、静态变量。java堆:也是线程共享的区域,我们的类的实例就放在这个区域,可以想象你的一个系统会产生很多实例,因此java堆的空间也是最大的。如果java堆空间不足了,程序会抛出OutOfMemoryError异常。java栈:是每个线程私有的区域,它的生命周...原创 2018-09-07 17:31:02 · 793 阅读 · 0 评论 -
JAVA精髓(基础篇)
Java基础 1、Java基本数据类型 答:基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。Java中的简单类型从概念上分为四种:实数、整数、字符、布尔值。但是有一点需要说明的是,Java里面只有八种原始类型,其列表如下:实数:double、float整数:byte、short、int、long字符:char布尔值:booleanInteger VS intpu...原创 2018-09-07 17:22:57 · 817 阅读 · 0 评论 -
Nginx反向代理、负载均衡详解
简介官网: http://nginx.org Nginx 是一个高性能 HTTP 和反向代理服务器, 也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 由 IgorSysoev 为俄罗斯访问量排第二的 rambler.ru 网站开发, 第一个开源版本 0.1.0 发布于 2004年10月4号. 源码以 BSD 许可发布.Nginx 相对于 Apache 的优点配置简单,...原创 2018-09-07 15:44:22 · 206 阅读 · 0 评论 -
JVM参数调优总结
在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标:GC的时间足够的小 GC的次数足够的少 发生Full GC(新生代和老年代)的周期足够的长 前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,...原创 2018-09-17 17:57:59 · 181 阅读 · 0 评论 -
Tomcat调优
Tomcat 优化分为系统优化,Java虚拟机调优,Tomcat本身的优化。Tomcat 如何起停./catalina.sh stop./catalina.sh start/sbin/service tomcat restart /webagme/tomcat/bin/catalina.sh start1.如何调整tomcat的占用内存A: 方法如下:1. linux 下编辑tom...原创 2018-09-04 17:28:14 · 211 阅读 · 0 评论 -
解决:Invalid character found in the request target.The valid characters are defined in RFC 7230 and RF
目录背景 原因分析 处理方法 参考背景在将tomcat升级到7.0.81版后,发现系统的有些功能不能使用了,查询日志发现是有些地址直接被tomcat认为存在不合法字符,返回HTTP 400错误响应,错入信息如下:原因分析经了解,这个问题是高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字...原创 2018-08-28 17:46:43 · 200 阅读 · 0 评论 -
JAVA精选几道面试题
精选11道Java技术面试题并有答案 1. JVM的类加载机制是什么?有哪些实现方式?类加载机制:类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构。类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提...转载 2018-08-22 11:49:34 · 132 阅读 · 0 评论 -
Nginx + Tomcat 配置负载均衡集群
一、Hello world1、前期环境准备准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章《一台机器同时启动多个tomcat》。nginx官网下载解压版nginx。创建一个简单的web项目。为了直观的区分访问的哪个tomcat,在页面写上标记8081、8082。分别部署到对应的tomcat下。如图:2、配置nginx进入nginx-1.10.1\conf路径,...原创 2018-07-04 14:15:32 · 162 阅读 · 0 评论 -
Spring Boot、Cloud、Docker学习
https://blog.csdn.net/amen_wu/article/details/80263678转载 2018-07-03 17:25:02 · 158 阅读 · 0 评论