IntelliJ IDEA创建普通的Java 项目及创建 Java 文件并运行的教程

最近突然看到这篇几年前随手记录的文章,居然浏览量那么高。看来很多小伙伴也开始从 Eclipse 转到 IDEA,这里为了让大家更好的掌握 IDEA 的使用,我建议大家可以看看下面这个 IDE...

2021-03-07

详解查看JAVA API及JAVA源码的方法

在java的日常学习中,我们有时候会需要看java的api说明,或者是查看java的源码,使我们更好的了解java,接下来我就来说说如何查看java的api以及java源码对于java的api,一般是在下面...

2021-03-07

java并发包中CountDownLatch和线程池的使用详解

1.CountDownLatch现在做的这个华为云TaurusDB比赛中,参考的之前参加过阿里的PolarDB大赛的两个大佬的代码,发现都有用到CountDownLatch这个类,之前看代码的时候也看过,但是没有...

2021-03-07

gradle中的增量构建浅析

文章目录 简介增量构建自定义inputs和outputs运行时API隐式依赖输入校验自定义缓存方法输入归一化其他使用技巧简介在我们使用的各种工具中,为了提升工作效率,总会使用到各种...

2021-03-07

java多线程CyclicBarrier的使用案例,让线程起步走

1、CyclicBarrier:一个同步辅助类,用于协调多个子线程,让多个子线程在这个屏障前等待,直到所有子线程都到达了这个屏障时,再一起继续执行后面的动作。2、使用场景举例:年末公司组...

2021-03-07

java通过cglib动态生成实体bean的操作

maven依赖:<dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.3</version> </dependency>...

2021-03-07

Java 如何解析key为动态的json操作

遇到了这样的json串:"panel": { "8": { "112": 1 }, "11": { "147": 2 } }遍历获取Key和ValueLinkedHashMap<String, String> jsonMap = JSON.parseO...

2021-03-07

创建动态代理对象bean,并动态注入到spring容器中的操作

使用过Mybatis的同学,应该都知道,我们只需要编写mybatis对应的接口和mapper XML文件即可,并不需要手动编写mapper接口的实现。这里mybatis就用到了JDK动态代理,并且将生成的接口...

2021-03-07

windows7配置java环境变量的图文教程

首先在官网下载好java版本
双击安装好以后使用鼠标右击 计算机->属性->高级系统设置->环境变量系统变量里面点击新建变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0...

2021-03-07

IDEA插件之快速删除Java代码中的注释

背景有时,我们需要删除Java源代码中的注释。目前有不少方法,比如: 实现状态机。该方式较为通用,适用于多种语言(取决于状态机支持的注释符号)。 正则匹配。该方式容易误判,尤其是...

2021-03-07

Java8语法糖之Lambda表达式的深入讲解

一、Lambda表达式简介
Lambda表达式,是Java8的一个新特性,也是Java8中最值得学习的新特性之一。(另一个新特性是流式编程。)Lambda表达式,从本质上讲是一个匿名方法。可以使用...

2021-03-07

java 线程池keepAliveTime的含义说明

之前对线程池中属性:keepAliveTime比较模糊,而且看过之后过一段时间就会忘掉,于是就在此记录一下。keepAliveTime的jdk中的解释为:当线程数大于核心时,此为终止前多余的空闲线程...

2021-03-07

IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能

一、搭建SpringBoot项目1.1、file ——> new ——> project——> Spring Initializr——> next——> next——> next——> finish注意选择包依赖关系
二、springboot整合myb...

2021-03-07

java 动态生成bean的案例

最近做一个需求,需求中的bean只用于生成一次json使用,所以想通过配置来动态的生成,查了一下,java还真有这个实现。java动态的生成javabean,只能生成属性和对应的set/get方法,不能...

2021-03-07

Java 并发编程ArrayBlockingQueue的实现

一、简介
ArrayBlockingQueue 顾名思义:基于数组的阻塞队列。数组是要指定长度的,所以使用 ArrayBlockingQueue 时必须指定长度,也就是它是一个有界队列。它实现了 BlockingQue...

2021-03-07

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
返回顶部
顶部