- 博客(95)
- 收藏
- 关注
原创 Java如何快速将JSON转换成字符串
在工作的开展中,会遇到从外部接口中获取到了一大段Json数据的返回,想要将这个Json写入到实体类中的情况。在实际的工作开展中可以采用com.alibaba.fastjson.JSONObject.parseObject()一行代码将Json参数转换成实体类。
2023-11-15 09:52:35
561
原创 xShell常用命令
该值较高时,说明用户进程消耗的 CPU 时间比较多,比如,如果该值长期超过 50%,则需要对程序算法或代码等进行优化。该值较高时,说明 IO 等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈。如果该值持续为 0,同时 sy 是 us 的两倍,则通常说明系统则面临着 CPU 资源的短缺。load average 是对 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。-l 相同的行只输出在结果的左边(右边则只显示与左边有差异的行的内容);
2023-07-31 17:00:55
7721
原创 Vue3.0-创建Vue3.0项目
vue3.0创建项目,vue3.0常用指令,创建工程:Npm init vue@latest,安装 Element Plus:npm install element-plus --save,安装axios:npm install axios
2023-06-16 10:55:47
2672
原创 JSONObject需要引入的maven文件
需要加上jdk15才符合使用版本,此处的jdk15并不是jdk版本,而是net.sf.json-lib的一个版本,对应的jdk版本是jdk1.5以上的版本。使用JSONObject不止需要引入net.sf.json-lib,还需要引入其他maven包共同使用。同时引入这些包,才能使用JSON工具类。
2023-03-09 09:14:53
3700
转载 mybatis中<include>标签
转载自:https://blog.youkuaiyun.com/qq_30984561/article/details/90906003。include标签中还可以定义属性,sql标签内部可以使用这些自定义的属性 ,如下。在sql标签中取值使用${} 就可以通过 ${abc}取出"id"include–property:取值的正确方法:${prop}sql标签:抽取可重用的sql片段,方便后面引用;
2022-10-08 09:57:03
1722
原创 Mybatis看这一篇就够了
本文将系统的介绍Mybatis,从Mybatis是什么,到如何使用Mybatis,再到Mybatis的底层实现原理,最后到Mybatis的常见面试题都会介绍到,希望能够为初学Mybatis的伙伴们提供到一点点的帮助。Mybatis是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性ORM是什么?ORM:Object Relation Mapping,对象关系映射。
2022-09-27 17:40:29
1908
原创 MySQL查询某字段在哪些表中
需要使用的的表:INFORMATION_SCHEMA.COLUMNS。INFORMATION_SCHEMA.COLUMNS表中常用字段。
2022-08-15 17:55:27
1374
原创 排序算法:希尔排序
希尔排序是插入排序的一种是对直接插入排序的一个优化,也称缩小增量排序。希尔排序是基于直接插入排序的以下两点性质而提出的改进方法:1、插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。2、插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。...
2022-08-04 18:05:06
359
原创 SpringBoot连接Kafka与ElasticSearch实现日志管理系统
ElasticSearch是一个分布式搜索和分析引擎,通常用于对分布式环境下的日志进行分析。而Kafka是一个消息队列,可以起到对消息进行缓冲的作用。两者一个用于处理日志信息,一个用于环境数据压力,结合起来就是一个基于大数据环境下的日志分析程序。那么两者如何结合使用呢?在本文中的使用方式是采用转换字符串格式的JSON文件,Kafka的生产者传输字符串格式的JSON文件,Kafka的消费者将JSON文件存入ElasticSearch中,实现了生产和消费的过程。...
2022-08-01 08:58:38
1423
1
原创 如何给Java配置一个灵活的开关
什么是开关呢?开关就是一个可以让你的程序灵活配置某一功能是否启用的一个条件,配置了开关就可以通过改变一个参数的形式来决定某段程序是否启动。为什么要配置一个开关呢?不同开发者开发出的某些代码不兼容的情况。某段代码在交付后出现了未考虑到的bug不确定该功能是否被需求方采用在遇到这些情况时,我们可以采用开关的方式,随时方便关闭一些功能模块。...
2022-07-26 16:37:12
2944
原创 Java中的实体类(VO、PO、DO、DTO、BO、QO、DAO、POJO)
最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。主要应用场景前端页面接收的值比POJO对象中的值多,或者需要接收的值来自各个实体类的参数,此时传递给前端页面或从前端页面接收值很难采用数据库对应的实体类进行封装,采用VO单独封装会大大提高效率。应用场景数据库实体类。...
2022-07-26 10:26:19
5049
原创 Kafka生产者
Kafka的生产者是向Kafka集群发送消息的部分,有很强的自主性,可以自主定义何时发送消息,发送怎样的消息。但是发送消息无法发送集合列表,只能以key,value的形式发送消息,在设置消息发送的模式时可以参考value值为json格式的内容,可能存储更大量的参数值。......
2022-07-21 11:39:40
465
原创 Kafka消费者
一、消费者详解(一)消费方式(二)分区分配策略1、RoundRobin2、Range二、客户端代码方式实现消费者(一)实现过程(二)代码实现(三)代码解析1、订阅主题2、订阅分区3、取消订阅三、拦截器...
2022-07-21 00:10:39
527
原创 如何获取Kafka中的全部主题
想要获取Kafka的全部主题,首先要连接Kafka,连接Kafka有多种方式,目前最常用的就是采用AdminClient的客户端对象连接Kafka集群。再根据AdminClient对象获取listTopics,得到主题列表,通过get到具体的name列表,打印出来的就是Kafka集群中的全部主题名。在通过AdminClient连接到Kafka集群后,得到了AdminClient对象。......
2022-07-19 23:27:44
2557
原创 Kafka的ack机制
Kafka的ACK机制,指的是producer的消息发送确认机制,这直接影响到Kafka集群的吞吐量和消息可靠性。而吞吐量和可靠性就像硬币的两面,两者不可兼得,只能平衡。Kafka的ACK机制是针对producer的。保证消息的吞吐量就是producer只负责发数据,不需要得知消息是否被集群接收,这样就会有大量的数据发送到Kafka的集群中,保证了Kafka集群的吞吐量。保证消息的可靠性就是发送消息必须保证消息存储到了集群中,producer才能发送下一个消息。...
2022-07-18 10:37:59
4391
原创 ElasticSearch的常用命令操作
本文采用的ElasticSearch和kibana的版本为7.17.3。在ElasticSearch的操作中:搜索Dev Tools 进入到命令栏,即可对Elastic Search进行操作。green 表示健康, yellow 表示亚健康, red 表示有问题。三、ElasticSearch的增删查改操作1、创建数据库创建game库、consoleGame表、向id为1添加数据PUT对应的修改内容为全局修改,是新的内容直接覆盖了旧的内容,如果要保持键的内容及数量不变,需要与旧的数据一
2022-07-13 17:46:06
5289
原创 初识ElasticSearch
是分布式搜索和分析引擎。它具有分析日志的功能,通常与Logstach和Kibana联合使用。ElasticSearch将多台机器中出现的日志信息进行了集中分析,分析后对数据进行了展示,在Kibana中可以直接看到日志情况,再接入一些实时计算模块,可以做实时报警功能。ElasticSearch核心功能是反向索引功能,根据其反向所以可以查询到关键的日志信息。Logstach 具有搜集数据的功能,是日志收集系统。Kibana是数据可视化平台,可以用图表的方式来展示数据。(1)常见的网页中都会有一个搜索框,可以用来
2022-07-08 17:55:32
850
原创 Kafka的基础架构
kafka传统定义:kafka是一个分布式的基于 发布/订阅模式 的 消息队列(Message Queue),主要应用于大数据实时处理领域。Kafka最新定义:Kafka是一个开源的分布式事件流平台,用于高性能数据管道、流分析、数据集成和关键任务应用。消息队列是作为一个单独的中间件产品存在的,独立部署,当有大量数据集中访问服务器时,服务器无法同时受理,此时消息队列作为一个中间产品,进行一个负载,给这些消息排队,然后服务器再获取能够处理的消息进行处理,大大减轻了服务器的压力。传统的消息队列的主要应用场景包括:
2022-07-05 09:11:59
469
原创 PostgreSQL的约束
PostgreSQL在MySQL的基础上多了CHECK约束和EXCLUSION 约束。CHECK 约束保证列中的所有值满足某一条件,即对输入一条记录要进行检查。如果条件值为 false,则记录违反了约束,且不能输入到表。例如:学生表中,设置age字段,要求age必须大于0.设置表约束,要求电话号与学号相同。二、排他约束(EXCLUSION 约束)EXCLUSION 约束确保如果使用指定的运算符在指定列或表达式上比较任意两行,至少其中一个运算符比较将返回 false 或 null。通过插入语句确认排
2022-06-29 22:54:38
1502
1
原创 PostgreSQL常用指令
操作PostgreSQL的命令主要包含操作命令,转换命令,查看命令等dbname :数据库名description : 关于新创建的数据库相关的说明options:参数使用 查看一家存在的数据库信息使用 来进入数据库。使用 命令来删除数据库。dbname:要删除的数据库名。options:参数可选项。使用 命令来查看表格是否创建成功使用 查看表格信息。会展示表的所有字段信息。使用 列举数据库中表的信息。使用指定参数登录:使用 退出psql上述命令仅仅是在操作系统或者命令行的情况下对post
2022-06-29 15:43:06
4449
原创 PostgreSQL常用数据类型
money 类型存储带有固定小数精度的货币金额。numeric、int 和 bigint类型的值可以转换为 money , 浮点数处理货币类型可能存在舍入错误。注意:bigint的范围为-2^63 ~ 2^63 - 1其中:2^63 = 92233720368547758082^63 - 1 = 9223372036854775807所以货币类型就是将整型的后两位转换成了小数点后两位,与Java中的高精度计数原理相同。JSON 数据类型可以用来存储JSON数据,JSON数据类型更有利于检查每个存储的
2022-06-29 11:12:12
4129
原创 线程安全的集合
线程安全的集合一、常见集合中的线程安全集合(一)VectorHashtable二、使用Collections包装成线程安全三、concurrent包下的线程安全的集合(一)CopyOnWriteArrayList(二)CopyOnWriteArraySet一、常见集合中的线程安全集合(一)VectorVector是常用的Collection集合中的线程安全的集合,其实现线程安全的原理是为其所有需要保证线程安全的方法都添加了synchronized关键字,锁住了整个对象。使用锁的种类:互斥锁源码展示
2022-05-03 11:42:18
14790
2
原创 redis持久化详解
redis持久化redis持久化redis持久化一、什么是redis持久化二、redis持久化的机制1、RDB(快照)(1)生成快照的方式:(2)优缺点2、AOF(追加日志文件)(1)开启AOF持久化(2)设置日志追加频率(3)AOF重写(4)优缺点一、什么是redis持久化redis是基于内存的数据库。优点是cpu读取内存速度快,一秒钟可以进行数十万次,可以直接和cpu速度相近,读取极快。缺点是基于内存,存在断电数据丢失的情况。为了防止其数据断电丢失,就需要将数据存入硬盘中,这样在断电后也可以
2022-05-01 16:42:57
8147
原创 2014年第五届蓝桥杯Java B组真题
蓝桥杯Java B组2014年真题武功秘籍 切面条 猜字母 大衍数列 圆周率 奇怪的分式 扑克序列 分糖果 地宫取宝
2022-04-01 11:16:02
480
原创 Java创建对象的五种方式
Java创建对象的五种方式new 关键字反射()Constructor.newInstance克隆(Clone方法)反序列化动态代理1、new关键字通过new关键字来实例化对象是最简单的创建对象的方式,该方式可以调用任意的构造器来创建实例。public class Main { public static void main(String[] args) { City city= new City(); }}2、Class.newInstanc
2022-03-27 17:01:12
2680
原创 Lamda表达式
Lamda表达式学习Lamda表达式的关键是:理解Functional Interface (函数式接口)函数式接口定义:任何接口,如果它只包含唯一一个抽象方法,那么它就是一个函数式接口。对于函数式接口,我们可以通过Lamda表达式来创建该接口的对象。Lamda表达式定义:Lamda表达式是一个匿名函数,它是基于数学中的λ演算得名的,是一个匿名函数,即没有函数名的函数。只有函数式接口才能通过Lamda表达式来创建接口。作用: ①避免匿名内部类定义过多 ②让代码看起来很简洁 ③去掉没有意
2022-02-23 20:36:18
354
原创 算法训练 蓝桥杯 拿金币
算法训练 蓝桥杯 拿金币有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。
2021-12-28 19:45:26
483
原创 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.
错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Address already in use: JVM_Bind遇到这样的错误,有可能是两种情况:第一种:原本打了一个tomcat,导致tomcat端口被占用,这时要关闭原本启用的tomcat。第二种:其他项目占用了tomcat端口号(1099)通过命令netsta
2021-09-13 08:03:25
2720
原创 C语言关键字
C语言关键字auto:声明自动变量,缺省时编译器一般默认为auto;最宽宏大量的关键字int:声明整型变量double:声明双精度变量long:声明长整型变量char:声明字符变量单纯的char类型应该用于字符值的存储使用,唯一允许的操作就是赋值和相同运算符(=,==,!=),signed char和unsigned char型变量只能用于数值的存储与使用。signed char 范围:-128 ~ 127unsigned char 范围: 0 ~ 255flo
2021-07-15 20:53:20
163
1
原创 面向过程和面向对象的区别
面向过程和面向对象的区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。拿将大象放进冰箱中需要的步骤来举例:面向过程:将大象放进冰箱需要打开冰箱门,把大象放进冰箱里,关上冰箱门。面向对象:设置对象:人、冰箱和大象人的行为有三种:开门、关门和放入大象冰箱的行为与人的行为相对应:开门和关门大象的属性:所在位置
2021-07-15 20:40:30
323
原创 设计模式的六大设计原则
设计模式的六大设计原则1、开闭原则概念:软件实体应当对扩展开放,对修改关闭(Software entities should be open for extension,but closed for modification),即:一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。软件实体:①项目中划分出的模块;②类与接口;③方法可以通过创建子类的方式,重写原有的需要修改的方法,该子类本质就是创建一个扩展来扩展原有的功能,重写后可以通过调用重写后的方法来实现新增功能的使用。
2021-04-04 10:37:29
246
原创 接口隔离原则和单一职责原则区别
接口隔离原则和单一职责原则区别单一职责原则是备受争议的原则,根据不同的业务逻辑,它会将系统功能模块划分成不同种类,产生多样的接口,同时每个接口尽量只包含一个功能(方法)。而产生争议的原因就是这个业务逻辑的概念太过于模糊,同时它与接口隔离原则又似乎有些冲突。接口隔离原则,是指一个类对另一个类的依赖应该建立在最小的接口上。通过定义我们可以得知,单一职责原则注重的是职责的划分,而接口隔离原则注重的是类对接口的依赖的隔离。两个定义站在的角度是不同的,就像不同的两个对象,站在的角度不同,所划分的角度就有所不同
2021-04-04 02:06:45
2755
原创 静态代码块,构造方法执行执行顺序
静态代码块,构造方法执行执行顺序Java是一门面向对象的语言,都是通过创建类,并将类创建成对象来进行执行的。在Java语言中,要先加载类,然后才能创建对象,所以执行时,是先加载了类的信息后再对对象进行操作。构造方法是创建对象时执行的方法,通常用于设置对象的变量值或操作等。静态代码块是类中的代码,通常是在第一次加载类时执行,而创建对象前就要先加载类的信息,所以静态代码块是先于构造代码方法执行的。...
2021-03-31 09:10:55
177
原创 JSON解析
JSON解析JSON的解析是通过使用外部API来实现的,常用的外部API有两种,一种是有Google公司推出的Gson,另一个是阿里巴巴公司推出的FastJson,来进行JSON字符串与对象的互相转换.因为是采用外部类库进行解析,所以不管采用哪种外部API,在解析时第一步要做的就是引入JAR包.如何引入JAR包,可以见以下两个链接:IDEA如何导入jar包Eclipse如何导入jar包Gson对JSON进行解析通过Gson对JSON进行解析,第一步要做的就是创建Gson对象,然后再开始进行转换
2021-03-23 10:01:22
127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人