Java
文章平均质量分 62
不敲代码的攻城狮
这个作者很懒,什么都没留下…
展开
-
GraalVM入门教程
native-image 是一个用于将 Java 程序编译为本地可执行文件的工具。它是 GraalVM 的一部分,GraalVM 是一个高性能的通用虚拟机,支持多种语言。它可以将 Java 应用程序预编译为本机可执行文件,这样生成的文件可以直接运行,无需 JVM 或者任何其他的运行时环境。原创 2023-10-20 17:58:38 · 1067 阅读 · 0 评论 -
Spring 自定义注解,配置简单日志注解
java在jdk1.5中引入了注解,spring框架也正好把java注解发挥得淋漓尽致。下面会讲解Spring中自定义注解的简单流程,其中会涉及到spring框架中的AOP(面向切面编程)相关概念。不清楚java注解的,可以先了解Java自定义注解一、创建自定义注解requestUrl 为我们自定义的一个参数package com.sam.annotation;import java.lang.annotation.*;/** * @author sam * @since 2017/7原创 2021-05-14 17:53:04 · 176 阅读 · 0 评论 -
Spring httpinvoker入门教程
httpinvoker参考:Spring 实现远程访问详解——httpinvokerSpring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和返回值是比较复杂的,通过httpInvoker有巨大的优势。远程访问流程如下1. 服务端定义服务接口package com.lm.core.service; import java.util.List; import com.lm.core.entity.User; publi原创 2021-05-14 17:51:26 · 1138 阅读 · 0 评论 -
使用spring提供的ReflectionUtils简化项目中反射代码的复杂性
在项目中有时候我们会使用到反射的功能,如果使用最原始的方法来开发反射的功能的话肯能会比较复杂,需要处理一大堆异常以及访问权限等问题。spring中提供了ReflectionUtils这个反射的工具类,如果项目使用spring框架的话,使用这个工具可以简化反射的开发工作。我们的目标是根据bean的名称、需要调用的方法名、和要传递的参数来调用该bean的特定方法。下面直接上代码:import org.springframework.beans.factory.annotation.Autow.原创 2021-05-14 17:50:18 · 617 阅读 · 0 评论 -
jpa的好伙伴QueryDSL快速入门
Querydsl定义了一种常用的静态类型语法,用于在持久域模型数据之上进行查询。JDO和JPA是Querydsl的主要集成技术。本文旨在介绍如何使用Querydsl与JPA组合使用。JPA的Querydsl是JPQL和Criteria查询的替代方法。QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。一、准备工作1、引依赖querydsl 相关jar包<!--query dsl --><dependency> <gro原创 2020-09-20 23:34:44 · 3083 阅读 · 5 评论 -
Advanced Installer轻松带你入门
Advanced Installer 是一款简单易用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮就可以了。官网:https://www.advancedinstaller.com/注意: 使用 16.9 版本的 Advanced Installer 构建的软件包只能在Windows Vista或更高版本上安装,要在较旧的操作系统上部署软件包,如XP系统,请使用Advanced Installer 15.9。资源下载,资源里面包含15.原创 2020-07-21 14:40:52 · 17314 阅读 · 12 评论 -
Linux之vim的使用
在终端可以使用vim命令来直接编辑文件内容。vim,也可以叫做vi。vim有三种模式:命令模式输入模式底线命令模式命令模式输入 vim [文件名] 进入命令模式,vim 也可以写成 vi。如果文件不存在,先创建再打开,如果文件已存在,直接打开。只能是当前目录下的文件,不能是 document/1.txt 这种子孙目录下的文件。此模式下敲击键盘动作会被Vim识别为命令,而非输入字符。常用命令:i : 切换到输入模式,可以编辑文件内容,i 即 insert: : 切换到底线转载 2020-06-29 10:04:12 · 181 阅读 · 0 评论 -
@ConfigurationProperties 注解使用姿势,这一篇就够了
转载 2020-06-14 22:17:41 · 604 阅读 · 0 评论 -
Javadoc 使用详解
转载 2020-06-14 22:10:34 · 196 阅读 · 0 评论 -
JS获取Request请求参数实现
Javascript版方法:String.prototype.getParameter = function (key) { var re = new RegExp(key + '=([^&]*)(?:&)?'); return this.match(re) && this.match(re)[1];};测试代码:<script...原创 2020-03-24 23:00:19 · 1837 阅读 · 0 评论 -
我对事务的小小总结
由于内容太多,分了好几篇文章来写。一、事务的特性谈谈事务的四大特性二、项目中配置事务项目中如何配置事务三、分布式事务待续…原创 2019-11-05 18:09:40 · 168 阅读 · 0 评论 -
项目中如何配置事务
项目中使用事务有好几种方式,本文章的项目都是使用的Spring,如果你使用的是JDBC编程,那么请看这个。事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为 编程式 和 声明式 的两种方式。编程式:指的是通过编码方式实现事务,看这个:声明式:基于 AOP, 将具体业务逻辑与事务处理解耦声明式事务管理使业务代码逻辑不受污...原创 2019-11-05 18:08:18 · 3973 阅读 · 0 评论 -
谈谈事务的四大特性
一、事务四大特性(ACID)1、 A(Atomicity)原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2、C(Consistency)一致性一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用...原创 2019-11-05 18:06:31 · 1513 阅读 · 0 评论 -
浅谈几种常见的加密算法
文章目录一、编码格式 (这个按道理来讲是算不上加密的,但是比较常用)二、消息摘要算法 (这个按道理来讲是算不上加密的,但是比较常用)三、对称加密四、非对称加密在线加密测试工具参考相关文章下面所有代码都是基于 jdk8所有基于Apache的实现都需要引入下面这个包:<!-- apache.codec:编码方法的工具类包 --><!-- https://mvnreposito...原创 2019-10-26 17:41:42 · 1976 阅读 · 0 评论 -
常用的几种非对称加密算法
文章目录`1、RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)``2、DSA 签名`相对对称加密而言,无需拥有同一组密钥,非对称加密是一种“信息公开的密钥交换协议”。非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,也就是说使用公开密钥进行数据加密,只有对应的私有密钥才能解密。这两个密钥是数学相关,用某用...原创 2019-10-26 17:22:40 · 18185 阅读 · 0 评论 -
常用的对称加密算法
文章目录`1、DES(Data Encryption Standard)``2、3DES(Triple DES)``3、AES(Advanced Encryption Standard)推荐使用`需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密...原创 2019-10-26 17:21:06 · 16064 阅读 · 0 评论 -
常用几种消息摘要算法
文章目录1、`MD5 (Message Digest algorithm 5 消息摘要算法版本5)`2、`SHA (Secure Hash Algorithm 安全散列算法)`3、`MAC (Hash Message Authentication Code 散列消息鉴别码)`消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固...原创 2019-10-24 11:57:01 · 13387 阅读 · 0 评论 -
常用编码格式算法
常用编码格式算法文章目录常用编码格式算法1、`base64`2、`base62x`3、`url编码`1、base64Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC2049 ,上面有MIME的详细规范。Base64 编码是从二进制到字符的过程,可用于在 HTTP ...原创 2019-10-24 11:51:12 · 2316 阅读 · 2 评论 -
SpringBoot整合Memcached
文章目录Memcached简介Memcached安装Java客户端选型XMemcached介绍XMemcached主要特性整合SpringBoot依赖配置使用其它Memcached简介Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储...原创 2019-10-14 21:44:06 · 1821 阅读 · 0 评论 -
Spring学习—Spring中定时器实现
Spring学习—Spring中定时器实现在一些工作需要使用到定时器,Spring很好的集成了定时器的功能!在Spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,下面介绍两种方式实现Spring定时器功能,一种是基于xml配置方式,一种...原创 2019-01-12 11:10:35 · 19789 阅读 · 0 评论 -
JAVA8之妙用Optional解决判断Null为空的问题
转载 2019-08-06 15:50:22 · 4209 阅读 · 0 评论 -
Java依据文件头获取文件类型
简介文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。为了解决在用户上传文件的时候在服务器端判断文件类型的问题,故用获取文件头的方式,直接读取文件的前几个字节,来判断上传文件是否符合格式。问题现有一文件,其扩展名未...原创 2019-07-30 11:47:39 · 1533 阅读 · 0 评论 -
SpringBoot2.x.x + Shiro + Redis 前后端分离实现
文章目录Shiro架构图与基本知识源码地址数据库结构使用的主要框架项目结构详细搭建过程使用及测试感谢Shiro架构图与基本知识1、Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与spring Security 一样都是做一个权限的安全框架,但是与Spring Security 相比,在于...原创 2019-07-06 16:19:22 · 25539 阅读 · 14 评论 -
Java抽奖概率算法
文章目录奖品实体抽奖方法测试感谢奖品实体package com.leigq.www.shiro.controller;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;/** * 奖品 DTO * <br/> * * @author :leigq * @dat...转载 2019-07-06 10:44:06 · 25163 阅读 · 4 评论 -
SpringBoot 测试基类
每次写单元测试都要重复写一些方法、注解等,这里我写了一下测试的基类文章目录基类测试基类BaseApplicationTests.java测试基类,其他测试类继承此类即可。package com.leigq.www.shiro.base;import org.junit.After;import org.junit.Before;import org.junit.runner.Ru...原创 2019-06-28 16:03:20 · 886 阅读 · 0 评论 -
Java项目读取resources下的配置文件
java项目https://blog.csdn.net/C_envelope/article/details/82942836Spring项目https://www.cnblogs.com/haorui/p/9177993.html参考java读取resources下的配置文件+文件相对路径小结读取spring工程中resource的文件...原创 2019-08-13 22:30:28 · 7659 阅读 · 0 评论 -
mybatis批量插入数据 ignore关键字忽略重复数据/唯一索引
<!-- 批量插入数据 --><insert id="insertxxxByBatch" parameterType="java.util.List"> insert ignore into xxxtable ( xxx_id, yyy_id, version ) values <for...原创 2019-08-23 22:41:29 · 12998 阅读 · 0 评论 -
Java 读取 Properties 文件
案例一主要使用了spring-core-4.1.4.RELEASE-sources.jar 这个jar包里的 PropertiesLoaderUtils.loadProperties 方法。不说了,直接上代码:package cn.lyj.util; import java.util.HashMap; import java.util.Map; import java.u...原创 2019-08-15 20:17:09 · 2080 阅读 · 0 评论 -
项目中关于时间入参、出参之处理
入参格式化@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")public class DateVo { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date date; public void setDate(Date date){ this...原创 2019-08-21 00:17:11 · 2949 阅读 · 1 评论 -
Java 8 如何优雅的处理集合?
其他新特性java8新特性JAVA8新特性(吐血整理)转载 2019-08-15 21:36:45 · 259 阅读 · 0 评论 -
java Callable & Future & FutureTask
文章目录前言一、Callable与Runnable二、Future接口三、FutureTask实现类四、使用示例感谢前言实现Runnable接口的线程类与一个缺陷,就是在任务执行完之后无法取得任务的返回值。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦 。所以,从JDK 1.5开始,java提供了Callable接口,该接口和Runnable...原创 2019-08-16 09:20:45 · 251 阅读 · 0 评论 -
lombok @EqualsAndHashCode 注解的影响
方文档:@EqualsAndHashCode原文中提到的大致有以下几点:此注解会生成equals(Object other) 和 hashCode()方法。它默认使用非静态,非瞬态的属性可通过参数exclude排除一些属性可通过参数of指定仅使用哪些属性它默认仅使用该类中定义的属性且不调用父类的方法可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。...转载 2019-09-04 11:53:00 · 133 阅读 · 0 评论 -
MapStruct的使用
MapStruct 代替BeanUtil 和ModelMapper:https://blog.csdn.net/paincupid/article/details/71247255推荐一个 Java 实体映射工具 MapStruct:https://blog.csdn.net/zhige_me/article/details/80699784...原创 2019-09-05 17:28:20 · 3863 阅读 · 0 评论 -
Docker学习教程
我的环境:win10文章目录入门教程推荐视频教程文本教程安装配置镜像加速器获取阿里镜像加速器配置加速器项目使用Dockerpom.xml 添加 docker-maven-plugin获取阿里镜像访问凭证修改 Maven 的 setting.xml 文件测试打包、上传至阿里镜像库及运行配合Rancher管理容器入门教程推荐视频教程推荐先看视频教程,再看本教程,思路更清晰。Docker入门...原创 2019-06-27 17:03:47 · 979 阅读 · 0 评论 -
读阿里数据库设计开发规范引发的思考
文章目录问题回答解释外键约束的优点、缺点优点缺点总结问题设计数据库时外键到底应不应该使用?回答阿里的建议:至于为什么是不用,貌似没做具体说明,然后我就自己搜索了下,做出下面的总结。解释以学生和成绩的关系为例,学生表中的student_id是主键,那么成绩表中的student_id则为外键。如果更新学生表中的student_id,同时触发成绩表中的student_id更新,即为级联更...原创 2019-07-03 10:32:03 · 646 阅读 · 0 评论 -
SpringCloud学习教程
SpringCloud学习教程一、Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:S...原创 2019-04-03 21:02:50 · 551 阅读 · 0 评论 -
RabbitMQ学习教程
RabbitMQ学习教程入门RabbitMQ与AMQP协议详解我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比在线RabbitMQ 模拟器如何选择RabbitMQ的消息保存方式?视频:RabbitMQ消息中间件极速入门与实战springboot集成rabbitmq(实战)SpringBoot系列 - 使用消息队列RabbitMQAMQP协议模型...原创 2019-07-26 15:59:42 · 237 阅读 · 0 评论 -
MyBatis中Mapper.xml文件中的转义字符
MyBatis中Mapper.xml文件中的转义字符一、XML转义字符XML只有5个转义符:转义符表达式说明&lt;<小于号&gt;>大于号&amp;&和&apos;’单引号&quot;"双引号值得注意的是:转义序列字符之间不能有空格;转义序列必须以”;”...原创 2019-01-25 11:14:29 · 3600 阅读 · 0 评论 -
WebService介绍及使用(Java)
WebService介绍及使用(Java)本文章主要是本人对于别人的博客的总结,原文链接会在文末列出。一、WebService到底是什么?先来看下标准的定义:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebService 也叫XML Web Service,WebService是一种可以接收从Intern原创 2019-01-14 15:30:03 · 38632 阅读 · 7 评论 -
jQuery - 拦截所有Ajax请求(统一处理超时、返回结果、错误状态码 )
jQuery - 拦截所有Ajax请求(统一处理超时、返回结果、错误状态码 )前言通过 jQuery 提供的 ajaxSetup 方法,我们可以拦截页面上所有的 Ajax 请求响应(包括 .ajax、.ajax、.ajax、.post、$.get)。这样我们可以对这些 Ajax 请求响应做统一的处理。比如判断 sesion 是否失效,失效的话就跳转到登录页。下面通过几个样例进行演示。原文出...原创 2019-01-12 11:27:27 · 24299 阅读 · 2 评论