- 博客(145)
- 资源 (1)
- 收藏
- 关注
原创 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 605
原创 批量上传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 950 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 532
原创 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 175
原创 在 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 623
原创 springboot—spring aop 实现系统操作日志记录存储到数据库
采用方案: 使用spring 的 aop 技术切到自定义注解上,针对不同注解标志进行参数解析,记录日志缺点:要针对每个不同的注解标志进行分别取注解标志,获取参数进行日志记录输出1. 需要引用的依赖<!--spring切面aop依赖--><dependency> <groupId>org.springframework.boot</g...
2020-04-23 19:41:11 4520 1
原创 HikariCP连接池监控
Spring-Boot-2.0.0-M1 版本将默认的数据库连接池从tomcat jdbc pool改为了hikari,通过HikariCP可以分析慢查询是什么导致的!
2020-04-20 11:50:07 2320
原创 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 301
原创 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 761
原创 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 5336
原创 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 233
原创 单例模式安全之反射攻击
单例模式这里就不谈了,什么是单例模式可参考七种Java单例模式详解,这里是关于单例模式安全方面的,当然了这里说的安全不是线程安全。什么是反射攻击呢在Java中,由于反射的功能实在是太强了,通过动态访问类并设置Access(如setAccessible(true))使得可以访问对象的私有属性方法等。 在单例模式中,我们使用private 修饰构造方法对外隐藏,防止外部new 对象,但是在反...
2020-03-10 15:10:09 582
原创 Volatile-内存屏障
Java 中如何保证底层操作的有序性和可见性?可以通过内存屏障。内存屏障是被插入两个 CPU 指令之间的一种指令,用来禁止处理器指令发生重排序(像屏障一样),从而保障有序性的。另外,为了达到屏障的效果,它也会使处理器写入、读取值之前,将主内存的值写入高速缓存,并清空无效队列,从而保障可见性。...
2020-03-10 14:16:27 329
原创 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 957 1
原创 四大函数式接口(必需掌握)
新时代的程序员: lambda表达式、链式编程、函数式接口、Stream流式计算1. 函数式接口: 只有一个方法的接口@FunctionalInterfacepublic interface Runnable { void run();}// 简化编程模型,在新版本的框架底层大量应用!只要是 函数型接口 就可以 用 lambda表达式简化:import...
2020-03-10 13:11:27 1159 2
原创 线程池(重点)
线程池: 3大方法、4种拒绝策略、7大参数池化技术: 事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我。线程池的好处:1、降低资源的消耗2、提高响应的速度3、方便管理。线程复用、可以控制最大并发数、管理线程阿里巴巴java开发手册明确指出:【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让...
2020-03-10 11:40:28 163
原创 阻塞队列
什么情况下我们会使用 阻塞队列: 多线程并发处理, 线程池!四组API:SynchronousQueue 同步队列:没有容量,进去一个元素,必须等待取出来之后,才能再往里面放一个元素!和其他的BlockingQueue 不一样, SynchronousQueue 不存储元素put了一个元素,必须从里面先take取出来,否则不能在put进去值!BlockingQue...
2020-03-10 10:53:50 172
原创 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 243
原创 常用的辅助类(必会)
1. CountDownLatch: 减法计数器public class CountDownLatch extends Object允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。A CountDownLatch用给定的计数初始化。 await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await ...
2020-03-10 10:05:09 376
原创 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 357 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 291
原创 生产者和消费者问题
生产者和消费者问题 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 382
原创 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 176
原创 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 513
原创 BeanFactory 简介以及它 和FactoryBean的区别
BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。ApplicationContext接口,它由BeanFactory接口派生而来,ApplicationContext包含BeanFactory的所有功能,通常建议比Bean...
2020-03-06 14:24:17 260
原创 CGLib介绍
1. CGLIB介绍CGLIB(Code Generation Library)是一个开源项目!是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如Spring AOP为他们提供方法的interception(拦截)。CGLIB包的底层是通过使用一个小而快的字节码处理框...
2020-03-03 17:27:35 2417
原创 ThreadLocal-hash冲突与内存泄漏
ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不同的变量值完成操作的场景。从数据结构入手下图为ThreadLocal的内部结构图ThreadLocal结构内部从上面的结构图,我们已经窥见ThreadLo...
2020-03-03 14:38:17 5702 3
PyTorch 代码自动补全工具
2019-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人