![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
丿SeeYouAgain
学无止境,不学无术。☺︎
展开
-
基于腾讯位置服务获取IP归属地实践
本文分析项目中获取外网IP地址以及调用腾讯地图接口获取IP归属地信息。原创 2022-08-26 16:10:57 · 1367 阅读 · 1 评论 -
基于自定义注解实现白盒接口方案
项目为提高接口调用安全性和保护敏感数据,往往会选择将请求和响应采取加密方式来处理。本文分享基于自定义注解实现白盒接口的操作实践。 一、自定义注解类和切面类package com.example.test.handler;import com.example.test.common.WhiteBoxCommonVO;import java.lang.annotation.ElementType;import java.lang.annotation.Retent...原创 2022-05-15 21:23:59 · 344 阅读 · 0 评论 -
Java8操作List<Object>小结
在项目开发中,经常遇到对List<Object>的操作,比如取最值、排序、汇总求和、转Map等等。今天在此做个小结,希望和大家一起学习,如有遗漏的地方还请大家指正! 一、准备一个测试类User:public class User { private Integer id; private String name; private Integer age; public User(Integer id, String na...原创 2021-12-07 10:40:03 · 4102 阅读 · 0 评论 -
canal--基于mysql数据库binlog实践
canal是阿里开源的中间件,主要用于同步mysql数据库变更,本文演示基本使用。一、项目搭建 新建一个Maven项目,引入依赖: <dependencies> <dependency> <groupId>com.alibaba.otter</groupId> <artifactId>canal.client</artifactId&...原创 2021-07-14 20:50:07 · 481 阅读 · 0 评论 -
Jboot整合MySQL
本文演示Jboot整合MySQL。一、项目搭建 新建一个Maven项目,引入依赖: <properties> <jBoot.version>3.10.0</jBoot.version> <lombok.version>1.16.10</lombok.version> </properties> <dependencies> <...原创 2021-07-09 11:26:22 · 217 阅读 · 0 评论 -
Docker打包、运行本地Demo项目
本文演示Docker打包、运行本地Demo项目。 笔者安装了Windows版本Docker。一、项目搭建 新建一个SpringBoot项目,引入依赖:<properties> <java.version>1.8</java.version> <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format> ...原创 2021-07-07 17:59:37 · 1176 阅读 · 0 评论 -
MapStruct实践
本文介绍Java实体映射工具MapStruct,并演示常用实体映射。一、项目搭建 新建一个Maven项目,引入依赖:<properties> <lombok.version>1.18.12</lombok.version> <mapstruct.version>1.3.1.Final</mapstruct.version> </properties> <de...原创 2021-06-30 16:40:56 · 85 阅读 · 0 评论 -
SpringBoot整合Magic-Api
Magic-Api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。 本文演示SpringBoot整合Magic-Api,并演示基本使用。一、项目搭建新建一个SpringBoot项目,引入依赖: 1.8 2.2.6 ...原创 2021-06-28 11:30:15 · 2902 阅读 · 1 评论 -
SpringBoot整合HBase
本文演示SpringBoot整合HBase。一、项目搭建新建一个SpringBoot项目,引入依赖:<properties> <java.version>1.8</java.version> <hbase.version>2.1.0</hbase.version> </properties> <dependencies>...原创 2021-06-11 09:31:21 · 911 阅读 · 0 评论 -
Java排序算法小结
本文和大家讨论交流常见的排序算法。包括冒泡排序、选择排序、插入排序、归并排序、希尔排序、快速排序、基数排序等7种排序算法。阐述基本原理和各算法的特点,并做一些简单的分析和归纳。(一)冒泡排序①算法原理 重复地访问待排序的元素集,依次比较两个相邻元素,如果它们的顺序错误就交换顺序,直到排序完毕。②java实现 //冒泡排序 public s...原创 2018-09-17 23:02:38 · 506 阅读 · 0 评论 -
Java后端组装树形结构数据
项目开发中,几乎无法避免的会遇到树形结构,今天和大家分享java后端如何处理数据为树形结构。1.封装测试实体类package com.ldl.cn.demo;import java.util.ArrayList;import java.util.List;public class Dept { private int id; private int...原创 2019-10-22 23:25:27 · 15158 阅读 · 12 评论 -
JHipster生成代码
本文演示JHipster生成代码。一、环境准备 笔者本地环境如下:二、生成代码及修改配置①在jhipster online官网上选择配置后,生成代码(也可以直接通过命令方式生成);官网地址:https://start.jhipster.tech/②解压包并使用IDEA打开,根据个人情况修改配置(主要是JDK版本,数据库连接配置)笔者采用JDK8,Mongo数据库演示。③编译和运行项目,依次执行npm install,npm start三、访问初始账号密码:admi...原创 2021-04-13 11:40:30 · 510 阅读 · 0 评论 -
Java接口加签实践
许多业务系统,在对接诸如支付、银行等类型接口时,接口双方为了确保数据参数在传输过程中未经篡改,需要对接口数据进行加签和验签,确保两个签名是一样的,通过验签之后才能进行业务逻辑处理。本文分享常用的三种加密方式,并演示一个加签示例。一、封装工具类①Base64工具类public class Base64Utils { /** * Base64加密 * @param str * @return */ public static Strin...原创 2021-04-12 16:45:52 · 617 阅读 · 0 评论 -
Java8之Stream
我们知道JDK已经到了15了,然而很多人(包括笔者)对Java8的一些新特性都不是很熟悉。借此机会,笔者参照Java官方文档,阐述Stream API的主要用法,先做个简要总结,希望能对大家有些许帮助,并祝愿大家能够熟练使用。 话不多说,直奔主题。Stream API主要涉及产生流、过滤、映射、排序、聚合等操作,现以List为例演示说明及具体代码实现如下:一、使用说明①产出流 产生流的方法比较简单,调用stream()方法即可。②过滤 ...原创 2021-03-07 21:51:48 · 88 阅读 · 0 评论 -
Java调用Python脚本实践
1.环境准备 这一步骤需要搭建java和python环境,流程极其简单。笔者的环境如下:2.Python脚本import sysimport reflag = 0if len(sys.argv) >= 2 and re.search("^\d+$", sys.argv[1]): flag = int(sys.argv[1]) * 10else :...原创 2019-09-06 17:35:38 · 391 阅读 · 0 评论 -
Java常用数据结构基础知识总结(一)
数据结构是计算机内存或磁盘中存储、组织数据的方式。常用的数据结构如数组、链表、栈、队列、树等等。今天和大家分享和交流一下java语言中常用的数据结构如数组、List(列表)、Map(键值对)、Set及其继承类库,简述它们的特点及项目开发中常见的用途。1.判断是否为空大家都知道判断字符串是否为空:str == null || "".euqals(str) || str.leng...原创 2018-09-14 21:26:15 · 3351 阅读 · 0 评论 -
Java解析XML的方法小结
在项目开发中,经常会涉及到许许多多和数据处理有关的环节,如数据采集、数据解析、数据存储、数据格式化等等,本文与大家分享交流java关于数据解析的相关知识。大家知道,实际项目中,在交互时使用较多的数据格式有json、xml(可扩展标记语言)。对于json格式数据的解析,已在《Java常用数据结构基础知识总结(二)》中与大家做了基本的介绍,有兴趣的朋友可以查阅。本文主要和大家一起学习解析X...原创 2018-10-27 00:00:53 · 253 阅读 · 0 评论 -
Java基础之File操作
从事项目开发免不了和文件打交道,比如日志文件读写、文件压缩和解压、文件解析、文件上传和下载、文件导出等等。今天和大家一起重温文件操作的一些基础知识,并通过Demo的方式演示。一、File类常用的API 这里,主要通过读取文件的方式练习对文件的基本操作:package com.ldl.file;import java.io.File;public c...原创 2018-10-28 00:33:30 · 272 阅读 · 0 评论 -
Java基础之IO流小结
Java程序中对于数据的输入和输出操作是以流的方式进行的。一个流可以被定义为一个数据序列。我们可以理解为:流是用来读写数据的。Java语言提供的java.io包可以很方便的让我们对数据进行输入和输出操作。本文将和大家分享学习Java IO流的相关基础知识。一、Java IO流总览 Java语言的java.io包提供了操作数据输入和输出的丰富的类库。通常我们可以根据数据流...原创 2018-11-10 21:10:36 · 164 阅读 · 0 评论 -
Java基础之反射总结
Java语言的反射机制,我们可以理解为:在运行状态中,对于任意一个实体类或对象,我们可以获取这个类的所有属性和方法。正因如此,使得Java的反射机制在流行框架如Spring、hibernate、MyBatis,设计模式如工厂模式、动态代理等应用广泛,当然JDK中也有许多底层代码也是灵活地运用了反射机制。本文和大家一起探讨学习Java语言的反射机制,主要介绍在运行时对某个类对象信息如类名...原创 2018-11-13 22:31:21 · 164 阅读 · 0 评论 -
Java大小端数据互转实践
在实际项目开发中(特别是通信领域的项目开发)往往会遇到有关大小端数据转换问题——数据是以大端模式存储的,而机器是小端模式,必须进行转换,否则使用时会出问题。关于大小端模式的定义,其实就是数据的高(低)字节保存在低(高)内存地址中与否。直入主题,本文演示大小端数据转换基于Java的实现。编码实现: public static byte[] string2Bytes...原创 2018-12-13 16:05:52 · 5129 阅读 · 0 评论 -
微信公众号开发之获取access_token
进行微信公众号相关开发,获取access_token是首要一步,因为access_token是公众号的全局唯一接口调用凭据。公众号调用各接口时都需使用access_token。 access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。更多关于access_t...原创 2019-05-01 16:20:39 · 1259 阅读 · 1 评论 -
Java实现猜拳游戏
源码如下:package com.ldl.cn.java;import java.util.Scanner;public class Test { private static int PER_WIN = 0; private static int COM_WIN = 0; @SuppressWarnings("resource") pub...原创 2019-05-07 22:45:07 · 1943 阅读 · 0 评论 -
Java遍历List、Map时添加、删除元素
本文主要演示遍历List、Map时的添加、删除元素操作。 关于List和Map相关的遍历问题,笔者已在《Java常用数据结构基础知识总结(二)》一文中做了简要介绍,如有需要的可以参考,此处不再赘述。源码如下:1.基于List的操作package com.ldl.cn.test;import java.util.ArrayList;import ...原创 2019-06-04 14:04:59 · 7728 阅读 · 3 评论 -
运用kaptcha生成验证码实践
本文与大家分享基本上每个系统、项目都会使用到的验证码生成技术,技术上采用kaptcha。①前期准备 创建一个基于maven的springboot项目,添加kaptcha依赖: <dependency> <groupId>com.github.axet</groupId> <...原创 2019-07-31 23:04:44 · 291 阅读 · 0 评论 -
TestCase模拟Post请求
本文对Post请求进行简单的模拟,读者可以在TestCase中实践之。①引入httpclient的依赖: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclien...原创 2019-08-06 22:39:16 · 322 阅读 · 0 评论 -
Java枚举,这一篇就够了
项目中枚举类型的使用,基本上可以分为两类:作为常量和自定义的操作。下面就以及其简单的方式说明如何使用:package com.ldl.cn;public class TestEnum { //①作为常量使用 public enum Week{ MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,S...原创 2019-08-15 21:23:37 · 146 阅读 · 0 评论 -
Java常用数据结构基础知识总结(二)
在上一篇中,和大家交流了java常用数据结构的基础知识。现在与大家分享各类数据结构的遍历问题、转换问题。一、遍历问题(1) List的遍历问题(以ArrayList为例)①通过迭代器遍历 public static void traverseArrayListByIterator(List list) { long startTime = System....原创 2018-09-16 12:01:49 · 1377 阅读 · 0 评论