
后端知识
后端知识
大名人儿
积跬步,以至千里
展开
-
Java的多态机制
一、为什么设计多态:模拟现实、代码简洁(让虚拟机完成了很多比较 判断工作)、代码维护扩展的需要上转型【People people=new Student();】:具有父类或接口类型,但指向子类或具体类的对象,调用具体子类的方法而不调用父类的放法(原因:用于代码扩充,易于维护); Equals方法比较的是对象的引用,而不是具体值; Java中的多态是针对实例方法的,不是针...原创 2018-07-20 17:22:49 · 203 阅读 · 0 评论 -
Hash冲突的解决方法
一、前言哈希函数:在元素的关键字k和元素的存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数 哈希表:有限、连续 hash:译为,使......混乱。(可理解为通过哈希函数打乱数据的存储位置) 便捷性:按关键字直接存取元素 冲突的产生:不同的关键字可能获得相同的hash地址,即 key1≠key2,但是f(key1)=f(key2)...(key, value) --------将元素value存储到地址为f(key)的单元。eg.HashMap使用的链地址法处理哈希冲突原创 2021-04-01 17:31:09 · 202 阅读 · 0 评论 -
Java面向对象基础知识点(一)
堆:存放引用数据类型的实际数据栈:存放引用数据类型数据的地址、存放基本数据类型的数据(因为栈的存取速度快,因此Java将基本数据类型从引用数据类型中分离出来,提高运行速度) 1. 对象模型的四个特点:抽象(将现实世界中的物体抽象出来)、封装(将成员变量和成员方法封装在对象中,数据尽量隐藏,设计公有方法来操作它,对象可以更改自己的数据,而其他对象不能更改它的数据)、继承(子类可使用父类非私有的...原创 2018-07-12 09:09:03 · 401 阅读 · 0 评论 -
java的stream流方法
一、流程:stream of elements -> filter -> sorted -> map -> collect二、java格式List<Integer> transactionsIds = widgets.stream() .filter(b -> b.getColor() == RED) .sorted((x,y) -> x.getWeight() - y.getWeight())原创 2020-09-15 18:47:39 · 289 阅读 · 0 评论 -
equals和==的区别
一、 存储结构 栈-------常量池------堆二、解释 equals:判断值是否相等 ==:判断是否是同一引用三、举例 String a = new String("abcd"); String b = new String("abcd"); String c = "abcd"; String d = "abcd";a == b // false(非同一对象,在堆中存储了两个对象)a.equals(b) // true(物理地址不同,值相同)原创 2020-09-15 18:52:36 · 102 阅读 · 0 评论 -
理解Android
1. Android的系统架构 1)Linux内核层:这一层为Android设备的各种硬件提供了底层的驱动 2)系统运行库层:这一层通过一些C/C++库来为Android系统提供主要的特性支持,如数据库支持、3D绘图支持、浏览器内核支持;这一层还有Android运行时库,允许开发者使用Java语言编写Android应用;运行时库中的Dalvik虚拟机(将字节码转换成机器码)...原创 2018-09-27 16:54:39 · 198 阅读 · 0 评论 -
接口回调
1. 应用场景 在处理网络请求等耗时操作时,使用接口回调,将数据返回到主线程中。2. 回调的思想 (调用方)类A的 a() 方法调用(回调方)类B的 b() 方法; 类B的 b() 方法执行完毕后,主动调用类A的 callback() 方法,将数据返回到A中。3. 例子:public interface Callback{ ...原创 2018-10-17 17:56:14 · 146 阅读 · 0 评论 -
Stream、StreamReader、Buffer
1. Context类中提供了一个openFileOutput()方法,用于将数据存储到指定文件中。 FileOutputStream out = openFileOutput("data",Context.MODE_PRIVATE);//第一个参数是文件名,文件默认路径:/data/data/<package name>/files///第二个参数是文件...原创 2018-09-26 17:44:59 · 769 阅读 · 0 评论 -
Android中的活动Activity
1. 在AndroidManifest文件中: 在注册activity时,用android:label 指定活动中标题栏的内容;给主活动指定的label 不仅会成为标题栏中的内容,还会成为启动器(launcher)中应用程序显示的名称。2.intent(用于启动活动、服务,发送广播) 显示Intent:在activity中标明了要跳转的activity ...原创 2018-09-30 10:33:25 · 275 阅读 · 0 评论 -
Android中的 Material Design
1. 为什么有 Material Design? 安卓标准的界面设计风格没有IOS美观,而且Android平台界面风格不统一。Material Design在2014年推出,解决美观与Android界面风格不统一问题。2.Toolbar代替ActionBar,更加灵活 更改application的主题: res-->values-->styl...原创 2018-10-24 17:56:44 · 295 阅读 · 0 评论 -
单例(件)模式
1.哪些地方能用到单件模式?【有些对象我们只需要一个】线程池、缓存、对话框、处理偏好设置、注册表、日志、充当打印机和显卡的驱动程序的对象。。。2.为什么不用Java静态变量?java静态变量在编译的时候就创建了;而单件则在需要的时候随时使用singleton.getInstance()来创建实例【延迟实例化】。3.定义单件模式确保一个类只有一个实例,并提供一个全局的访问点。...原创 2019-03-07 14:44:51 · 247 阅读 · 0 评论 -
浅谈装饰者模式
一、核心点1.运行时扩展 要远比 编译时继承 威力大2.将父类的功能抽象成接口,子类 extends 父类并 implements 功能接口3.类应对扩展开放,对修改关闭4.用装饰过的对象代替原有的对象5.继承有两个作用:继承行为+类型匹配6.继承是父类的功能传给子类7.组合:获得的新行为并非是继承【编译】得来,而是由组合对象得来的【运行时才获得】。二、概念 ...原创 2019-02-26 17:45:07 · 167 阅读 · 0 评论 -
策咯模式
概念: 指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户(不变的部分在原类中,变化的部分抽出来放在策咯类中)。 2.形象例子: 例如一条狗见到 A 会叫一声,见到 B 会叫两声,见到 C 会叫三声。策咯模式就是将“一声”、“两声”、“...原创 2019-02-26 16:53:44 · 179 阅读 · 0 评论 -
浅谈工厂模式
1. 什么是依赖?当你实例化一个对象时,就是在依赖它的具体类2. 依赖倒置原则:要依赖抽象,不要依赖具体不让高层组件依赖低层组件,而且不管高层或低层,都应该依赖于抽象【例如】PizzaStore是高层组件、Pizza实现是低层组件,在高层组件中不要实例化Pizza对象, 而是创建一个Pizza抽象类,高层组件依赖于这个抽象类,低层组件“Pizza实...原创 2019-03-06 16:53:31 · 112 阅读 · 0 评论 -
springboot maven构建 增加profile支持
描述: 为方便切换环境打包部署,增加profile支持。(一)pom.xml增加profile配置。(这里我们只增加了两种环境,dev与prod) <profiles> <!--application-dev.yml--> <profile> <id>dev</id> <properties> ...原创 2019-11-19 19:18:40 · 271 阅读 · 0 评论 -
windows环境本地安装Elasticsearch(5.6.0)和kibana(5.6.0)
下载文件到本地并解压:链接:https://pan.baidu.com/s/1lbULKiN2gwHqRLJRUe_c6A 提取码:jhq6 2. 安装Elasticsearch:双击此文件进行安装3. 安装Kibana:双击此文件进行安装4. 浏览器输入http://localhost:5601/可进入Kibana管理界面【步骤2中:本机已经安...原创 2019-08-26 20:29:30 · 492 阅读 · 0 评论 -
too_complex_to_determinize_exception
ElasticSearch搜索,输入errrrrrrrrrrrrrrrrrrrrr等内容会报错too_complex_to_determinize_exception报错原因是因为查询所携带的text文本过长,导致自动机模型过多,超过10000个"caused_by": { "type": "too_complex_to_determinize_exception", "reason": "too_complex_to_determinize_exc原创 2021-05-21 11:22:06 · 1837 阅读 · 1 评论