
java
文章平均质量分 65
Wis57
这个作者很懒,什么都没留下…
展开
-
RocketMQ 为何性能高
*消费时首先获取 MessageQueue 对应的 objectLock,保证当前进程内只有一个线程在处理对应的的 MessageQueue, 从 ProcessQueue 的 msgTreeMap 中按 offset 从低到高的顺序取消息,从而保证了消息的顺序性。消息属性长度未超限;**Broker:负责接收消息的生产和消费请求,并进行消息的持久化和消息的读取。**所有的消息写入转为顺序写(相比于 Kafka,RocketMQ 即使对于 1w+ 以上的 Topic 也能够应付自如)**读写文件分离。原创 2023-07-14 09:30:48 · 985 阅读 · 0 评论 -
设计模式--工厂模式
定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决接口选择的问题。我们明确地计划不同条件下创建不同实例时。让其子类实现工厂接口,返回的也是一个抽象的产品。创建过程在其子类执行。1、您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。2、Hibernate 换数据库只需换方言和驱动就可以。1、一个调用者想创建一个对象,只要知道其名称就可以了。2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。原创 2023-03-29 15:00:19 · 235 阅读 · 0 评论 -
设计模式简介
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素)的书,该书首次提到了软件开发中设计模式的概念。四位作者合称GOF(四人帮,全拼 Gang of Four)。他们所提出的设计模式主要是基于以下的面向对象设计原则。原创 2023-03-29 14:58:11 · 404 阅读 · 0 评论 -
Java 对象和类
Java作为一种面向对象语言。本节我们重点研究对象和类的概念。下图中为,而具体的每个人为该类的下图中为,而具体的每辆车为该类的,对象包含了汽车的颜色、品牌、名称等。原创 2023-03-28 16:06:15 · 256 阅读 · 0 评论 -
Java 基础语法
一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。原创 2023-03-28 16:03:43 · 377 阅读 · 0 评论 -
Docker 安装 Tomcat
查找上的 Tomcat 镜像:可以通过 Sort by 查看其他版本的 tomcat,默认是最新版本。此外,我们还可以在控制台使用等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 tomcat 的镜像。原创 2023-03-24 16:25:24 · 1078 阅读 · 1 评论 -
Mysql排序后分页 分页数据有重复
MySQL 使用 limit 进行分页时,可能会出现重复数据,通过加入 order by 子句可以解决,但是需要注意的是,如果排序字段有相同值的情况下,由于排序字段数据重复,可能会导致每次查询排序后结果顺序不同,分页还是会出现重复数据,这时可以加入第二个排序字段,提高排序的唯一性,最好保证排序的字段在表中的值是唯一的,这样就可以少写一个排序字段,增加查询效率,因为 order by 后面有多个排序字段时,无法用到索引。原创 2023-03-26 09:30:00 · 1395 阅读 · 0 评论 -
Nacos :SpringCloud项目中接入Nacos作为配置中心
通过上面的测试,可见Nacos做配置中心,在SpringCloud项目中,也可以做到无缝衔接,切换到Nacos可以说知识修改配置的问题,成本也很低项目的其他配置不变,只需要指定配置中心地址,同时将配置文件外部管理。**本文源码**原创 2023-03-25 10:30:00 · 1392 阅读 · 0 评论 -
Stream流的常用方法
代码中使用(key1,key2)->key2表达式可以解决此类问题,如果出现重复的key就使用key2覆盖前面的key1,也可以定义成(key1,key2)->key1,保留key1,根据自己的业务场景来调整。还拿上面的userList,比如我要筛选出userList中name不为空的user。本质是将一个数组转成list,数组的大小是固定的,所以此list不能添加元素,与allMatch相反,判断条件里的元素,所有的都不是,返回true。allMatch:判断条件里的元素,所有的都是,返回true;原创 2023-03-18 09:30:00 · 604 阅读 · 0 评论 -
Java 连接使用 时序数据库 TimescaleDB
您需要这些来组成一个连接字符串,供 JDBC 用来连接到您的 TimescaleDB 实例。这是一个典型的模式,您可以使用它来将一些数据插入到表中。在下面的示例中,将传感器列表中的关系数据插入到名为 的关系表中。如果您使用的是较旧的 JDK 版本,请使用旧的编码技术。首先,编写一个字符串,其中包含您将用于创建关系表的 SQL 状态。在此示例中,我们创建一个名为 的表,其中。中,与数据交互的主要点是超表,即跨所有空间和时间间隔的单个连续表的抽象,因此可以通过标准 SQL 查询它。原创 2023-03-10 17:57:20 · 1942 阅读 · 0 评论 -
各种搜索引擎及其使用技巧 效率翻倍
对集合数据的统计,是开发中常用的功能,掌握好Java Stream提供的方法,避免自己写代码统计,可以提高工作效率。原创 2023-03-11 09:00:00 · 1834 阅读 · 0 评论 -
java 字典
Map描述的是一种映射关系,一个 key 对应一个 value,可以添加,删除,修改和获取 key/value,util 提供了多种TreeMapHashtableMapisEmptysizegetkeySetvaluesentrySetputputAllrepalceAllcomputeFounctionmerge。原创 2023-03-03 17:18:06 · 1790 阅读 · 0 评论 -
SQL 将查询结果插入到另一张表中
请注意以上两表的字段必须一致(位置一致,类型一致),否则会出现数据转换错误。原创 2023-03-04 10:00:00 · 13564 阅读 · 0 评论 -
Sql group by 分组取时间最新的一条数据
1.取时间最新的记录 不分组有重复(多条CreateTime一样的都是最新记录)3.如果Id是uuid类型无法使用max(id)的解决办法(使用开窗函数)2.分组后取时间最新的记录。原创 2023-02-24 15:20:37 · 13169 阅读 · 1 评论 -
java通过反射获取到list泛型的类型
如果超类是参数化类型,则返回的 Type 对象必须准确反映源代码中所使用的实际类型参数。如果以前未曾创建表示超类的参数化类型,则创建这个类型。返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type。如果此 Class 表示 Object 类、接口、基本类型或 void,则返回 null。一、getSuperclass 返回直接继承的父类(由于编译擦除,没有显示泛型参数)如果此对象表示一个数组类,则返回表示 Object 类的 Class 对象。原创 2023-02-23 17:27:28 · 2942 阅读 · 0 评论 -
java中 List进行自定义顺序排序
打个比方,现在我有一个SortStudent类,需要对它的年龄降序排序,再对他的省份进行自定义的排序,要求按照:“安徽”, “北京”, “上海”, “深圳”, "广州"的顺序排列,如何实现呢?直接上代码,很简单,关键地方有注释,应该是一目了然的。可以看到,结果达到了我们想要的效果。对List进行自定义顺序排序。原创 2023-02-23 16:51:12 · 1100 阅读 · 0 评论 -
SpringBoot jar 可执行原理是什么?
layout我们可以将之翻译为文件布局,或者目录布局,代码一看清晰明了,同时我们需要关注,也是下一个重点关注对象org.springframework.boot.loader.JarLauncher,从名字推断,这很可能是返回可执行jar文件的启动类。其二,如果在这个机制下,由于fat jar中依赖的各个第三方jar文件,并不在程序自己classpath下,也就是说,如果我们采用双亲委派机制的话,根本获取不到我们所依赖的jar包,因此我们需要修改双亲委派机制的查找class的方法,自定义类加载机制。原创 2023-02-21 14:58:00 · 419 阅读 · 0 评论 -
spring bean 的生命周期
实例化和字段赋值一般都很快,但是一些重型的bean被IOC容器创建时,需要调用远程服务或者执行耗时的操作,这些操作往往在init方法里实现。统计bean初始化耗时可以发现那些bean影响了系统的启动效率。业务方的bean可以推动业务优化,自己的bean也可以想方法优化性能。初始化(initialize), 执行bean配置里的init方法或者。接口仅仅提供两个方法,用在在初始化bean的时候进行定制开发。观察执行初始化方法的逻辑。销毁(destruct)的bean,逐个执行一遍。逻辑依然,只是执行的是。原创 2023-02-21 14:55:42 · 274 阅读 · 0 评论 -
精华!Docker 常用命令大全
本文包括容器生命周期管理命令、容器操作命令、容器rootfs命令、镜像仓库命令、本地镜像管理命令和基础版本信息命令。原创 2023-02-19 21:21:58 · 438 阅读 · 0 评论 -
java判断字符串是否为数字的几种方式
通过StringUilts工具包进行判断:org.apache.commons.lang3.StringUtils提供了丰富的字符串解析的工具包,其中isNumeric(String Str)就是提供解析是否为数字类型的方法,具体如何操作,请看下面案例:该方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false;不难发现他是通过循环判断每一个字符,如果有一个字符不是数字,那么就返回false。原创 2023-02-17 10:44:54 · 5012 阅读 · 0 评论 -
Java各种时间转换
获取当前时间毫秒数(System获取、Date获取、Calendar获取、Instant获取)输出:2021-04-12T16:33:18.334Z。输出:2021-04-12T16:37:25.244。获取当前年月(Calendar类型),月份自动填0。输出:2021-04-12 17:06:33。输出:2021-04-12 16:55:59。输出:2021-04-12 16:54:09。输出:2021-04-12 16:54:09。输出:2021-04-12 17:01:33。原创 2023-02-16 15:34:18 · 652 阅读 · 0 评论 -
面试题 网络和子网掩码 网络分配
现有三个地址 和掩码 请分别说出其可分配的 子网数、主机数、有效子网、有效主机ip范围、广播地址: - 网络地址192.168.10.0;子网掩码255.255.255.192(/26) - 网络地址:172.16.0.0;子网掩码255.255.192.0(/18) - 网络地址:172.16.0.0;子网掩码255.255.255.224(/27)原创 2023-02-10 09:15:00 · 898 阅读 · 0 评论 -
什么工具能自动生成SQL 这么牛
本以为这种 ‘必须要用一句 SQL’ 来实现 的奇葩定制化需求,不可能有轮子,但是看到这个用js编写的开源项目, 有着2.9K star 心里好受了些,毕竟有近3000个怨种和我一样被产品折磨,哈哈哈。需求受限于业务,由于业务非常复杂,且数据量极大,所以有了这个需要上千行SQL才能解决的业务。原创 2023-02-05 21:48:35 · 3296 阅读 · 1 评论 -
linux获取字符串最后几位,Shell截取字符串的8种方法
Linux 的字符串截取很有用。有八种方法。假设有变量 var=http://www.aaa.com/123.htm.原创 2023-01-17 17:47:57 · 5724 阅读 · 0 评论 -
Java中list里面存放map,根据map中的某一个字段进行排序
Java中list里面存放map,根据map中的某一个字段进行排序。原创 2023-01-17 17:45:46 · 1792 阅读 · 0 评论 -
java中List和Array相互转换
List 提供了toArray的接口,所以可以直接调用转为object型数组上述方法存在强制转换时会抛异常,下面此种方式更推荐:可以指定类型。原创 2023-01-16 15:18:14 · 5764 阅读 · 0 评论 -
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。
你可以假设 k 总是有效的,在输入数组不为空的情况下,1 ≤ k ≤ 输入数组的大小。输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3。给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。输出: [3,3,5,5,6,7]滑动窗口的位置 最大值。原创 2023-01-15 23:08:52 · 288 阅读 · 0 评论 -
Lucene
Elastic stack(基于7.0.0官方文档)原创 2023-01-13 23:23:51 · 185 阅读 · 0 评论 -
Java时间格式字符串与Date的相互转化
【2】:Java Review (二十一、基础类库----日期、时间类)【1】:Java将字符串格式时间转化成Date格式。【3】:java8中文版-在线API。原创 2023-01-13 10:02:40 · 2946 阅读 · 0 评论 -
Lucene
Elastic stack(基于7.0.0官方文档)原创 2023-01-12 22:42:11 · 567 阅读 · 0 评论 -
gitlab配置文件 gitlab.rb
报错:could not connect to server: No such file or directory。找不到文件 /var/opt/gitlab/postgresql/.s.PGSQL.5432。gitlab恢复需要删除数据库里的内容,貌似用的是PostgreSQL。gitlab配置文件 gitlab.rb。原创 2023-01-12 22:40:09 · 629 阅读 · 0 评论 -
cas+volatile 是juc包的基石
cas+volatile 是juc包的基石。原创 2023-01-12 22:38:46 · 84 阅读 · 0 评论