自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

古月的博客

博客是写给自己看的,请不要评论,恕不回复。

  • 博客(145)
  • 资源 (1)
  • 收藏
  • 关注

原创 java -非空判断

w

2022-09-18 21:09:31 7283 1

原创 Knife4j--使用教程

wu

2022-08-31 21:23:24 2849 1

原创 Java查询Mysql数据库时,查询条件带特殊字符(\ % ‘ * _)的处理方式

w

2022-08-24 22:04:25 958

原创 easypoi基本使用-Excel数据的导入导出

w

2022-08-24 21:26:43 3148

原创 Lombok + @slf4j注解 + log 变量来源

w

2022-08-17 21:43:07 942

原创 将DATE类型转化成标准类型yyyy-MM-dd HH:mm:ss

wu

2022-08-17 20:54:43 3293

原创 Java Lambda表达式

2022-08-14 16:32:28 165

原创 MyBatis-plus自动填充功能之自动填充时间

2022-08-13 16:13:46 3327

原创 通俗解释跨域问题是怎么产生的

2022-08-13 10:44:54 362

原创 join、inner join、left join、right join的区别

wu

2022-08-04 16:43:30 1013

原创 MySQL外键约束(FOREIGN KEY)

wu

2022-08-04 15:53:56 2125

原创 自增主键的表设计

2022-08-04 15:04:30 145

原创 Mybatis新增记录后自动返回新增记录的id

暂无

2022-08-03 21:09:54 2119

原创 mysql事务隔离级别与设置

mysql数据库,当且仅当引擎是InnoDB,才支持事务;1、隔离级别事务的隔离级别分为:未提交读(read uncommitted)、已提交读(read committed)、可重复读(repeatable read)、串行化(serializable)。未提交读A事务已执行,但未提交;B事务查询到A事务的更新后数据;A事务回滚;---出现脏数据已提交读A事务执行更新;B事务查询;A事务又执行更新;B事务再次查询时,前后两次数据不一致;---不可重复读可...

2021-06-22 11:32:00 569

原创 批量上传Maven仓库jar包到Nexus3.x私服(上传到Artifactory也可以)

手动mvn命令上传单个Jarmvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=D:\\ojdbc6.jar -Durl=http://ip:8081/repository/maven-releases/ -DrepositoryId=nexus批量上传maven仓库所有jar包 1.先将本地maven/repository..

2021-03-03 11:48:17 770 1

原创 CXF 客户端 远程调用WebService

1. 添加如下依赖:<!-- CXF webservice --><dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.1.11</version></dependency><!-- CXF

2021-02-23 20:05:17 471

原创 shell学习笔记

1.给一个文件夹设置可执行权限的时候,设置为700即可,不建议设置为7772.shell是用户和linux内核沟通的桥梁,它既是一种命令,也是一种解释性的编程语言3.shell脚本的注释是以#开头的,但是以#!/bin/bash开头的是说明采用的是哪种解释器,是一个特例!他是可以执行的哦!4.通过cat /etc/shells可以查看shell支持的解释器有哪些!5.cd-: 表示返回上一次的目录6.history:查看历史命令7.echo $USER 输出当前用户$符号用于取变量.

2020-09-13 16:39:46 131

原创 在 Ubuntu 16.04 上安装 Vagrant

本文引用自:https://yq.aliyun.com/articles/763504Vagrant是一个命令行工具,用于构建和管理虚拟开发环境。默认情况下,Vagrant 在 VirtualBox, Hyper-V, 和 Docker 之上准备环境。支持其他提供者,例如, Libvirt (KVM), VMware and AWS 可以通过 Vagrant 插件系统启用。Vagrant 通常被开发者用来建立匹配生产环境的开发环境。这篇文章描述如何在 Ubuntu 16.04 机器上安装 V

2020-08-26 12:51:15 589

原创 springboot—spring aop 实现系统操作日志记录存储到数据库

采用方案: 使用spring 的 aop 技术切到自定义注解上,针对不同注解标志进行参数解析,记录日志缺点:要针对每个不同的注解标志进行分别取注解标志,获取参数进行日志记录输出1. 需要引用的依赖<!--spring切面aop依赖--><dependency> <groupId>org.springframework.boot</g...

2020-04-23 19:41:11 4346 1

原创 HikariCP连接池监控

Spring-Boot-2.0.0-M1 版本将默认的数据库连接池从tomcat jdbc pool改为了hikari,通过HikariCP可以分析慢查询是什么导致的!

2020-04-20 11:50:07 2186

原创 MongoDB之java增删查改

package com.example.demo.testmongo;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;import com.mongodb.client.FindIterable;import com.mongodb.c...

2020-04-16 14:02:49 261

原创 Mybatis Mapper接口是如何找到实现类的-源码分析

转载自:https://www.cnblogs.com/demingblog/p/9544774.htmlKeyWords:Mybatis 原理,源码,Mybatis Mapper 接口实现类,代理模式,动态代理,Java动态理,Proxy.newProxyInstance,Mapper 映射,Mapper 实现MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及...

2020-03-25 15:09:51 706

原创 ubuntu 解决优盘文件 read-only file system 问题

1.进入root: sudo su2.显示分区: df -Th 结果如下:Filesystem Type Size Used Avail Use% Mounted onudev devtmpfs 3.8G 0 3.8G 0% /devtmpfs tmpfs 784M 9.5M 775M 2% ...

2020-03-23 19:58:58 4830

原创 Mybatis学习记录

转载自:https://dingjn-coder.github.io/2020/03/16/%E6%A1%86%E6%9E%B6/Mybatis%E4%BB%8B%E7%BB%8D%E5%8F%8A%E4%BD%BF%E7%94%A8/#toc-heading-41Mybatis介绍Mybatis是一个java持久层框架,内部封装了JDBC,并且做了很多的优化,开发者只需要关注如何写sq...

2020-03-21 16:13:37 197

原创 单例模式安全之反射攻击

单例模式这里就不谈了,什么是单例模式可参考七种Java单例模式详解,这里是关于单例模式安全方面的,当然了这里说的安全不是线程安全。什么是反射攻击呢在Java中,由于反射的功能实在是太强了,通过动态访问类并设置Access(如setAccessible(true))使得可以访问对象的私有属性方法等。 在单例模式中,我们使用private 修饰构造方法对外隐藏,防止外部new 对象,但是在反...

2020-03-10 15:10:09 529

原创 Volatile-内存屏障

Java 中如何保证底层操作的有序性和可见性?可以通过内存屏障。内存屏障是被插入两个 CPU 指令之间的一种指令,用来禁止处理器指令发生重排序(像屏障一样),从而保障有序性的。另外,为了达到屏障的效果,它也会使处理器写入、读取值之前,将主内存的值写入高速缓存,并清空无效队列,从而保障可见性。...

2020-03-10 14:16:27 299

原创 ForkJoin与Stream并行流

ForkJoin 在 JDK 1.7 , 并行执行任务!提高效率。大数据量!ForkJoin 特点:工作窃取这个里面维护的都是双端队列以下计算1-10_0000_0000的和,for循环与ForkJoin效率差别不大,但是使用Stream并行流效果显著!!!import java.util.*;import java.util.concurrent.ExecutionE...

2020-03-10 14:04:21 899 1

原创 四大函数式接口(必需掌握)

新时代的程序员: lambda表达式、链式编程、函数式接口、Stream流式计算1. 函数式接口: 只有一个方法的接口@FunctionalInterfacepublic interface Runnable { void run();}// 简化编程模型,在新版本的框架底层大量应用!只要是 函数型接口 就可以 用 lambda表达式简化:import...

2020-03-10 13:11:27 1098 2

原创 线程池(重点)

线程池: 3大方法、4种拒绝策略、7大参数池化技术: 事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我。线程池的好处:1、降低资源的消耗2、提高响应的速度3、方便管理。线程复用、可以控制最大并发数、管理线程阿里巴巴java开发手册明确指出:【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让...

2020-03-10 11:40:28 129

原创 阻塞队列

什么情况下我们会使用 阻塞队列: 多线程并发处理, 线程池!四组API:SynchronousQueue 同步队列:没有容量,进去一个元素,必须等待取出来之后,才能再往里面放一个元素!和其他的BlockingQueue 不一样, SynchronousQueue 不存储元素put了一个元素,必须从里面先take取出来,否则不能在put进去值!BlockingQue...

2020-03-10 10:53:50 142

原创 ReadWriteLock 读写锁

ReadWriteLockpublic interface ReadWriteLockA ReadWriteLock维护一对关联的locks ,一个用于只读操作,一个用于写入。 read lock可以由多个阅读器线程同时进行。 write lock是独家的。import java.util.concurrent.locks.Lock;import java.util.concur...

2020-03-10 10:42:13 206

原创 常用的辅助类(必会)

1. CountDownLatch: 减法计数器public class CountDownLatch extends Object允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。A CountDownLatch用给定的计数初始化。 await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await ...

2020-03-10 10:05:09 335

原创 Callable

为什么 FutureTask futureTask = new FutureTask(thread); 这个可以执行Callable?:public FutureTask(Callable<V> var1) { if (var1 == null) { throw new NullPointerException(); } else {...

2020-03-10 09:34:02 331 1

原创 集合类-多线程下不安全及其解决办法

1 List 不安全import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks....

2020-03-10 09:03:46 269

原创 生产者和消费者问题

生产者和消费者问题 Synchronized 版import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;// 生产者和消费者问题 Synchronized 版/** * 线程之间的通信问题...

2020-03-09 21:35:22 348

原创 synchronized 与 Lock

synchronized:锁实现:import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class test1{ public static void main(String[] a...

2020-03-09 21:04:05 157

原创 lambda表达式创建线程、获取cpu的核数、线程睡眠

import java.util.concurrent.TimeUnit;class test1{ public static void main(String[] args) { // lambda 表达式创建线程 jdk1.8 // lambda表达式: (参数)->{ 代码 } new Thread(()->{ ...

2020-03-09 20:36:16 467

原创 BeanFactory 简介以及它 和FactoryBean的区别

BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。ApplicationContext接口,它由BeanFactory接口派生而来,ApplicationContext包含BeanFactory的所有功能,通常建议比Bean...

2020-03-06 14:24:17 236

原创 CGLib介绍

1. CGLIB介绍CGLIB(Code Generation Library)是一个开源项目!是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如Spring AOP为他们提供方法的interception(拦截)。CGLIB包的底层是通过使用一个小而快的字节码处理框...

2020-03-03 17:27:35 2364

原创 ThreadLocal-hash冲突与内存泄漏

ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不同的变量值完成操作的场景。从数据结构入手下图为ThreadLocal的内部结构图ThreadLocal结构内部从上面的结构图,我们已经窥见ThreadLo...

2020-03-03 14:38:17 5463 3

PyTorch 代码自动补全工具

安装完PyTorch后,运行程序输出正常,但是发现PyCharm有的函数却不会自动补全。如何解决? 方法就是写一个.pyi文件。这个文件里把你的函数、类的输入输出等定义好,PyCharm会自动识别。而在Python运行时又会直接忽略这个文件。因此我们就可以在完全不影响PyTorch本身的情况下为其增加类型提示。

2019-03-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除