java
文章平均质量分 57
一只小鸟儿
今天不学习,明天变废物
展开
-
手写分页(分页原理)
因为一些特殊的业务原因,我需要在分页的时候在list里面减去某些值,这样就不能使用系统自带的分页逻辑,自己写了一个记录一下。原理还是很简单的根据前台传递的页和条数,先进行查询然后在sublist取条数。原创 2023-01-31 09:32:51 · 526 阅读 · 1 评论 -
QueryWrapper中常用方法,用法大全
比较全的常用方法,基本涵盖了,自己经常用到,就留存一下。转载 2023-01-11 13:54:35 · 730 阅读 · 0 评论 -
数据库时间字段定义的是varchar怎么比较大小?
即参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值,如果两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值。比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。若a="a",b="b";若a=“abcdef”,b="b"则输出-1;若a=“ab”,b=“b”,则输出-1;若a="a",b="a"则输出0;若a="b",b="a"则输出1;转载 2023-01-09 15:41:38 · 1918 阅读 · 0 评论 -
mq自用文章
中的事务消息逻辑,但是测试过程中还是发现一些奇怪的特性,用的时候要注意点。,也就是说如果你有多个发送者组需要有不同的事务消息逻辑,那就需要定义多个。不同的组可以有不同的事务消息逻辑。自己创建消费者(原)可不用,现未经过测试,原来可用。前者是普通监听,后者是顺序监听。如果非第一次启动,那么按照上次消费的位置继续消费。注册消息监听回调这里有两种监听,拿不到,但是框架会封装成一个带。里的属性,但是都会加上一个。属性,到这里就没了。这个注解,有点奇怪。获取标签时,自定义的。消费者的组名,这个和。原创 2023-01-03 11:22:59 · 482 阅读 · 0 评论 -
Cassandra
2. 在 Cassandra 中,每一行数据记录是以 key/value 的形式存储的,其中 key 是唯一标识。不需要任何的中心节点。为每个节点分配 token,把圆环分成更多部分,让每个节点负责多个部分的数据,这样一个节点移。Gossip 算法如其名,灵感来自办公室八卦,只要一个人八卦一下,在有限的时间内所有的人都。除后,它所负责的多个 token 会托管给多个节点处理,这种思想解决了数据分布不均的问题。每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一。原创 2023-01-03 11:18:15 · 478 阅读 · 0 评论 -
什么是NIO
然后,内核会等待数据准备完成,然后将数据拷贝到用户内存,当这一切都完成之后,复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、操作之后,立刻就可以开始去做其它的事。请求是否会被阻塞,如果阻塞直到完成那么就是传统的。之后,首先它会立刻返回,所以不会对用户进程产生任。,阻塞在这两个系统调用中的某一个之上,而不是真。模型:我们可以用信号,让内核在描述符就绪时发送。区别就在于第二个步骤是否阻塞,如果实际的。,如果不阻塞,而是操作系统帮你做完。,如果不阻塞,那么就是非阻塞。原创 2023-01-03 11:14:18 · 1235 阅读 · 0 评论 -
git修改(设置)上传名字
然后也不是很熟悉使用git就拉下来代码上传了,上传人的名字设置的是root,然后我不知道是我自己设置的,还以为是同事给设置的,问了人家说是自己能改。记录一下干的傻事,由于之前的公司用的是svn,但是我电脑里面有git,还是参加工作前下载的,当时不记得怎么设置的了。3>.输入代码 git config --global user.name “需要修改成的名字”,回车。2>.输入代码 git config user.name 显示当前名字。4>.再输入步骤2的代码,可以发现以及修改成功了。转载 2023-01-03 11:12:29 · 2714 阅读 · 0 评论 -
注释//TODO的作用
我已开始并没有留意这个,我也照着书上写那里的伪代码,我发现书中的//TODO 在Android Studio中变成了高亮,而一般注释并没有这种情况,此时比较好奇就去百度了一下,发现了//TODO的作用,所以才在有了这篇博文来记录一下。其次讲一下TODO的作用,比如说当一个工程很复杂,你找不到你写到哪里了,或者你想找一个接口啊,对象等等,但是找不到,但是,但是,但是!Android Studio点击左下角有个小人后面写着TODO的摁扭,点开就会发现TODO注释了,然后点击里面的注释就会跳到所在的位置了。转载 2022-12-20 09:34:12 · 160 阅读 · 0 评论 -
JAVA 获取当前时间(年月日时分秒)
获取当前时间(年月日时分秒)获取当前时间戳 到毫秒。转载 2022-12-12 08:59:21 · 8264 阅读 · 0 评论 -
JAVA异常机制
异常处理概述使用返回值状态标识异常 在JAVA语言出现以前,传统的异常处理方式多采用返回值来标识程序出现的异常情况,这种方式虽然为程序员所熟悉,但却有多个坏处。 首先,一个API可以返回任意的返回值,而这些返回值本身并不能解释该返回值是否代表一个异常情况发生了和该异常的具体情況,需要调用API的程序自己判断并解释返回值的含义。 其次,并没有一种机制来保证异常情况一定会得到处理调用程序可以简单的忽略该返回值,需要调用API的程序员记住去检测返回值并处理异常情况。这种方式还让程序...原创 2022-11-14 14:17:26 · 200 阅读 · 0 评论 -
@RequestBody的详解和使用
后端@RequestBody注解对应的类在将HTTP的输入流(含请求体)装配到目标类(即:@RequestBody后面的类)时,会根据json字符串中的key来匹配对应实体类的属性,如果匹配一致且json中的该key对应的值符合(或可转换为),这一条我会在下面详细分析,其他的都可简单略过,但是本文末的核心逻辑代码以及几个结论一定要看!要么写value时, 必须有值,null 或""都行。的类)时,会根据json字符串中的key来匹配对应实体类的属性,如果匹配一致且json中的该key对应的值。转载 2022-09-06 12:21:58 · 13635 阅读 · 0 评论 -
Hbase
Client包含了访问Hbase的接口,另外Client还维护了对应的cache来加速Hbase的。Rowkey的概念和mysql中的主键是完全一样的,Hbase使用Rowkey来唯一的区分某一行的数。默认查询的是最新的版本,用户。ColumnFamily又叫列族,Hbase通过列族划分数据的存储,列族下面可以包含任意多的列,实。Hbase的列族不是越多越好,官方推荐的是列族最好小于或者等于3。这里的列式存储其实说的是列族存储,Hbase是根据列族来存储数据的。...原创 2022-07-29 15:48:21 · 362 阅读 · 0 评论 -
RabbitMQ
2.灵活的路由(FlexibleRouting)在消息进入队列之前,通过Exchange来路由消息的。列的可选属性组成,这些属性包括routing-key(路由键)、priority(相对于其他消息的优。面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言。拟连接,AMQP命令都是通过信道发出去的,不管是发布消息、订阅队列还是接收消息,这。消息,消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系。它是消息的容器,也是消息的终点。...原创 2022-07-29 15:47:02 · 127 阅读 · 0 评论 -
Kafka
partition中Message的id;示Message在这个partition中的偏移量,offset不是该Message在partition数据文件中的实。partition中的每条Message包含了以下三个属性offset,MessageSize,data,其。4.offset消息在日志中的位置,可以理解是消息在partition上的偏移量,也是代表该消息的。Kafka为每个分段后的数据文件建立了索引文件,文件名与数据文件的名字是一样的,只是文件扩。...原创 2022-07-29 15:46:12 · 217 阅读 · 0 评论 -
Zookeeper
协议的Java版本实现跟上面的定义有些不同,选举阶段使用的是FastLeaderElection(FLE),的Leader服务器,就会从这个Leader服务器上取出其本地日志中最大事务的ZXID,并从中读取。节点的票数,它就可以当选准leader。server每次根据自己的状态都回复自己推荐的leader的id和上一次处理事务的zxid(系。发现最新提议的步骤。目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5,按编号依次启动,它们。...原创 2022-07-29 15:45:07 · 1214 阅读 · 0 评论 -
常见的各种日志的优缺点
能工作的,必须搭配其他具体的日志实现方案,比如apache的org.apache.log4j.Logger,jdk自带。logback-core是其它模块的基础设施,其它模块基于它构建,显然,logback-core提供了一些关键的。Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、简单地说,Logback是一个Java领域的日志框架。当输出时,只有级别高过配置中规定的级别的信息才能真正的输出,这样就很方便的来配置不同情况。...原创 2023-01-03 11:21:38 · 628 阅读 · 0 评论 -
网络 7 层架构
TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。7.应用层主要是一些终端的应用,比如说FTP(各种文件下载),WEB(IE浏览),QQ之类的(你。与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这。TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般。1.物理层主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率。文段和拒绝连接请求。...原创 2022-07-29 15:42:39 · 6623 阅读 · 0 评论 -
Netty 与 RPC
TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞。相比于堆外直接内存,由于Reactor模式使用的是异步非阻塞IO,所有的IO操作都不会导致阻塞,理论上一个线程可以独。认证,一旦链路建立成功,就将链路注册到后端subReactor线程池的IO线程上,由IO线程负。客户端Channel,由于读写操作都是非阻塞的,这就可以充分提升IO线程的运行效率,避免由于。从架构层面看,一个NIO线程确实可以完成其承担的职责。...原创 2022-07-29 15:41:39 · 255 阅读 · 0 评论 -
Spring 原理
Spring启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配。3、连接点(joinpoint)被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring。设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准。横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,...原创 2022-07-29 15:39:19 · 109 阅读 · 0 评论 -
5. JAVA 基础
2.Field类Java.lang.reflec包中的类,表示类的成员变量,可以用来获取和设置类之中的属性。3.Method类Java.lang.reflec包中的类,表示类的方法,它可以用来获取类中的方法信息或。4.Constructor类Java.lang.reflec包中的类,表示类的构造方法。动态语言,是指程序在运行时可以改变其结构新的函数可以引进,已有的函数可以被删除等结。声明对象时实用的类型来决定,运行时的类型由实际赋值给对象的类型决定。...原创 2022-07-29 15:37:00 · 155 阅读 · 0 评论 -
4. JAVA 多线程并发
有返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。线程终止,那么一个新线程将代替它执行后续的任务(如果需要)。那么每次需要的时候创建,不需要的时候销。创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。...原创 2022-07-29 15:35:02 · 132 阅读 · 0 评论 -
JAVA 集合
Java的List是非常常用的数据类型。2.Integer和String对象都可以进行默认的TreeSet排序,而自定义类的对象是不可以的,ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。1.TreeSet()是使用二叉树的原理对新add()的对象按照指定的顺序排序(升序、降序),每增。的访问速度,但遍历顺序却是不确定的。对象的相等性本质是对象hashCode值(java是依据对象的内存地址计算出的此序号)判断。......原创 2022-07-29 15:27:18 · 154 阅读 · 0 评论 -
关于报错org.yaml snakeyaml parser.Parser.ParserException:while parsing a block mapping
关于报错org.yaml snakeyaml parser.Parser.ParserException:while parsing a block mapping原创 2022-06-20 17:34:37 · 297 阅读 · 1 评论 -
Mysql CASE方法条件怎么加and或or
CASE WHEN 字段一 = '是' AND 字段二 = '否' THEN 1 ELSE 0 END原创 2022-06-09 15:19:06 · 874 阅读 · 2 评论 -
定时器(@Scheduled())
简单来说就是使用@Scheduled注解用在方法上面但是要注意 方法不可以带参数否则要报错使用方式@Scheduled(cron = "0 10 0 1 * ?")//每月1号的0:10:00执行public void delProcessMatterscopy() { ...... }...原创 2022-04-19 16:57:58 · 340 阅读 · 0 评论 -
数组集合排序求最大值最小值
数组遍历求最大值最小值list集合对其中两个字段进行大小排序原创 2021-12-04 16:18:46 · 672 阅读 · 0 评论 -
重置(刷新页面)
重置function testFunc(){ window.location.reload()}原创 2021-06-24 13:58:06 · 324 阅读 · 0 评论 -
mysql计算预警时间
SELECT TO_DAYS(DATE_FORMAT(t.termination_time,'%Y-%m-%d'))-TO_DAYS(CURDATE()) as time, t.* FROM ren_contract_management t where CURDATE() BETWEEN DATE_SUB( t.termination_time, INTERVAL 3 MONTH ) AND t.term..原创 2021-06-16 09:45:58 · 200 阅读 · 0 评论 -
默认取最近值时间的数据显示
ApphwclybkBean Haiwaiyangbenkuwz=apphwclybkService.findByDATA_TIME_WZ(); ApphwclybkBean Haiwaiyangbenkusj=apphwclybkService.findByDATA_TIME_JX(); String wzsj= Haiwaiyangbenkuwz.getDATA_TIME(); String jxsl= Haiwai...原创 2021-06-07 19:14:56 · 193 阅读 · 0 评论 -
使用Oracle写xml按照日期时间范围查询
Oracle的日期时间范围查询字段为:字符串类型(char),长度为:10SELECT * FROM testdatetime t WHERE 1=1 AND t.createdate >= '2011-06-01' AND t.createdate <= '2011-07-05';SELECT * FROM testdatetime t WHERE 1=1 AND to_date(t.createdate,'yyyy-MM-dd') between to_date('2011-转载 2021-06-01 19:55:30 · 1127 阅读 · 0 评论 -
oracle中的||是什么意思
select count(case when (LIBRARY_TYPE='论文' and TO_CHAR(CREATE_TIME, 'YYYY-MM')=#{year} || '-01') then 1 else null end) A, count(case when (LIBRARY_TYPE='论文' and TO_CHAR(CREATE_TIME, 'YYYY-MM')=#{year} || '-02') then 1 else nu...原创 2021-06-01 10:22:14 · 829 阅读 · 0 评论 -
sql加入百分比
select (CASE WHEN SUM( CASE wzlb WHEN '结构类' THEN 1 END) is NULL THEN 0 ELSE SUM(CASE WHEN wzlb = '结构类' THEN 1 END) END) a, (CASE WHEN SUM(CASE wzlb WHEN '周转材料类' THEN 1 END) is NULL THEN 0 ELSE SUM(CASE WHEN wzlb = '周转材料类' THEN 1 END) END) b..原创 2021-05-26 14:16:30 · 443 阅读 · 0 评论 -
Hutool工具类(爬取页面)
Hutool官网//官网 https://hutool.cn/ // 中文文档 https://www.hutool.cn/docs/#///API文档 https://apidoc.gitee.com/dromara/hutool/注意点注意 Hutool 5.x支持JDK8+,对Android平台没有测试,不能保证所有工具类或工具方法可用。 如果你的项目使用JDK7,请使用Hutool 4.x版本功能简介一个Java基础工具类,对文件、流、加...原创 2021-05-13 17:30:27 · 8251 阅读 · 0 评论 -
oracle中表示“不等于”
oracle中表示“不等于”的有!=<>~=^=当字段为 null 时,并不会显示,这是因为 null 与其他条件不同,与 null 有关的语句为,is null 和 is not null 如果你想要查询到所以的数据,需要改为 select * from 表名 t where t.字段 != ‘xxx’ or t.字段 is null ...原创 2021-04-25 20:29:43 · 4504 阅读 · 0 评论 -
框架面试题
1...项目中,将使用Lombok框架,如果IntelliJ IDEA没有安装对应的插件,则可能错误的认为代码有误(代码可以正常执行,但IntelliJ IDEA会提示红色波浪线),则应该安装插件。安装完成后需要重启,重启后,勾选设置中的 Enable annotation processing :Lombok框架是用于简化代码编写的框架,在项目中编写实体类、VO类等类时,都会为属性添加SETTERS & GETTERS方法,重新生成 toString() ,保留无参数构造方法,生成 has原创 2021-04-20 09:05:06 · 556 阅读 · 0 评论 -
省市区联动
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>16</title> <style> select { border: 1px solid #c9c9c9; background-color: #fff; color...原创 2021-04-20 08:57:15 · 120 阅读 · 0 评论 -
java基础写一个折线图html页面(前后端关联)
xml <select id="jgEcharstList" resultType="com.inspur.zhongtie.gongchengbu.jienenghuanbao.po.Jienenghuanbao" >select COUNT(JH_TIME) SETT1,COUNT(SJ_TIME) SETT2,YUE from ZT_GCLY_JNHB_JNJP A where substr(A.NIAN, 1, 4) = #{year}GROUP.原创 2021-04-10 11:44:00 · 389 阅读 · 0 评论 -
时间类型转字符串
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); java.util.Date date=new java.util.Date(); String str=sdf.format(date); xxxx.setCREATE_TIME(str);//时间原创 2021-04-01 19:34:41 · 557 阅读 · 0 评论 -
前端有空格转码
var GYSMC = cell["GYSMC"]; var LXRJDH = cell["LXRJDH"]; var FDDBR = cell["FDDBR"]; // return "<a style='color: blue' onclick=showth('"+GYSMC+"','"+NAME+"','"+HTBH+"','"+HTJE+"','"+ID+"')>"+HTMC+"</a>"; ...原创 2021-04-01 19:31:41 · 381 阅读 · 0 评论 -
四表查询
SELECT lb.WZ_TYPE,jx.WZpl,wz.WZPL,lb.id ,bs.SHORT_NAMEFROMZT_WZB_WZINFO lb left join ZT_WZB_FGSSJY_JX JX ON lb.ID=JX.WZPL left join ZT_WZB_FGSSJY_WZ WZ ON lb.ID=WZ.WZPL left join BSP.PUB_ORGAN bs ON bs.CODE =JX.ORG_CODE ...原创 2021-03-23 16:06:42 · 200 阅读 · 0 评论