
Java
文章平均质量分 73
@航空母舰
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java 带权重轮询算法
【代码】java 带权重轮询算法。原创 2024-03-18 11:44:50 · 552 阅读 · 0 评论 -
RedisTemplate出现\xac\xed\x00\x05t\x00\x0f前缀解决
出现这种乱码前缀的原因是没有进行序列化,因此导致在传输过程出现乱码问题,存到数据库,发现 key,hash key/value 都有 \xAC\xED\x00\x05t\x00 前缀。。RedisTemplate类中默认是没有设置序列化的。原创 2023-09-25 10:31:30 · 1908 阅读 · 0 评论 -
Java Excel的数据导入导出
导入数据时,程序解析和读取数据用,必须要!原创 2023-02-17 10:41:14 · 4109 阅读 · 0 评论 -
Java Servlet生成html页面
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。该Servlet实现如下功能:当用户通过浏览器访问该Servlet时,该Servlet向客户端浏览器返回一个HTML页面。原创 2022-09-09 14:59:28 · 1737 阅读 · 0 评论 -
Java8 Optional 详细用法
创建一个空的Optional实例创建一个Optional实例,当t为null时抛出异常创建一个Optional实例,但当t为null时不会抛出异常,而是返回一个空的实例。原创 2022-08-02 09:42:02 · 1124 阅读 · 0 评论 -
SPRING BOOT 动态定时任务
动态定时任务原创 2022-06-14 14:38:26 · 11918 阅读 · 7 评论 -
Java中 单引号 数字判断相等 StringBuilder
区别1:java中的单引号表示字符,java中的双引号是字符串。区别2:单引号引的数据一般是char类型的;双引号引的数据 是String类型的。区别3:java中单引号里面只能放一个字母或数字或符号;java中的双引号里面是0到多个字符构成。所以字符可以直接转换成字符串。字符串需要使用charAt(n) 来获取第几个字符。char定义时用单引号,只能有一个字母,数字。char c='c';而String用双引号,可以是一个,也可能是多个字母,汉字等。就是所谓的字符串。String s="ads原创 2022-04-24 18:05:13 · 1688 阅读 · 0 评论 -
Java的socket实例
package net.test.com.common.util;import lombok.extern.slf4j.Slf4j;import net.icsoc.ark.common.exception.domain.BaseException;import java.io.*;import java.net.Socket;@Slf4jpublic class SocketClient { /** * 获取socket连接 * * @param.原创 2022-03-15 10:15:41 · 854 阅读 · 0 评论 -
mybatis 标签
当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失,因为添加了 “where 1=1 ”的过滤条件之后,数据库系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(即全表扫描) 来比较此行是否满足过滤条件,当表中的数据量较大时查询速度会非常慢;此外,还会存在SQL 注入的风险。where标签方式<select id="findActiveBlogLike" resultType="Blog"> SELE原创 2022-03-11 17:54:18 · 2692 阅读 · 0 评论 -
JAVA动态(可变)参数
java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。在之前我们编写的方法中,形参的个数都是固定不变的,有的时候,我们需要传递多个参数,按照传统的方法,我们需要要编写多个方法,这样会显得很麻烦,在JAVA中,有一套机制可以实现这样的功能,即动态(可变)参数。我们需要在形参类型后面加上...来表明该形参为动态参数,且该参数必须放在形参列表的最后一个。废话不多说,直接上代码:/** * 动态参数示例,我们可以把动态参数当作数组处理 */pub原创 2021-04-30 10:32:27 · 1388 阅读 · 0 评论 -
java通过反射获取类名、属性名称
getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。import javax.persistence.Column;import javax.persistence.Id;import javax.persistence.Table;import java.lang.reflect.Field;impor.原创 2021-04-28 16:35:47 · 6164 阅读 · 0 评论 -
JAVA entity、vo、dto简单理解
.概念VO(View Object):视图对象,用于页面展示层,它的作用是把某个指定页面(或组件)的数据封装起来,传输到前端页面上。DTO(Data Transfer Object):数据传输对象,主要用于展示层与服务层之间的数据传输。是一种设计模式之间传输数据的软件应用系统,数据传输目标往往是数据访问对象从数据库中检索数据数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具任何行为除了存储和检索的数据(访问和存取器)简而言之,就是接口之间传递的数据封装表里面有十几个字段:id,n原创 2021-04-22 23:37:00 · 3122 阅读 · 0 评论 -
Java 枚举enum
enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性。在Java中,被enum关键字修饰的类型就是枚举类型。形式如下:enum Color { RED, GREEN, BLUE }如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。以 Color 枚举类型举例,它的枚举常量依次为RED:0,GREEN:1,BLUE:2。枚举的好处:可以将常量组织起来,统一进行管理。枚举的典型应用场景:错误码、状态机等。枚举类型的本质尽管enum...原创 2021-04-22 22:52:41 · 441 阅读 · 0 评论 -
Java字符串
Java数组转为以逗号分隔的字符串package net.test.common.util;import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;import java.util.List;public class SqlUtil { /** * 将数组转换成以逗号分隔的字符串,拼成in格式 * * @param strList 需要转换的数组 *原创 2021-04-01 14:13:49 · 5051 阅读 · 1 评论 -
Java 中文<=>Unicode编码
asdfaspackage net.test.common.util;import org.apache.commons.lang3.StringUtils;public class UnicodeUtil { /* * 中文转unicode编码 */ public static String gbEncoding(final String gbString) { if (StringUtils.isBlank(gbString)) {原创 2021-04-01 13:52:27 · 261 阅读 · 0 评论 -
SpringBoot配置文件的读取顺序
SpringBoot开发过程中由于其以配置文件的方式配置各种服务,信息源。本文介绍的为 .yml 的文件读取顺序。读取顺序:第一种是在java项目中resources建一个config文件夹,然后把配置文件放到这个文件夹下;第二种是直接把配置文件放到服务器与jar包的同级目录;第三种在classpath下建一个config文件夹,然后把配置文件放进去;第四种是在classpath下直接放配置文件。我们在SpringBoot项目中在resources下建一个 Config 文件夹.原创 2021-03-16 17:55:15 · 5290 阅读 · 1 评论 -
JAVA 加密算法
MD5和SHA1public static String SHA1(String decript) { try { MessageDigest digest = MessageDigest.getInstance("SHA-1"); digest.update(decript.getBytes()); byte messageDigest[] = digest.digest(); StringBuffer hexString =原创 2021-03-16 11:27:16 · 264 阅读 · 0 评论 -
Java深拷贝的实现
如果一个类中有指针对象,那么在拷贝这个类的对象的时候,默认的拷贝方式是只拷贝指针本身,而不重新构建并拷贝指针所指内容。这就叫做浅拷贝Shallow Copy。如果拷贝的方式是不仅仅拷贝指针,而且把指针所指的内容也新建一份,那就叫深拷贝Deep Copy。在有些业务场景下,我们需要两个完全相同却彼此无关的java对象。比如使用原型模式、多线程编程等。对此,java提供了深拷贝的概念。通过深度拷贝可以从源对象完美复制出一个相同却与源对象彼此独立的目标对象。这里的相同是指两个对象的状态和动作相同,彼此独立原创 2021-03-11 17:35:57 · 7822 阅读 · 2 评论 -
Java常用 @注解
@RequestParam注解@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。 defaultValue 可设置请求参数的默认值。 value 为接收url的参数名(相当于key值)。在参数不存在的情况下,可能希望变量有一个默认值:@RequestParam(name=原创 2021-03-11 17:06:59 · 4389 阅读 · 0 评论 -
JAVA JSON XML ZIP介绍
FastJson是阿里巴巴公司提供的一个用Java语言编写的高性能功能完善的JSON库,该库涉及的最基本功能就是序列化和反序列化。Fastjson支持java bean的直接序列化,同时也支持集合、Map、日期、Enum和泛型等的序列化。你可以使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化,常用的序列化操作都可以在JSON类上的静态方法直接完成。Fastjson采用独创的算法,将parse的速度提升到极致,号称超过所有Json库。而且,使用Fastjson解析时,除了需要使原创 2021-03-11 15:46:19 · 463 阅读 · 0 评论 -
Java RestTemplate中几种常见的请求方式
在REST接口的设计中,利用RestTemplate进行接口测试是种常见的方法。本文主要从以下四个方面来看RestTemplate的使用:GET请求 POST请求 PUT请求 DELETE请求OK,开始吧。1. 用exchange方法提交exchange既可以执行POST方法,还可以执行GET,设置header,所以应用最为广泛。String url = "http://localhost/mirana-ee/app/login";RestTemplate client = ne原创 2021-03-11 09:31:19 · 16679 阅读 · 0 评论 -
JAVA中 map list Stream流
java为数据结构中的映射定义了一个接口java.util.Map,他实现了四个类,分别是:HashMap,HashTable,LinkedHashMap,TreeMap Map不允许键重复,但允许值重复1.HashMap:最常用的Map,根据键的hashcode值来存储数据,根据键可以直接获得他的值(因为相同的键hashcode值相同,在地址为hashcode值的地方存储的就是值,所以根据键可以直接获得值),具有很快的访问速度,遍历时,取得数据的顺序完全是随机的,HashMap最多只允许一条.原创 2021-03-10 16:29:53 · 5758 阅读 · 0 评论 -
IDEA debug断点调试技巧
Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。说明:本文讲解是基于IntelliJ IDEA而非eclipse。一、Debug开篇 首先看下IDEA中Debug模式下的界面。 如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方:[原创 2021-02-05 10:15:20 · 3728 阅读 · 1 评论 -
简化Java代码的组件 MapStruct使用
我们在实际开发过程中会出现很多bean之间的拷贝动作,这样的动作需要不停的去进行set操作。容易造成代码的耦合和维护困难。通过MapStruct我们只需要定义一个接口,这个工具包会帮我们自动生成一个实现类,并且这个类是不可编辑的,代码自动生成帮我们省去了开发维护成本同时做了一定的解耦。Maven依赖使用MapStruct我们需要通过maven导入相关的依赖:<dependency> <groupId>org.mapstruct</groupId>原创 2021-02-03 13:18:53 · 3858 阅读 · 1 评论 -
MyBatisPlus mybatis-plus-join
一、MyBatis Plus 介绍MyBatis Plus是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis Plus 的核心功能有:支持通用的 CRUD、代码生成器与条件构造器。通用 CRUD:定义好 Mapper 接口后,只需要继承BaseMapper<T>接口即可获得通用的增删改查功能,无需编写任何接口方法与配置文件 条件构造器:通过EntityWrapper<T>(实体包装.....原创 2021-02-03 11:28:04 · 14705 阅读 · 0 评论 -
简化Java代码的组件 LomBok使用
Lombok使用方法Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toSt原创 2021-02-02 14:05:33 · 404 阅读 · 1 评论 -
Windows10下安装Maven Gradle IDEA配置
Maven是什么?Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。Windows安装Maven1.首先需要JDK的支持,Maven3.2.*版本需要JDK1.6的支持,M原创 2021-02-02 09:56:07 · 1216 阅读 · 0 评论 -
Druid 介绍和应用
Druid(Druid.io)简介一、简介Druid 的目标是提供一个能够在大数据集上做实时数据摄入与查询的平台,然而对于大多数系统而言,提供数据的快速摄入与提供快速查询是难以同时实现的两个指标。而Druid却可以完美的对两者进行结合,本文将对Druid如何实现这种结合做一个简单的介绍。Druid.io是一个开源的,分布式的,列式存储的,适用于实时数据分析的OLAP系统。它能够快速聚合、灵活过滤、毫秒级查询、和低延迟数据导入。2011年,MetaMarkets公司为了解决广告交易中海量实时数据的原创 2020-08-27 10:01:47 · 1595 阅读 · 0 评论 -
Hive安装与配置详解(MySQL作为元数据库)
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析...原创 2020-09-04 09:36:36 · 1404 阅读 · 0 评论 -
【CK】ClickHouse入门
Hadoop的运行需要Java环境,请确保在jdk安装成功的情况下安装Hadoop下载hadoop选择一个合适的文件夹,执行cd /usr/local/srcwget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz等上几分钟hadoop就下载下来了。执行解压命令tar -xvfhadoop-3.1.4.tar.gz一阵鬼畜般的解压后,多了一个hadoop-3.1.4..原创 2020-09-03 11:22:17 · 2868 阅读 · 0 评论 -
Kafka 消息中间件
提供路由并保证消息的传送;如果发送消息时接收者不可用,消息对列会保留消息,直到可以成功地传递它为止,当然,消息队列保存消息也是有期限的。二消息中间件特点1)解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2)冗余:消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用原创 2018-11-30 08:59:46 · 4410 阅读 · 1 评论 -
Linux下安装JDK11
项目开发时选择jdk的注意事项考虑和已存在项目和依赖库的兼容性 考虑被oracle长期支持的 jdk版本(目前主要为 jdk8 和 jdk11). 关于 oracle 对具体版本 jdk 支持的时间可参考在安装过程中,不需要安装相关依赖,安装后的JDK可以正常运行。1、先卸载open-jdk 查看linux上是否存在已经安装好的JDK 使用 javac或者java –version命令 查看本机上所有已经安装成功的软件,只查看和java相关的 rpm -qa | grep j原创 2020-09-01 10:07:13 · 2183 阅读 · 0 评论