
知识点记述
文章平均质量分 56
共舞~
这个作者很懒,什么都没留下…
展开
-
SpringBoot+Mybatis项目使用mybatis调用存储过程传入参数并接收返回值实现方式
背景:项目中需要使用存储过程做积分与余额的转化,需要传入类型来决定处理哪种类型的账户进行转化,也需要接收转化数目。存储过程已经写好,但是一直接收不到存储过程的返回值,纠结了很久终于解决,在网上搜索的处理方式也都是看的一知半解,所以做下记录。一、存储过程:DROP PROCEDURE pro_member_credits_transfer;CREATE PROCEDURE pro_m...原创 2019-11-14 21:37:17 · 8047 阅读 · 0 评论 -
Java中的几种阻塞队列
Java中的几种阻塞队列发表于2017-05-09Java中的BlockingQueue接口是一个线程安全的存取队列,适用于生产者消费者的应用场景中,支持两个附加操作:生产者线程会一直不断的往阻塞队列中放入数据,直到队列满了为止。队列满了后,生产者线程阻塞等待消费者线程取出数据。 消费者线程会一直不断的从阻塞队列中取出数据,直到队列空了为止。队列空了后,消费者线程阻塞等待生产者线...转载 2019-01-23 10:45:21 · 14238 阅读 · 2 评论 -
Volatile关键字解析
在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。下面我们以一次假想的面试过程,来深入了解下volitile关键字吧!面试官: Java并发这块了解的怎么样?说说你对v...转载 2019-03-06 09:12:30 · 200 阅读 · 0 评论 -
Linux的tar命令
Linux下的tar压缩解压缩命令详解tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:...转载 2019-03-06 22:40:25 · 166 阅读 · 0 评论 -
Zookeeper 在 Kafka 中的作用
Zookeeper 在 Kafka 中的作用leader 选举 和 follower 信息同步如上图所示,kafaka集群的 broker,和 Consumer 都需要连接 Zookeeper。Producer 直接连接 Broker。Producer 把数据上传到 Broker,Producer可以指定数据有几个分区、几个备份。上面的图中,数据有两个分区 0、1,每个分区...转载 2019-03-06 23:57:31 · 432 阅读 · 0 评论 -
BlockingQueue存取方法
本篇文章对BlockingQueue的源码进行分析,主要是对BlockingQueue的出队入队方法进行分析,以加深印象BlockingQueue是Queue的子接口//入队方法 四个boolean add(E e); //元素入队,如果入队成功返回true,如果失败则抛出异常boolean offer(E e); //元素入队,如果入队成功返回true,如果失败则返回fa...原创 2019-03-14 12:11:14 · 492 阅读 · 0 评论 -
JVM内存模型(面试自用)
请讲一讲你对JVM内存模型的了解?首先要说一下JVM内存空间分为五部分,分别是:方法区、堆、Java虚拟机栈、本地方法栈、程序计数器方法区主要用来存放类信息、类的静态变量、常量、运行时常量池等,方法区的大小是可以动态扩展的,堆主要存放的是数组、类的实例对象、字符串常量池等。Java虚拟机栈是描述JAVA方法运行过程的内存模型,Java虚拟机栈会为每一个即将执行的方法创建一个叫做“栈...原创 2019-03-07 21:35:06 · 19178 阅读 · 18 评论 -
JVM中的GC(面试自用)
谈谈你对JVM的GC的理解首先JVM中对内存的分配和回收是不需要人工参与的,java虚拟机中的垃圾回收机制会对无用对象进行回收。 那么什么无用对象呢,有两种方式进行判断,一、引用计数法,每个对象维护一个计数器,当有一个引用指向它时,该计数器+1,当引用断开时,该计数器-1,等到JVM中GC进行垃圾回收的时候,会把引用计数器值为0的对象进行回收,这种方法有一个缺点,那就是对循环引用...原创 2019-03-12 11:56:40 · 341 阅读 · 0 评论 -
Spring事务管理+SpringBoot中事务代码实现
谈谈对Spring中事务管理的理解结合在慕课网中的课程去谈Spring的事务。Spring的事务管理提供了三个重要接口,分别是PlatformTransactionManager,TransactionDefinition、TransactionStatus。我们分别介绍一下,PlatformTransactionManager是Spring为事务提供的平台事务管理器,所有的Sprin...原创 2019-03-21 12:15:22 · 1142 阅读 · 0 评论 -
Synchronized和ReentrantLock 的区别
说说Synchronized和Lock(ReenTrantLock)的区别1、首先实现层面上,Synchronized是Java关键字,是在JVM层面上实现的同步;而ReentrantLock则是在JDK的层面上编写的Java同步类2、公平锁和非公平锁上,Synchronized是非公平锁,而ReentrantLock可以指定非公平锁或公平锁,默认是非公平锁3、可重入性上,Synch...原创 2019-03-18 10:43:14 · 326 阅读 · 0 评论 -
Docker中启动redis
Windows10系统1、使用命令:docker pull redis 来下载redis镜像。2、通过命令docker images来查看redis镜像是否安装成功3、安装成功后通过 docker run --name java_redis -d redis 来运行redis4、通过命令docker ps来查看redis是否启动成功5、当redis启动成功后,通过命令d...原创 2019-04-03 20:21:28 · 1386 阅读 · 0 评论 -
TCP三次握手
TCP(Transmission Control Protocol 传输控制协议) 三次握手是一个老生长谈的问题,此处也讲一讲,让自己再次加深一下记忆并深化讲一下。这里先引用一个从朋友那里看到的例子:A和B进行通信A:您好,我是AB:您好,我是BA:您好 B我们也常称为“请求-应答-应答之应答”的三个回合,这个说起来简单,其实里面还是有很多的学问,很多的细节。首先,为什么要...原创 2019-01-15 11:18:31 · 232 阅读 · 0 评论 -
设计模式之装饰器模式
这篇讲解装饰器模式。原创 2019-01-07 11:31:33 · 150 阅读 · 0 评论 -
JUnit4常见注解和使用方法记述
一、JUnit4常见注解和使用方法说明1、最常见的是@Test注解,@Test注解的方法会被当成测试用例的测试方法当测试用例执行时默认执行所有测试方法。 @Test注解可以接收两个参数。@Test(expected = NullPointerException.class,timeout = 5000) ① 第一个参数用来设置测试方法所抛出的异常,如果测试方法执行时抛出该异...原创 2018-11-27 14:19:56 · 937 阅读 · 0 评论 -
Hibernate中对象的三种状态
发现很多介绍Hibernate对象的三种状态的博客,自己看了几遍老是记不住,现在自己也记述下吧。三种状态:1、瞬时态或者临时状态(transient),是指刚被new关键字创建出来的,还没有被持久化也没有存在于hibernate的session中的对象的状态。2、持久态或持久状态(persistent),是指在对象已经在数据库中有过保存的对象,并且该对象在hibernate的sessi...原创 2018-12-05 16:49:54 · 282 阅读 · 0 评论 -
HashMap源码学习
* @see HashMap* @see TreeMap* @see Hashtable* @see SortedMap* @see Collection* @see SetHashMap继承自AbstractMap类,AbstractMap类实现Map接口。一、HashMap中的常量(此处我的JDK是1.8):static final int DEFAULT_INITI...原创 2018-12-12 21:46:34 · 148 阅读 · 0 评论 -
HashMap的几个构造方法解析
HashMap的几个构造方法源码解析(基于JDK1.8中的HashMap源码)1、无参构造方法HashMap()/** * Constructs an empty <tt>HashMap</tt> with the default initial capacity * (16) and the default load factor (0.75).*/pu...原创 2018-12-15 19:11:37 · 11784 阅读 · 3 评论 -
基于Quartz的定时任务项目解析
准备写一下quartz的使用流程、注意事项和原理,毕竟用了很久了,不总结就没有提高。用两天时间创建一个quartz的项目,并根据项目做一下总结,并上传项目源码供大家参考。quartz的官网地址:http://www.quartz-scheduler.org/API地址:http://www.quartz-scheduler.org/api/2.2.1/index.html关于Qua...原创 2018-12-21 00:36:35 · 215 阅读 · 0 评论 -
Quartz详解
目录: 一、Quartz 基本介绍 1.1 Quartz 概述 1.2 Quartz特点 1.3 Quartz 集群配置 二、Quartz 原理及流程 2.1 quartz基本原理 2.2 quartz启动流程 三、Spring + Quartz ...转载 2018-12-21 10:28:34 · 2015 阅读 · 0 评论 -
SOAP WebService和RestFul 的区别
一、WebService涉及的相关概念:1、Soap:简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,由Dave Winer, Don Box,Bob Atkinson, Mohsen Al-Ghosein于1998年设计,当时只作为一种对象访问协议。现在SOAP采用了已经广泛使用的两个协议:HTTP 和XML(标准通用标记语...原创 2018-12-27 00:20:42 · 4033 阅读 · 0 评论 -
WebServices简介
先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构,既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型,架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期。而在 SOA 的架构风格中,服务是最核心的抽象手段。SOA 中的服务是构建在一些列基于开放标准的基础...转载 2018-12-27 18:18:51 · 9023 阅读 · 1 评论 -
Maven中dependency(依赖)的scope(作用域)
一、作用域列举Maven官网介绍:There are 6 scopes available:compile This is the default scope, used if none is specified. Compile dependencies are available in all classpaths of a project. Furthermore, those...原创 2018-12-28 19:12:45 · 3268 阅读 · 0 评论 -
设计模式之代理模式
这篇讲代理模式一、代理模式定义,代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式组成: 抽象角色: 通过接口或抽象类来声明真实角色实现的业务方法 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法 并可以附件...原创 2019-01-07 11:29:03 · 187 阅读 · 0 评论 -
设计模式之工厂模式
这篇讲解工厂模式。工厂模式:工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。工厂模式可划分为:简单工厂模式、工厂方法模式、抽象工厂模式。一、简单工厂模式:又成为静态工厂模式,通常是由工厂实例根据传入参数来决定需要创建哪种产品类实例。 代码实现(根据条件不同创建不同车型的车辆):首先是我们的工厂类:CarFactory.javapacka...原创 2019-01-07 11:30:07 · 224 阅读 · 0 评论 -
try catch finally知识点记述
一、try-catch-finally代码块的执行顺序: A)try没有捕获异常时,try代码块中的语句依次被执行,跳过catch。如果存在finally则执行finally代码块,否则执行后续代码。 B)try捕获到异常时,如果没有与之匹配的catch子句,则该异常交给JVM处理。如果存在finally,则其中的代码仍然被执行,但是finally之后的代码不会被执行。...转载 2018-11-21 11:09:28 · 506 阅读 · 0 评论