自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 2021-01-28多数据源的动态切换(2)

springBoot jpa 多数据源的动态切换参考地址:https://blog.csdn.net/sunshine920103/article/details/50363315此方式适合对数据库进行业务拆分的情况,比如基础数据在一个数据库,重要的业务数据在一个库,日志又是存在另外一个库,只要是把原本在一个数据库的数据进行拆分到多个数据库就适合此方式pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns=

2021-01-28 18:03:46 208

原创 2021-01-28多数据源的动态切换 (1)

springBoot jpa 多数据源的动态切换参考博客地址:https://blog.csdn.net/sunshine920103/article/details/50363315下面是自己的demo实现;此实现方式能做到根据用户的不同或者权限的不同(自己定义路由规则)而切换到不同的数据库(数据源)。pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apach...

2021-01-28 17:33:29 204

原创 整理JAVA领域的单例设计模式

单例设计模式在程序设计里面被广泛使用,单例的实现方式也各种各样。单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并 提供一个全局访问点。单例模式是创建型模式。单例模式在现实生活中应用也非常广泛。 例如,国家主席、公司 CEO、部门经理等。在 J2EE 标准中,ServletContext、 ServletContextConfig 等;在 Spring 框架应用中 ApplicationContext;数据库的连接 池也都是单例形式。.

2020-11-01 23:33:31 178

转载 Java对象的复制三种方式

1、概述在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。例如下面程序展示的情况:class Student { private int number; public int getNumber() { return number; }

2020-11-01 10:41:04 27471 1

原创 多线程之间的通讯方式-生产和消费(包括连续的生产和消费demo01实现)

DEMO01:/** * 使用Object wait notify 控制线程通信(第一种方式) * * 并实现生产--》提货--》再次生产---》再次提货的循环体系,加载sleep时间,类似定时器, * 但是有区别,本实例在不同的线程执行,有生产线程,有消费线程 */public class ObjectWaitNotify { static Object object=new Object(); public static List<String> li

2020-10-31 18:55:48 138

原创 springboot启动过程涉及的类和接口

1.会先检查环境配置:No active profile set, falling back to default profiles: default2.如果有mybatis starter ,会检查No MyBatis mapper was found in '[com]' package. Please check your configuration. -----这个扫描类检查:ClassPathMapperScanner3.嵌入tomcat配置类启动:spring.factories--.

2020-06-14 23:09:37 452

原创 spring源码学习之整合Mybatis原理分析--转

本文主要解析spring是如何与mybatis进行整合,整合的过程中需要哪些组件的支持。以前面提到过的配置例子《spring源码学习之aop事物标签解析》整合的过程中需要使用以下这个依赖包:<!-- mybatis-spring 整合 --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <...

2020-06-14 09:50:52 136

原创 深入理解Spring 之 Spring 进阶开发必知必会 之 Spring 扩展接口--转

我们在前几篇文章中已经深入了解了 Spring 的 IOC 机制和 AOP 机制,在阅读源码的同时,楼主对 Spring 中设计模式的运用可以说五体投地,还有我们还知道更重要的一点就是:Spring 留给了我们大量的扩展接口供开发者去自定义自己的功能,甚至于 AOP 就是在 Spring 预留的扩展接口中实现的,意思是只要基于 Spring IOC,遵守 Spring 对扩展接口的约定,那么就能实现自己想要的功能。可见 IOC 的强大,那么。今天我们就将 Spring 留给我们的接口拿出来说一说。而我们的标

2020-06-13 19:50:10 300

原创 Spring MVC : 注解@ControllerAdvice的工作原理==转载

这篇关于@ControllerAdvice 搭配@ExceptionHandler;@ModelAttribute;@InitBinder 使用的博客介绍的基本原理是最好理解的,防止以后找不到,我记录下地址:https://blog.csdn.net/andy_zhang2007/article/details/100041219想进一步了解异常处理机制,可以深入进入此类详解:ExceptionHandlerExceptionResolver...

2020-06-08 08:48:44 767

原创 2020年最新版的spring-kafka 整合消费者端代码实践---采用原始的方式,非@KafkaListener注解监听方式

spring-kafka 整合消费端代码1.pom 文件依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

2020-05-30 23:24:52 2867

原创 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  二.CyclicBarrier用法  三.Semaphore用法  若有不正之处请多多谅解,并欢迎批评指正。  请...

2019-04-01 10:46:06 79

原创 HashMap与Currenthashmap源码解读

前言Map 这样的Key Value在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。HashMap众所周知 HashMap 底层是基于数组 + 链表组成的,不过在 jdk1.7 和 1.8 中具...

2019-03-28 13:55:50 127

原创 JAVA8 十大新特性详解

前言:Java8 已经发布很久了,很多报道表明Java8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versus In...

2019-03-28 10:20:26 89

原创 并发编程的CAS原理

概述CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。CAS也是现在面试经常问的问题,本文将深入的介绍CAS的原理。案例介绍CAS之前,我们先来看一个例子。上面这个例子在volatile关键字详解文中用过,我们知道,运行完这段代码之后,并不会获得期望的结果,而且会发现每次运行程序,输出的结果都不一样,...

2019-03-25 10:57:54 337

原创 Lock 的简介及使用

Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中),它包含以下方法//尝试获取锁,获取成功则返回,否则阻塞当前线程void lock(); //尝试获取锁,线程在成功获取锁之前被中断,则放弃获取锁,抛出异常 void lockInterruptibl...

2019-03-25 10:51:11 351

原创 深入JVM锁机制1-synchronized

目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊...

2019-03-24 15:05:01 84

原创 java 序列化、反序列化和transient关键字的作用

平时我们在Java内存中的对象,是无 法进行IO操作或者网络通信的,因为在进行IO操作或者网络通信的时候,人家根本不知道内存中的对象是个什么东西,因此必须将对象以某种方式表示出来,即 存储对象中的状态。一个Java对象的表示有各种各样的方式,Java本身也提供给了用户一种表示对象的方式,那就是序列化。换句话说,序列化只是表示对 象的一种方式而已。OK,有了序列化,那么必然有反序列化,...

2019-03-22 10:42:16 102

原创 volatile和synchronized的作用和区别

volatile和synchronized的作用和区别是什么?java的线程抽象内存模型 java的线程抽象内存模型中定义了每个线程都有一份自己的私有内存,里面存放自己私有的数据,其他线程不能直接访问,而一些共享数据则存在主内存中,供所有线程进行访问。上图中,如果线程A和线程B要进行通信,就要经过主内存,比如线程B要获取线程A修改后的共享变量的值,要经过下面两步:...

2019-03-19 11:16:06 124

springboot启动日志

springboot启动日志

2020-06-14

springboot初始化过程涉及类和接口

springboot初始化过程涉及类和接口

2020-06-14

空空如也

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

TA关注的人

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