java 实现反射 json动态转实体类--fastjson

我就废话不多说了,大家还是直接看代码吧~package test.refect; public class Student { // 姓名 private String name; // 年龄 private String age; // 住址 private String...

2021-03-07

IDEA实现添加 前进后退 到工具栏的操作

IDEA安装后,前进 后退快捷按钮默认不在工具栏显示,需要手动将其添加到工具栏*按照图一选中Toolbar Run Actions ,点击右上角的add after,*弹出图二,ctrl同时选中前进和后退,点击...

2021-03-07

解决IDEA中 Ctrl+ALT+V这个快捷键无法使用的情况

这个是由于快捷键冲突造成的:所以可以查应用比如:1)搜狗输入法中设置的语句2)QQ音乐的快捷键3)有道词典的快键键把上面找的快键键删除,那么在IDEA里面就可以使用了若是查询的时候...

2021-03-07

Spring @Cacheable redis异常不影响正常业务方案

背景
项目中,使用@Cacheable进行数据缓存。发现:当redis宕机之后,@Cacheable注解的方法并未进行缓存冲突,而是直接抛出异常。而这样的异常会导致服务不可用。
原因分析
我们是...

2021-03-07

Java cglib为实体类(javabean)动态添加属性方式

1.应用场景之前对接三方平台遇到一个参数名称是变化的,然后我就想到了动态javabean怎么生成,其实是我想多了,用个map就轻易解决了,但还是记录下动态属性添加的实现吧。2.引入依...

2021-03-07

解决IDEA Gradle构建报错'Cause: zip END header not found'

1 问题描述某天使用 Gradle 构建项目时, IDEA 报错如下:2 原因原因是下载的 Gradle ,也就是 zip 压缩包不完整,导致无法使用 Gradle 构建。3 解决方法 3.1 删除本地缓存重新下载...

2021-03-07

Java骚操作之CountDownLatch代码详解

简述用来干嘛的?当你在方法中调用了多个线程,对数据库进行了一些不为人知的操作后,还有一个操作需要留到前者都执行完的重头戏,就需要用到 CountDownLatch 了实践代码package co...

2021-03-07

java并发学习-CountDownLatch实现原理全面讲解

CountDownLatch在多线程并发编程中充当一个计时器的功能,并且维护一个count的变量,并且其操作都是原子操作。如下图,内部有下static final的Sync类继承自AQS.该类主要通过count...

2021-03-07

java类加载机制、类加载器、自定义类加载器的案例

类加载机制java类从被加载到JVM到卸载出JVM,整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(usi...

2021-03-07

java中Servlet程序下载文件实例详解

对于一些普通的文件下载,想必大家都会去点击默认的链接进行资料获取。效率慢是一个方面,有时候下载的过程并不顺序。在学习了python中的一些程序后,我们可以选择使用Servlet进...

2021-03-07

java 如何读取远程主机文件

我就废话不多说了,大家还是直接看代码吧~package com.cloudtech.web.util; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import jav...

2021-03-07

spring 如何解决循环依赖

首先解释下什么是循环依赖,其实很简单,就是有两个类它们互相都依赖了对方,如下所示:@Componentpublic class AService { @Autowired private BService bService;}@Componentp...

2021-03-07

mybatis查询字段为null设置为0的操作

背景使用mybatis查询(mysql)时,会使用多个double字段做相加,但是呢,其中几个字段有可能是null,会抛空指针。解决方法自动生成的mybatis mapper文件长这样<sql id="Base_Column_L...

2021-03-07

Java 如何绕过迭代器遍历时的数据修改异常

前言
既然是绕过迭代器遍历时的数据修改异常,那么有必要先看一下是什么样的异常。如果在集合的迭代器遍历时尝试更新集合中的数据,比如像下面这样,我想输出 Hello,World,Java,迭...

2021-03-07

聊聊Spring AOP @Before @Around @After等advice的执行顺序

用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了AOP功...

2021-03-07

java中金额元转万元工具类的实例

我就废话不多说了,大家还是直接看代码吧~public static void main(String[] args) { // 具体的金额(单位元) String value = "88000067898"; BigDecimal bigDecimal = new B...

2021-03-07

永久解决 Intellij idea 报错:Error :java 不支持发行版本5的问题

初次在IDEA使用maven的时候遇到的问题搜索之后得到解决方案
idea 报错:Error : java 不支持发行版本5
实际测试后该博主提供的方法可以解决.
但是每次创建新项目的时候都要设...

2021-03-07

关于Intellij idea 报错:Error : java 不支持发行版本5的问题

推荐解决方式:https://www.jb51.net/article/205959.htm如按上述方式解决了问题,下文可以忽略。 在Intellij idea中新建了一个Maven项目,运行时报错如下:Error : java 不支...

2021-03-07

利用synchronized实现线程同步的案例讲解

一、前期基础知识储备(1)线程同步的定义:多线程之间的同步。(2)多线程同步原因:一个多线程的程序如果是通过Runnable接口实现的,则意味着类中的属性将被多个线程共享,由此引出资源的...

2021-03-07

基于json解析神器 jsonpath的使用说明

如果项目需求是从某些复杂的json里面取值进行计算,用jsonpath+IK(ik-expression)来处理十分方便,jsonpath用来取json里面的值然后用IK自带的函数进行计算,如果是特殊的计算...

2021-03-07

java虚拟机钩子关闭函数addShutdownHook的操作

当jvm虚拟机被关闭的时候,可能我们需要做一些处理,比如对连接的关闭,或者对一些必要信息的存储等等操作,这里就可以借助于虚拟机提供的钩子函数,当jvm虚拟机关闭之前会去调用addS...

2021-03-07

手把手教你SpringBoot快速集成Swagger的配置过程

导语相信大家无论是做前端还是做后端的,都被接口接口文档所折磨过,前端抱怨接口文档和后端给的不一致,后端抱怨写接口文档很麻烦,所以Swagger就诞生了。直接配置即可自动生成接...

2021-03-07

Spring AOP 切面@Around注解的用法说明

@Around注解可以用来在调用一个具体方法前和调用后来完成一些具体的任务。比如我们想在执行controller中方法前打印出请求参数,并在方法执行结束后来打印出响应值,这个时候,我...

2021-03-07

解决@Around对静态方法不生效的问题

场景:在处理定时任务时,由于这几个方法都是静态方法,在aop的切面中使用@Around注解,进行监控方法调用是否有异常。发现aop没有生效。代码如下:/*切面类*/@Aspect@Componentpublic...

2021-03-07

详解Java 线程中断

一、前言
大家肯定都使用过 Java 线程开发(Thread / Runnable),启动一个线程的做法通常是:new Thread(new Runnable( @Override public void run() { // todo sth... })).start...

2021-03-07

基于spring AOP @Around @Before @After的区别说明

此段小代码演示了spring aop中@Around @Before @After三个注解的区别@Before是在所拦截方法执行之前执行一段逻辑。@After 是在所拦截方法执行之后执行一段逻辑。@Around是...

2021-03-07

java 使用BigDecimal进行货币金额计算的操作

float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal。而且使用BigDecimal类也可以进行大数的操作。 方法 类型...

2021-03-07

基于mybatis中<include>标签的作用说明

MyBatis中sql标签定义SQL片段,include标签引用,可以复用SQL片段sql标签中id属性对应include标签中的refid属性。通过include标签将sql片段和原sql片段进行拼接成一个完整的sql...

2021-03-07

解决mybatis plus字段为null或空字符串无法保存到数据库的问题

背景项目中集成了mybatis plus, 今天在做后台的一个常规的增删改查时,发现字段值为null时,这个字段不会被保存到数据库解决办法在字段上加上@TableField(strategy = FieldStra...

2021-03-07

聊聊Java中是什么方法导致的线程阻塞

一、为什么引入线程阻塞机制?为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的...

2021-03-07

Java线程阻塞方法sleep()与wait()的全面讲解

一、前期基础知识储备sleep()和wait()方法都是Java中造成线程阻塞的方法。感兴趣的读者可以参见笔者之前的文章《Java中什么方法导致线程阻塞》,里面详细讲述了为什么Java要...

2021-03-07

Java 三种进制的数值常量操作

我就废话不多说了,大家还是直接看代码吧~package cn.nxl2018;class Test{ //十进制常量赋值 void decimals(){ byte b=10; short s=10; char ch=69; int i=1...

2021-03-07

HashMap底层实现原理详解

一、快速入门示例:有一定基础的小伙伴们可以选择性的跳过该步骤HashMap是Java程序员使用频率最高的用于映射键值对(key和value)处理的数据类型。随着JDK版本的跟新,JDK1.8对Ha...

2021-03-07

JAVA入门教学之快速搭建基本的springboot(从spring boot到spring cloud)

安装JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html使用的是jdk8,这里使用的是windows10 64位的操作系统,所以下载对应的jdk版本点击链接...

2021-03-07

java代码实现mysql分表操作(用户行为记录)

设置项目气动执行次方法(每天检查一次表记录)public class DayInterval implements ServletContextListener{ private static SimpleDateFormat simpleDateFormat=new Simpl...

2021-03-07

使用AOP的@Around后无返回值的解决

经测试,是环绕通知改变了返回值,切面方法需要有返回值,来代替被代理方法返回结果改成如下即可:@Around("point_update()")public Object update(ProceedingJoinPoint jp) throws...

2021-03-07

什么是递归?用Java写一个简单的递归程序

什么是递归?用Java写一个简单的递归程序递归的定义递归(recursion):以此类推是递归的基本思想,将规模大的问题转化为规模小的问题来解决。递归的要素自定义递归函数,并确定函数的...

2021-03-07

spring boot 使用utf8mb4的操作

我就废话不多说了,大家还是直接看代码吧~spring: datasource: driver-class-name: net.sf.log4jdbc.DriverSpy url: jdbc:log4jdbc:mysql://127.0.0.1:3306/test1&#63;useU...

2021-03-07

解决mybatisPlus null 值更新的问题

发现mybatisPlus会更新对象属性为null的值,与field-strategy配置有关mybatis-plus: global-config: db-config: field-strategy: not_null在3.1.0版本中,其选择的值有pub...

2021-03-07

plsql实现DES对称加密 Java解密

背景
某项目接口采用plsql开发,接口返回用户密码,但要求密码不能是明文返回,因为程序内部需要用到明文密码,所以只能在plsql中对密码进行对称加密,在程序内部进行解密,程序采用jav...

2021-03-07

java注解结合aspectj AOP进行日志打印的操作

在很多系统开发中,我们希望在指定的方法调用之前或者之后能打印出该方法的调用时间以及方法的出参和入参,就可以使用spring的AOP,还可以结合自定义的注解进行进行一些指定参数...

2021-03-07

SpringBoot 中实现跨域的5种方式小结

一、为什么会出现跨域问题
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能...

2021-03-07

详解UDP协议格式及在java中的使用

UDP是面向无连接的通讯协议,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。UDP适...

2021-03-07

java 分转元与元转分实现操作

分转元private String fenToYuan(String amount){ NumberFormat format = NumberFormat.getInstance(); try{ Number number = format.parse(amount); double temp...

2021-03-07

基于@PathVariable注解的用法说明

带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义。通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理...

2021-03-07

Java(TM) Platform SE binary 打开jar文件的操作

直接用javaw.exe想打开aspectj-1.9.4.jar安装aspectJ选Java&#8482; Platform SE binary提示JVM虚拟机打不开可能是java的配置出了点问题,这里不想重新去配置java,直接用cmd用...

2021-03-07

Java利用Redis实现高并发计数器的示例代码

业务需求中经常有需要用到计数器的场景:譬如一个手机号一天限制发送5条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。使用Redis的Incr自增命令可以轻...

2021-03-07

浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系

JVM自带的类加载器:其关系如下:其中,类加载器在加载类的时候是使用了所谓的“父委托”机制。其中,除了根类加载器以外,其他的类加载器都有且只有一个父类加载器。关于父委托机制...

2021-03-07

解决IDEA占用C盘空间过大的问题

笔者最近的C盘空间吃紧,开始亮红色警告了。使用SpaceSniffer进行磁盘空间占用分析,发现IDEA不同版本占用空间达到10G之多。这个软件长这样(截止截图时idea工厂设置目录已经被迁...

2021-03-07

DTO 实现 service 和 controller 之间值传递的操作

概念DTO( Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。BO:business object 业务对象。主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个...

2021-03-07
返回顶部
顶部