![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 57
叉烧又叉烧
这个作者很懒,什么都没留下…
展开
-
长连接和短链接的区别
长连接意味着进行一次数据传输后,不关闭连接,长期保持连通状态。如果两个应用程序之间有新的数据需要传输,则直接复用这个连接,无需再建立一个新的连接。它的优势是在多次通信中可以省去连接建立和关闭连接的开销,并且从总体上来看,进行多次数据传输的总耗时更少。缺点是需要花费额外的精力来保持这个连接一直是可用的,因为网络抖动、服务器故障等都会导致这个连接不可用,甚至是由于防火墙的原因。所以,一般我们会通过下面这几种方式来做“保活”工作,确保连接在被使用的时候是可用状态:1.利用 TCP 自身的保活(Keepaliv原创 2022-01-12 18:01:12 · 458 阅读 · 0 评论 -
java 泛型的使用方式
泛型概述:泛型的本质是参数化类型,也就是说变量的类型是一个参数,在使用时再指定为具体类型泛型是在编译时被确定常见通配符:?:表示不确定的 java 类型,即可以存N种类型;即使初始化的时候指定了类型也可以存任意类型T (type): 表示具体的一个java类型E (element) :代表Element,与 T 意义基本无差K V (key value): 分别代表java键值中的Key Value可以根据使用泛型的位置分为:泛型类,泛型接口,原创 2021-12-13 09:39:59 · 566 阅读 · 0 评论 -
JSON_CONTAINS
一、JSON_CONTAINS百度到的定义和实例============================================================================解读:参数主要有三个值,分别是json对象、值、json的具体key值(可缺省)人话:前面包含后面为真则返回1(前面包含后面!!前面包含后面!!前面包含后面!!)吐槽:有篇帖子写了是判断是否包含某个json值,让我绕了很久的圈无法理解实际使用时的返回写法:1.select * from A whe原创 2021-11-18 11:57:38 · 20156 阅读 · 0 评论 -
java 经纬度的距离计算工具包
项目需求计算个人距离门店的公里数。看网上一个是通过第三方依赖,一个是拿经纬度自己算。在此留存一下工具包public class LocationUtils { /** * 赤道半径 */ private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } /**原创 2021-11-17 17:03:58 · 1070 阅读 · 0 评论 -
java 多线程的分布式锁
分布式锁:为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。多个线程或者请求去操作对同一个资源进行操作,为了保证资源的数据正确,通过分布式锁来实现。实现:通过redis + ThreadLocl + LUA脚本来实现。流程图里面的参数可以根据自己的需求进行调整。...转载 2021-09-24 14:28:31 · 407 阅读 · 1 评论 -
JAVA8: stream中Collections.toMap()
查看源码会发现toMap()有三个方法:图方便我标记为①②③参数分别是2个,3个,4个。第一个方法示例:将一个list对象 处理成一个 map<Integer, String>Map<Integer, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName));一般情况下是没有问题的,但是当list中存在重复对象时,就有问题了,以下为①源码:publi原创 2021-09-15 18:27:41 · 2280 阅读 · 1 评论 -
IDEA启动项目:bean注册重复,缓存清理
前提:项目要求拆分项目,但不是拆分服务进行 new Module,只是根据服务对象放到不同的文件夹下,原先接口统一不动(只增不减,后期慢慢删减,避免大范围变动影响过多)。其中一个项目直接复制粘贴,启动报错:org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.xxxx.drp.member.MemberApplication]; nested ex原创 2021-09-06 15:59:02 · 1554 阅读 · 0 评论 -
concat()和append()的比较
方法解释:concat()方法:String类的concat()方法(只能用于拼接字符串,不能拼接其他类型的数据)将指定的字符串拼接到该字符串的末尾。并且字符串本身和拼接的字符串都不能为null,否则运行程序后会报空指针异常NullPointerException(编译时没有报错)。“+”:可以对字符,数字,字符串等数据类型的拼接;append()方法:需要StringBuffer类型对象,可以对Object(字符,数字,字符串等数据类型)的拼接,结果返回一个StringBuffer类型的对象。比较原创 2021-09-03 15:14:12 · 2906 阅读 · 1 评论 -
JVM垃圾收集算法(1)
JVM垃圾收集算法概述判断对象存活引用计数算法?可达性分析算法引用关系死亡标记回收方法区垃圾收集算法分代收集理论标记-清除算法标记-复制算法标记-整理算法概述垃圾收集需要完成三件事:哪些内存需要回收?什么时候回收?如何回收?判断对象存活引用计数算法?在对象中添加一个引用计数器,每当有一个地方引用,计数器加一;当引用失效时,计数器减一;任何时刻计数器为零的对象就是不可能再被使用。缺点:单纯的引用计数很难解决对象之间相互循坏引用的问题,必须配合大量额外处理才能保证正确的工作。可达性分析算原创 2021-09-01 15:03:18 · 68 阅读 · 0 评论 -
redis监控命令及退出
大多数情况下使用redis是为了缓存消息,有的时候开发阶段进行调试或者定位问题,想知道redis进行了哪些操作,必要情况下使用monitor命令排查问题,quit退出监控(要注意不要长时间使用监控)。如上图所示:输入monitor可以开启redis的监控。观察系统输出:可以看出什么时间,redis做出了什么操作。不过开启监控后,比较消耗性能,不建议长时间使用,使用完成后,使用图一中 命令:QUIT 进行退出即可。weixin:java学习库...原创 2021-07-06 10:33:50 · 1034 阅读 · 1 评论 -
多线程的实现以及线程池
实现多线程的三种方式:第一种方式:继承Thread类型创建一个继承Thread类的子类;重写Thread类中的run(),将此线程要执行的操作声明在run();创建Thread的子类的对象;调用此对象的start():①启动线程,②调用当前线程的run()方法。第二种方式:实现Runnable接口创建一个实现Runnable接口的类实现Runnable接口中的抽象方法:run():将创建的线程要执行的操作声明在此方法中创建Runnable接口实现类的对象将此对象作为参数传递到Thr原创 2021-03-17 17:32:43 · 296 阅读 · 0 评论 -
谈谈 分库 分表 怎么用
重中之重,什么是分库分表?什么情况下用到分库分表?其次为分库分表的方式?怎么用?分库分表目录分库分表的方式一、数据分表:1、垂直分表:2、水平分表二、数据分库:1、垂直分库2、水平分库三、注意点1、分库分表带来的问题及考虑1.1 分布式事务1.2 最终一致性1.3 全局表1.4 字段冗余1.5 全局主键问题1.6 雪花算法demo什么是?顾名思义,将一个库的数据分散到多个库中,把一个表的数据分到多个表中存储。什么情况下用到?当一个库被创建后,随着时间和业务量的增加,或者业务流量本来就很多的情况下,原创 2021-03-02 17:36:56 · 170 阅读 · 0 评论 -
java:阿里云号码隐私服务使用
阿里云号码隐私服务使用产品最近的需求是,客户通过短链接点过预约之后,门店店员收到意向后联系客户进行引导,同时要对双方的号码进行隐私保护(前提:入驻阿里云,获取阿里云访问密钥,开通号码隐私保护服务)官方地址:https://help.aliyun.com/product/59433.html?spm=a2c4g.11186623.6.540.342b38980LMYaw产品概念:号码隐私保护(Phone Number Protection)是一款基于基础运营商通信网络能力的互联网产品,可以帮忙使用本原创 2021-02-20 09:46:08 · 2478 阅读 · 1 评论 -
Elasticsearch API的使用
参考文献:Elasticsearch API的使用搜索管理:含java操作ElasticSearch 中boolQueryBuilder的使用elasticsearch基本操作之–使用QueryBuilders进行查询es中queryBuilders api详细-elasticsearch 中QueryBuilders的用法Elasticsearch的查询说明Maven配置 org.elasticsearch.client elasticsearch-rest-high-l原创 2021-02-20 09:40:21 · 1133 阅读 · 0 评论 -
三级联动展示省市区或标签-后端
前端要求三级联动组件返回格式如下[ { value: 'zhejiang', label: 'Zhejiang', children: [ { value: 'hangzhou', label: 'Hangzhou', children: [ { value: 'xihu', label: 'West Lake', },原创 2020-11-30 16:07:15 · 573 阅读 · 0 评论 -
java类库的简单算法
java集合框架提供了一些有用的算法。在下面的总结中,你将会了解如何使用这些算法,以及如何编写适用于集合框架的你自己的算法1、排序与混排排序:Collections类中的sort方法可以对实现了List接口的集合进行排序。sort方法假定列表实现了Comparable接口。如果想采用其他方式对列表排序,可以使用List接口的sort方法并传入一个Comparator对象。如下按工资对一个员工列表排序;//以某值进行升序staff.sort(Comparator. comparing(Employe原创 2020-11-25 09:54:32 · 192 阅读 · 0 评论