自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿甘的博客

生活就像一盒巧克力,你永远不知道下一颗是什么味道。

  • 博客(49)
  • 收藏
  • 关注

转载 IllegalArgumentException: jdbcUrl is required with driverClassName

https://my.oschina.net/chinesedragon/blog/1647846

2019-10-28 11:15:16 316

转载 spring容器和springmvc容器,以及web容器的关系

首先 springmvc和spring它俩都是容器,容器就是管理对象的地方,例如Tomcat,就是管理servlet对象的,而springMVC容器和spring容器,就是管理bean对象的地方,再说的直白点,springmvc就是管理controller对象的容器,spring就是管理service和dao的容器,这下你明白了吧。所以我们在springmvc的配置文件里配置的扫描路径就是cont...

2019-09-16 13:44:20 366

原创 You must configure either the server or JDBC driver (via the serverTimezone configuration property)

在SpringBoot项目中,在application.properties文件中配置Mysql数据源时出现以下问题:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource ...

2019-09-11 17:35:03 362

原创 深入理解volatile关键字

1.volatile与可见性A线程将共享变量读进工作内存中,同时B线程也将共享变量读进工作内存中。 在A线程对共享变量修改后,会立即刷新到主内存,此时B线程的工作内存中的共享变量就会被设置无效,需要从主内存中重新读取新值。反映到硬件上就是CPU的Cache line 置为无效状态。2.volatile与有序性被volatile修饰的变量在底层会加一个“lock:”的前缀,带"lock"...

2019-09-10 14:46:03 178

翻译 分布式三大利器之限流

一、什么是服务限流什么是服务限流呢?限流即限制并发量,限制某一段时间只有指定数量的请求进入后台服务器,遇到流量高峰期或者流量突增时,把流量速率限制在系统所能接受的合理范围之内,不至于让系统被高流量击垮。限流与缓存、降级统称为分布式系统的三大利器,最终目的都是用来保护系统稳定运行。二、如何实现服务限流怎么实现服务限流呢?开发过程中或多或少会接触到服务限流,比如tomcat限制最大连接数、...

2019-09-10 11:16:12 567

原创 插入排序法

public static void main(String[] args) { int n[] = { 6, 5, 2, 7, 3, 9, 8 }; insertSort(n); System.out.print("插入排序结果:"); for (int m : n) { System.o...

2019-09-09 14:33:32 168

原创 睡眠排序法

public static void main(String[] args) { int[] arr = {1,4,7,3,8,9,2,6,5}; //创建指定长度的线程数组 SThread[] threads = new SThread[arr.length]; //指定每个线程数组的值 for (int i =...

2019-09-09 14:04:04 246

原创 java8 -- 异步编程

一:创建任务并执行任务1:无参创建:CompletableFuture<String> noArgsFuture = new CompletableFuture<>();2:传入相应任务,无返回值(runAsync方法可以在后台执行异步计算,但是此时并没有返回值。持有一个Runnable对象。)CompletableFuture noReturn = Comp...

2019-08-17 15:42:21 1161

原创 linux系统中redis下载安装及基本操作

1:进入到linux指定目录中 cd/usr/local 路径看你自己情况2:下载redis,执行如下命令:wget http://download.redis.io/releases/redis-4.0.11.tar.gz注:mv命令是将下载的文件移动到指定的目录中.如果你下载到了指定目录,可以不用此命令3:解压:tar xzf redis-4.0.11.ta...

2019-08-09 16:56:48 594

原创 并发修改异常

https://www.cnblogs.com/xingzc/p/5778090.html

2019-07-31 11:24:43 288

原创 Collections 工具类和 Arrays 工具类常见方法总结

Collections 工具类常用方法:排序操作void reverse(List list)//反转void shuffle(List list)//随机排序void sort(List list)//按自然排序的升序排序void sort(List list, Comparator c)//定制排序,由Comparator控制排序逻辑void swap(List list,...

2019-07-22 20:08:17 1008

原创 String 类和常量池

1:String 对象的两种创建方式:String str1 = "abcd";//先检查字符串常量池中有没有"abcd",如果字符串常量池中没有,则创建一个,然后 str1 指向字符串常量池中的对象,如果有,则直接将 str1 指向"abcd"";String str2 = new String("abcd");//堆中创建一个新的对象String str3 = new String(...

2019-07-22 19:05:04 172

转载 虚拟机那些事

3.1 对象的创建Step1:类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。Step2:分配内存 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成...

2019-07-22 18:30:32 198

原创 LocalDateTime和Date使用

// 定义指定时间// LocalDateTime localDateTime = LocalDateTime.of(2019, 07, 19, 9, 20, 22);// LocalDateTime now = LocalDateTime.now();// now.getMonth(); // 获取 年 月 天 小时 分钟等等 ...

2019-07-19 11:08:53 1503

转载 乐观锁与悲观锁及应用举例(转)

转载:https://blog.youkuaiyun.com/jirongzi_cs2011/article/details/43120145?utm_source=blogxgwz0最近因为在工作中需要,学习了乐观锁与悲观锁的相关知识,这里我通过这篇文章,把我自己对这两个“锁家”兄弟理解记录下来;- 悲观锁:正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务...

2019-06-13 10:24:09 927

原创 java中的四个元注解

@Target 表示该注解声明于什么地方? ElementType.TYPE:类、接口、注解、枚举 ElementType.FIELD:字段、枚举常量 ElementType.METHOD:方法 ElementType.PARAMETER:形式参数 ElementType.CONSTRUCTOR:构造方法...

2019-05-29 15:06:43 1133

原创 java8之LinkedList集合源码解析

// 当前链表的元素个数transient int size = 0;// 链表的头部transient Node<E> first;// 链表的尾部transient Node<E> last;构造方法解析:// 这种是创建一个空的链表 public LinkedList() { }// 使用已有的集合创建链表 pub...

2019-04-17 15:42:51 231

原创 java1.8之ArrayList集合源码解析

成员变量源码// 默认的初始化容量private static final int DEFAULT_CAPACITY = 10;// 用于空实例的共享空数组实例private static final Object[] EMPTY_ELEMENTDATA = {};//用于默认大小的空实例的共享空数组实例。我们将其与空元素数据区分开来,以了解何时充气添加第一个元素。privat...

2019-04-15 22:00:09 121

原创 Synchornized底层实现

start

2019-03-26 17:15:19 305

转载 ActiveMQ总结

1:ActiveMQ的四种持久化方案: (1).AMQ消息存储-基于文件的存储方式,是以前的默认消息存储  (2).KahaDB消息存储-提供了容量的提升和恢复能力,是现在的默认存储方式  (3).JDBC消息存储-消息基于JDBC存储的  (4).Memory消息存储-基于内存的消息存储2: ActiveMQ的四种持久化方案详解:(1)kahaDB...

2019-03-26 17:11:20 276

转载 redis配置文件redis.conf

 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k =&gt; 1000 bytes# 1kb =&gt; 1024 bytes# 1m =&gt; 1000000 bytes# 1mb =&gt; 1024*1024 bytes# 1g =&gt; 100000000...

2019-01-24 16:36:31 142

原创 springboot启动扫描不到dao层接口

Field girlDao in com.example.springbootdemo.service.impl.GirlServiceImpl required a bean of type 'com.example.springbootdemo.dao.GirlDao' that could not be found.  原因:启动类缺少注解MapperScan(""),dao包的...

2019-01-16 16:24:52 6153 1

原创 异常

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'girls.hibernate_sequence' doesn't exist    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_171] ...

2019-01-16 15:30:27 247

转载 Hash表

什么是哈希表?在JDK1.8之前,哈希表底层采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,哈希表存储采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。简单的来说,哈希表是由数组+链表+红黑树(JDK1....

2019-01-15 15:30:37 163

转载 Java中的hashcode方法

在java中,hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet、HashMap以及HashTable。为什么这么说呢?考虑一种情况,当向集合中插入对象时,如何判别在集合中是否已经存在该对象了?(注意:集合中不允许重复的元素存在)  也许大多数人都会想到调用equals方法来逐个进行比较,这个方法确实可行。但是如果集合中已经存在一万条数据或...

2019-01-15 10:57:02 812

原创 Spring两大核心之AOP学习

正文在软件开发中,散布于应用中多处的功能被称为横切关注点(cross-cutting concern)。通常来讲,这些横切关注点从概念上是与应用的业务逻辑相分离的。比如:日志、声明式事物、安全和缓存。这些东西都不是我们平时写代码的核心功能,但许多地方都要用到。把这些横切关注点与业务相分离正是面向切面编程(AOP)索要解决的问题。简单的说就是把这些许多地方都要用到,但又不是核心业务的功能...

2018-10-22 15:09:52 292

转载 (六)-服务注册与发现

1.背景l  服务的客户端(包括API网关或者其他服务)如何获取服务端实例的位置l  每个服务端实例都会在特定的位置(主机及端口)通过HTTP/REST或者Thrift等方式发布一个远程APIl  服务端实例的具体数量和位置会发生动态变化l  虚拟机与容器通常会被分配动态IP地址2.方案2.1 客户端服务发现2.2 客户端服务发现的优缺点 (1)优点 ...

2018-10-19 14:09:16 219

转载 (五)-微服务之间的交互

 Microservice架构模式中的“开”是各个服务的内部实现,而其中的“闭”则是各个服务之间相互沟通的方式 微服务必须使用进程间通信机制来交互。微服务架构有两类IPC机制可选,异步消息机制和同步请求/响应机制。当设计服务的通信模式时,需要考虑几个问题:服务如何交互,每个服务如何标识API,如何升级API,以及如何处理部分失败。1. API GateWay 模式1.1 ...

2018-10-19 14:06:24 4138

转载 微服务架构的六种模式

1.微服务架构模式方案用Scale Cube方法设计应用架构,将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。每个服务可以有自己独立的数据库,从而保证与其他服务解耦。1.1 聚合器微服务设计模式        聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数...

2018-10-19 14:04:09 4276

原创 微服务重要部件

 1. 微服务基本能力 2.1 Restful 轻量级通讯的首选方式   在微服务架构下,推崇使用轻量级的方式进行通讯。我们选择Restful的进行通讯。每个微服务都统一对外提供rest服务。无论前端调用后端服务还是后端之间的服务调用都统一走restful,这样就统一了协议栈。微服务架构可以支持各种异构系统服务间的交互。2.2 RPC通讯统一的RPC框架是服务化首先要解决的...

2018-10-19 13:58:19 625

转载 微服务实践先知

1. 客户端如何访问这些服务?(API Gateway)传统的开发方式,所有的服务都是本地的,UI可以直接调用,现在按功能拆分成独立的服务,跑在独立的一般都在独立的虚拟机上的 Java进程了。客户端UI如何访问他的?后台有N个服务,前台就需要记住管理N个服务,一个服务下线/更新/升级,前台就要重新部署,这明显不服务我们 拆分的理念,特别当前台是移动应用的时候,通常业务变化的节奏更快。另外,N个...

2018-10-19 13:50:31 199

翻译 初识微服务

1. 什么是微服务      在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。 而所谓服务,一定要...

2018-10-19 10:37:34 181

原创 反射机制的一般步骤

首先,回答什么是反射?答:反射是一种间接操作目标对象的机制,在程序程序运行时获取或者设置对象自身的信息。 只要给定类的名字,就可以通过反射获取类的所有信息,接着便能调用它的任何一个方法和属性。反射的步骤有哪些?第一:获取类加载器:ClassLoader loader=Thread.currentThread().getContextClassLoader();//获取当前线程的上下文类...

2018-08-29 17:34:01 1700

转载 java多线程之线程--调度

Thread.sleep(500);会让主线程睡眠500毫秒                        线程的调度计算机通常只有一个CPU,在任意时刻只能执行一条机器指令,每个线程只有获得CPU的使用权才能执行指令。所谓多线程的并发运行,其实是从宏观上看,各个线程轮流获得CPU的使用权才能执行指令,分别执行各自的任务。在可运行池中,会有多个处于就绪态的线程在等待CPU,Java虚拟机的一项...

2018-08-29 16:47:19 204

转载 SpringBoot整合logBack日志

本次演示的代码结构如下,基于maven,整合SpringBoot、Spring、Mybaits的SSM框架。同时测试logback日志框架的使用及配置。1.创建maven工程,修改pom.xml文件   &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20...

2018-08-20 15:11:26 433

转载 log4j日志级别以及配置

日志记录器(Logger)的行为是分等级的。分为 - OFF - FATAL - WARN - INFO - DEBUG - TRACE - ALL Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。 比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志...

2018-08-20 14:47:00 569

原创 SpringBoot学习--使用jackson返回json数据

目前java json解析工具有阿里的fastjson,google的GSON,以及SpringMVC 默认的解析工具Jackson。SpringBoot默认自带是jackson,很多json转换速率的比对,如jackson,阿里的fastjson等,jackson足够使用了.使用jackson1.pom.xml文件中引用依赖包.&lt;dependency&gt; &l...

2018-08-17 11:21:42 13016 3

原创 SpringBoot--默认日志logback配置解析

前言今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用?正文Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback...

2018-08-14 17:23:33 328

原创 mysql的多表查询总结

一.前言上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 :1.1多表连接有哪些分类?1.2针对这些分类有哪些连接方法?1.3这些连接方法分别作用于哪些应用场景?这篇针对这三个点通过实例来讲述,目的是穷尽所有的场景和所有的方法,并且对每个方法的使用做实例。首先先列举本篇用到的分类(内连接,外连接,交叉连接)和连接...

2018-08-12 19:45:41 402

转载 java中几个主流的数据库连接池

池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。这里所说的池是一种广义上的池,比如数据库连接池、线程池、内存池、对象池等。其中,对象池可以看成保存对象的容器,在进程初始化时创建一定数量的对象。需要时直接从池中取出一个空闲对象,用完后并不直接释放掉对象,而是再放到对象池中以方便下一次对象请求可以直接复用。其他几种池的设计思想也是如此,池技术的优势是...

2018-08-12 19:12:03 113077 8

空空如也

空空如也

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

TA关注的人

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