基于分布式架构的旅游平台开发日志
2020.4.3
开始写开发日志
感觉有必要将问题都整理起来,不然以后遇到还是会捉急。
开发的进程也要写清楚,这样以后总结起来也会方便很多。
完成内容:
Feign的基本使用,并将Region Service和Hotel Service
Elastic Search的搜索功能方法基础实现完成,关键词搜索和地域搜索都完成了。
最简单的请求
http://172.16.0.4:9200/_analyze?analyzer=ik_smart&pretty=true&text=Sentence
自定义分词器配置:可设置自定义分词以及停用词汇
IKAnalyzer.cfg.xml
1 | #获取所有索引库 |
1 | #nested 查询 |
1 | public static void main(String[] args){ |
重点:字节码,i++,操作数栈,运算符优先级
=运算符是最后运算的
操作数栈压入参数的顺序是=后从左到右依次压入,而四则运算何时进行并不是依次的,而是要考虑运算符优先级。
+-*/四则运算需要将变量先压入操作数栈在取出操作数栈中的数进行运算后再将临时结果压入操作数栈中,等待取出结果。
++运算符是直接对局部变量表中的变量直接操作的,不经过操作数栈。
结果输出:
1 | i = 4 |
特点
常见形式:
饿汉式:直接创建对象,不存在线程安全问题
- 直接实例化饿汉式(简洁直观)
1 | // 不考虑是否需要实例该单例 |
- 枚举式(最简洁)
1 | // 表示该类型的对象是有限的几个 |
- 静态代码块饿汉式(适合复杂实例化)
1 | public static final Singleton INSTANCE; |
懒汉式:延迟创建对象
- 线程不安全(适用于单线程)
1 | private static Singleton instance; |
- 线程安全(适用于多线程)
1 | private static Singleton instance; |
- 静态内部类形式(适用于多线程)
1 | private Singleton(){ |