Docker安装Elasticsearch遇到的问题
解决方式:
添加一个环境变量参数"_JAVA_OPTIONS=-XX:UseSVE=0"
完整命令:
1234567891011121314docker run -d \ --name elasticsearch \ --restart=always \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -e "_JAVA_OPTIONS=-XX:UseSVE=0" \ -v /Users/zuochenyang/codeEnv/docker/service/elasticsearch/data:/usr/share/elasticsearch/data \ -v /Users/zuochenyang/codeEnv/docker/service/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /Users/zuochenya ...
SpringBoot整合OCR功能
简介
使用Java实现图片内容的实现功能,如验证码图片的读取
所用框架:Tess4j 项目地址:https://github.com/nguyenq/tess4j
整合使用
安装下载tessdata语言包,添加语言库
tessdata.zip
引入依赖:
12345678910<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>5.14.0</version></dependency><dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.5.4</version></dependency>
整合基本使用
定 ...
Lambda表达式的方法引用
概述在使用Lambda表达式的时候,我们在方法体中所写的代码就相当于是一种解决方案:那所提供的参数,执行方法体中的代码。所以如果当时Lambda表达式的方法体中除了调用现有方法之外什么都不做,就使用其本来就已经存在的方案,这个时候我们就可以采用方法引用的书写方式。
实例方法引用语法:对象 :: 实例方法
特点:在Lambda表达式的方法体中,通过“对象”来调用指定的某个“实例方法”。
什么是实例方法?
在Java中,实例方法是与对象实例相关联的方法。换句话说,它们是定义在类中的方法,必须通过类的实例(对象)来调用。实例方法可以访问和操作对象的属性,并且可以调用其他实例方法。
要求:函数式接口中抽象方法的返回值类型和形参列表与内部通过对象调用某个实例方法的返回值类型和形参列表保持一致。
12Consumer<String> consumer = System.out::println;consumer.accept("Hello World");
1234567891011Teacher teacher = new Teacher("ande ...
useRoute与useRouter的区别
官方文档:https://router.vuejs.org/zh/api/#Functions-useRoute
useRoute():返回当前的路由地址。相当于在模板中使用 $route。
useRouter():返回路由器实例。相当于在模板中使用 $router。
useRoute( )函数useRoute( )函数用于在组件中获取当前路由的信息,返回一个包含路由信息的对象。每一个路由都有一个route对象,这是一个局部的对象,可以从中获得name、path、params、query(如下所示)等当前路由信息的静态数据。
使用案例:
1234567891011121314151617181920212223<template> <div id="app"> <template v-if="route.path.startsWith('/user')"> <NoHeaderLayouts /> </template> <template v-els ...
四个基本的函数式接口
函数式接口介绍:函数式接口是Java 接口的一种,但在接口的基础上,还需要满足:
一个函数式接口只有一个抽象方法(SAM,single abstract method);
Object 类中的 public abstract method 不会被视为单一的抽象方法;
函数式接口可以有默认方法和静态方法;
函数式接口可以用@FunctionalInterface 注解进行修饰。
函数式接口的作用:函数式接口带给我们最大的好处就是:可以使用极简的Lambda表达式实例化接口。
四个基本的函数式接口:
以上的函数式接口都在java.util.function包中,通常函数接口出现的地方都可以使用Lambda表达式
@FunctionalInterface :
一个接口只要满足只有一个抽象方法的条件,即可以当成函数式接口使用,有无@FunctionalInterface都无所谓,但是jdk定义了这个注解肯定是有原因的。
@FunctionalInterface更相当于是一种限制,凡是使用了这个注解的接口,开发者可放心大胆的使用lambda来实例化,使用了这个注解的接口只允许存在一个抽象方 ...
为什么不推荐使用Join
在阿里的Java开发规范手册中,写明“超过三个表禁止使用Join”
难以进行维护,影响代码阅读。复杂的Join查询难以阅读和维护,尤其是在多表连接中需要处理多个连接条件和筛选条件。容易出现逻辑错误,难以排查问题。
索引的设计将变得复杂。为了提高多表Join查询的性能,需要为每个表创建合适的索引,这样也就增加了索引的设计与维护的复杂性。
最主要要的原因在于其Join本身的效率就比较低。MySQL采用循环嵌套的方式来实现关联查询(用第一张表做外循环,第二张表做内循环,外循环的每一套记录跟内循环中的记录作比较,符合条件的则输出)。如果有两张表的join,复杂度最高为O(n^2)。三张表则是O(n^3)。所以当join的表越多,join的效率会呈指数级下降。
Lambda表达式的基本使用
语法进一步精简规则在原本的语法基础上,Lambda表达式已经相对来说比较精简了,但在以下的应用场景中,我们就可以对Lambda表达式的语法进行精简,场景如下:
形参类型可以省略,如果需要省略,则每个形参的类型都要省略。
如果形参列表中只存在一个形参,那么形参类型和小括号都可以省略。
如果方法体当中只有一行语句,那么方法体的大括号也可以省略。
如果方法体中只有一条return语句,那么大括号可以省略,且必须去掉return关键字。
基本使用结合更为精简的语法规则对Lambda表达式进行运用
无返回值函数式接口情况一:无返回值无参数123456789NoParameterNoReturn obj1 = new NoParameterNoReturn() { @Override public void test() { System.out.println("无参无返回值"); }};obj1.test();NoParameterNoReturn obj2 = () -> System.ou ...
Lambda表达式介绍
函数式编程思想Java从诞生之日起就一直倡导“一切皆对象”,在Java语言中面向对象(OOP)编程就是一切,但是随着Python和Scala等语言的崛起和新技术的挑战,Java也不得不做出调整以便支持更加广泛的技术要求,即Java语言不但支持OOP还支持OOF(面向函数编程)。
JDK1.8引入Lambda表达式之后,Java语言也开始支持函数式编程,但是Lambda表达式不是Java语言最早使用的,目前C++、C#、Python、Scala等语言都支持Lambda表示。
Lambda表达式是JDK1.8的一个新特性,可以取代大部分的匿名内部类,以便写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
面向对象的思想
做一件事情,找一个能解决这个事情的对象,然后调用对象的方法,最终完成事情。
函数式编程思想
只要能获得结果,谁去做的,怎么做的都不重要,重视的是结果,不重视实现过程。
JDK1.8中的Lambda表达式就是一个函数式接口的实例,这就是Lambda表达式和函数式接口的关系。也就是说,只要一个对象是函数式接口的实例,那么 ...
vue3实现省市联动表项
概述所用技术栈:vue3+ElementPlus
需求:要求在对用户信息中的籍贯信息录入时,有一个省市联动的表单可供选择
具体实现参考文档:https://www.npmjs.com/package/element-china-area-data
下载对应插件:
1npm install element-china-area-data -S
导入库:
1234567import { provinceAndCityData, pcTextArr, regionData, pcaTextArr, codeToText,} from "element-china-area-data";
vue3页面代码的实现:
1234567<el-cascader size="large" :options="pcTextArr" v-model="sd" @change="handleChange" ></el-cascader>
12 ...
通往产品世界的启迪之旅
通向产品世界的启迪之旅
读《人人都是产品经理》有感思维导图在线链接:人人都是产品经理思维导图
写在最前从入学到现在,今年是第三个年头,在接触这本《人人都是产品经理》与需求工程这门课程前,我对于软件工程这个专业的认知,停留在片面的代码Coding上,比如掌握了哪几门编程语言、能够熟练地使用多少框架、能否熟练地使用算法解题等等,认为掌握良好的开发技术和编程思想便就是这个专业的王道。现在看来,过去的想法存在着很大的偏差,代码开发仅仅只是一个完整产品项目落地之中很小的一部分。于是乎读《人人》这本书便就像是通往产品世界一趟启迪之旅,开启新世界的大门。
阅读感受与思考刚开始读,就被书本的有趣的风格所吸引,作者用讲故事的方式,通过生活中的事例来进行讲解,而不是一味的知识输送;留给了我们自己思考的空间,文笔轻松,让人读起来很舒服。
我们的生活早已不是以前简简单单的温饱问题,我们开始追求生活质量、产品已经融入方方面面,成为我们日常不可或缺的一部分。或许在未来的生活中,我们或许不会选择去成为一名产品经理,但是产品经理不仅仅是一种职业,它更是一类人,产品经理的思维方式更像是一种超越职业界限的人生态度。
书 ...






