自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 最全面的单例模式讲解

作为一名程序员,或许谁都能说出一种或几种设计模式,其中单利模式是最常见、最简单的一种设计模式,但是我们或许对单例模式的了解不一定全面。今天我们就探讨下单例模式。 【单例模式的定义】 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 【单例模式的三个基本要点】 ...

2020-01-03 16:29:06

阅读数 10

评论数 0

转载 分布式事务问题解决方案

在分布式系统中,同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题,各种解决方案孰优孰劣?老司机介绍 丁浪,现就职于某垂直电商平台,担任技术架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于...

2019-12-12 17:02:35

阅读数 13

评论数 0

原创 Jdbctemplate中query、queryForObject、queryForList、queryForMap方法使用

程序猿的成长其实是很苦逼的,怎么说呢,就是一路打怪升级,当遇到好多怪都打不动了,那么也就无法升级了;或者说就是不断入坑出坑的过程,一旦一个或多个坑都无法跳出来,也就over了。 最近工作中这个jdbctemplate中方法的使用问题就遇到过2次基本相同的问题,一次是自己遇到,一次是同事问我时...

2019-12-12 16:45:04

阅读数 43

评论数 0

原创 HttpClient工具

近期在做项目时用到HttpClient工具,用来获取一个pdf文件的链接,然后把pdf转换成图片。现在对HttpClient这个工具的使用做下记录,方便以后查阅。 HttpClient作用:用来模拟发送get或者post请求,并获取请求返回结果。 HttpClient使用步骤: 无...

2019-12-05 13:32:39

阅读数 6

评论数 0

转载 java.util.Date与java.sql.Date间互相转换及格式化

https://blog.csdn.net/engerla/article/details/81298645

2019-11-26 14:48:48

阅读数 11

评论数 0

原创 关于oracle数据库查询出的日期带毫秒的解决办法

近期开发遇到一个oracle方面日期查询的细节问题。在这里记录下。 问题描述:从oracle数据库查询一张表来获取记录里的日期字段,从数据库客户端查看日期格式为=2019-11-25 00:00:00,由于我在java代码中对应的接受改日期的字段startDate是string类型,然后利用...

2019-11-25 10:59:44

阅读数 81

评论数 0

原创 JVM性能调优之三垃圾回收机制

我们大家都知道,java的内存回收不需要程序员过多关注,是由JVM自行回收的。但是完全依靠JVM的GC,在一些场景下可能效果不是很好,需要人为调优。 面对不同的业务场景,垃圾回收的调优策略也不一样。例如,在对内存要求苛刻的情况下,需要提高对象的回收效率;在 CPU 使用率高的情况下,需要降低...

2019-11-06 16:35:23

阅读数 15

评论数 0

原创 JVM性能调优之二即时编译器JIT

java分前端编译和运行时编译。 其中java文件被编译成class文件的过程,我们称之为前端编译。 class文件的字节码被编译成机器码的过程,我们称之为运行时编译。运行时编译是通过解释器和JIT实现的。 一、什么是即时编译JIT 虚拟机中字节码是由解释器完成编译的,当...

2019-10-30 15:49:55

阅读数 17

评论数 0

原创 JVM性能调优之一JVM内存结构

这段时间对JVM性能调优进行学习,为了巩固知识和加深理解,先对所学内容进行简单的总结。 【JVM内存模型】 JVM内存模型主要分为:堆、程序计数器、方法区、虚拟机栈、本地方法栈。 其中堆和方法区的内存是线程共享的。 1、堆内存(Heap) 堆内存是JVM中最大一块内存,...

2019-10-30 15:14:32

阅读数 11

评论数 0

转载 Spring Batch批作业讲解--转载

https://www.cnblogs.com/gulvzhe/archive/2011/12/20/2295090.html

2019-10-16 17:23:10

阅读数 7

评论数 0

原创 多线程性能调优(二)--上下文切换

在多线程编程中,为了保证数据的原子性,我们会使用到锁,那么在高并发场景,由于多个线程竞争锁,就产生了上下文切换(Context Switch),而频繁的上下文切换是非常耗资源的,这是造成性能低下的主要原因。 那么到底什么是上下文切换?什么情况下发生上下文切换?如何减少上下文切换呢?我们...

2019-10-12 17:43:47

阅读数 17

评论数 0

原创 多线程性能调优(一)--锁

现在的业务场景用到多线程的情况越来越多,那么多线程调优就是一个无法避开的话题,而线程调优主要是避免锁竞争,减少上下文切换。所以先简单说说【锁】。 在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性,为了保证数据的原子性,就必须用到锁。 【锁的分类】 Sy...

2019-10-12 17:11:18

阅读数 28

评论数 0

转载 Dump文件分析讲解

https://blog.csdn.net/sheldon178/article/details/79543671

2019-09-17 11:26:39

阅读数 47

评论数 0

原创 从list中删除某几个元素的方法

对于从list中删除某个元素,我以前都是采用倒序遍历删除的方式,今天看到一种正序遍历的方式删除某个元素,给我第一反应会数组越界,但是但是...没有数组越界。记录下这种方式。 List<Integer> listInt = new ArrayList<>(); ...

2019-09-10 14:11:25

阅读数 1330

评论数 0

原创 soapUI5.0压力测试及相关参数详解

一、建立测试项目 在Project上右键,弹出如下图 如果接口报文是xml格式,就建立new soap project;如果接口报文是json格式,就建立new rest project 输入调用地址,点击ok,弹出下图 二、生成压力测试单元 输入一个名字...

2019-09-04 16:11:15

阅读数 51

评论数 0

原创 HashMap实现存储原理及性能优化

最近工作比较忙,好久不写点东西了.......(其实是比较懒) 这几天在看JAVA性能调优中讲到HashMap性能优化。这篇文章着实对我印象深刻,印象深刻的原因有两个:一是这篇文章耗时较长,看了三天,一天一遍;二是文章里面涉及知识较多,比较难理解。其实在学习一个新技能时,尤其是新框架或者读源...

2019-07-11 14:28:41

阅读数 25

评论数 0

原创 多任务线程池CompletionService使用详解

一、应用场景 当多个任务需要在线程池里执行时需要CompletionService 二、实战项目例子 比如有一个大bigList集合,需要根据大List集合内的每个元素去查询数据库,如果把这个大bigList一下放到线程池中执行,由于硬件设备cpu盒数、线程池配置的线程数等影响,...

2019-04-02 20:10:39

阅读数 103

评论数 0

原创 复杂对象的深度克隆

说到对象的复制或者克隆,大家可能会想到一下几种工具类: 1、BO克隆:BeanUtils.copyProperties(srcObj,destObj) spring框架提供的工具类,第一个参数源数据,第二个 参数目标对象。注意源对象和目标对象中的属性名和属性类型必须完全一致,才能进行复制;该方法...

2019-03-22 20:23:54

阅读数 89

评论数 0

原创 Spring事务失效的几种原因

1、spring的事务注解@Transactional只能放在public修饰的方法上才起作用,如果放在其他非public(private,protected)方法上,虽然不报错,但是事务不起作用 2、如果采用spring+spring mvc,则context:component-scan重复...

2019-03-08 16:52:55

阅读数 1608

评论数 0

原创 利用递归遍历获取复杂对象中所有目标属性的值(三)

关于遍历复杂对象中目标属性的值的文章,这是我写的第三篇,也是目前为止我能想到的遍历效率最高的一篇,再前两篇基础上做了相关完善和优化,主要是思路改变了。 具体实现思路:在复杂对象的目标属性上增加自定义注解,目标属性所属类也可能是某个bo的属性,则在这个属性上增加另一个自定义注解,然后利用递归...

2019-03-06 18:48:12

阅读数 456

评论数 0

转载 Oracle 数据库中 同义词

一、Oracle数据只有一个实例(简单理解就是Oracle 只能建立一个数据库,不像MySQL,它下面可以创建N个库),那么Oracle是根据用户灵活去管理的;这点读起来、理解      起来也不那么难,但是除非自己亲自实现一把才理解深入点,刚接触数据库可能不是很理解这些; 二、Oracle中可以...

2019-02-26 15:01:13

阅读数 492

评论数 0

转载 oracle数据库 for update of和for update区别

对比区别:   select * from TTable1 for update 锁定表的所有行,只能读不能写   2  select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行   3  select * from Table1 a ...

2019-02-21 16:14:18

阅读数 494

评论数 0

原创 数据库的那些乱七八糟烦人的锁(数据库锁机制有这一篇就够了)

        锁机制是数据库一个比较重要的机制,在处理事务的并发性方面起着至关重要的作用,我也看过好多关于锁机制的文章blog,什么悲观锁、乐观锁?什么共享锁、排他锁?还有什么行级锁、表级锁?另外还有读锁、写锁?oh,my god!怎么这么多锁?今天终于静下心来好好研究梳理一番这些烦人的锁。 ...

2019-02-21 10:21:05

阅读数 378

评论数 0

原创 有关业务防重锁在项目中应用的一点探讨(包括在验证过程中遇到问题的汇总)

     最近在实际工作中遇到优化业务防重锁,在提出的新的设计方案的验证过程中遇到了许多问题,同时也学到了很多知识,现在把这些问题都记录下。 一、什么是业务防重锁         在一些实际场景中,相同的数据在短时间内连续提交,造成数据库数据不准确的一种情况,为避免这种情况发生,才有了防重锁。...

2019-02-20 12:27:00

阅读数 90

评论数 0

转载 oracle数据库事务和锁之间的关系

  事务 1. 说明   一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退。 2.事务相关概念   1)事务的提交和回滚:COMMIT/ROLLBACK   2)事务的开始和结束     开始事务:连接到数据库,执行DML、DCL、DDL语句     结束事务: 1. ...

2019-02-20 10:18:27

阅读数 365

评论数 0

转载 oracle数据库事务和锁

数据库事务概括 1. 说明   一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退。   2.事务相关概念   1)事务的提交和回滚:COMMIT/ROLLBACK   2)事务的开始和结束     开始事务:连接到数据库,执行DML、DCL、DDL语句     结束事务: ...

2019-02-20 10:16:55

阅读数 60

评论数 0

转载 Spring配置的事务注解不起作用问题

 项目相关信息:该项目所用技术有Spring+SpringMvc+Mybatis,是一个Java web 项目,在Spring配置了数据库事务(注解式),项目团队的风格是将事务注解加在实现类上(我一般是加在接口上),按理说,加上了事务注解,当该service类中方法如果出现了异常,数据将会回滚至最...

2019-02-19 18:37:32

阅读数 49

评论数 0

转载 Spring配置多数据源多事物配置详解

实际应用场景有个项目在配置Spring事务时,使用了@Transactional注解,但这个项目使用了多个数据源,而事务注解只对默认的是第一个事务 1)定义与事务管理器对应的事务通知  2)配置需要拦截的方法调用切面  3)将切入点连接到相应的事务 在Spring2.5之前,@Transactio...

2019-02-18 17:06:50

阅读数 64

评论数 0

转载 Spring事务传播行为最明明白白的详解

文章出处:https://segmentfault.com/a/1190000013341344 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spri...

2019-02-18 15:55:53

阅读数 52

评论数 0

转载 oracle 用户总是 频繁的被锁定 的解决办法

文章出处:https://blog.csdn.net/bzuld/article/details/34059549 频繁的被锁定是因为密码过期,解决办法是: 1.查看用户的proifle是哪个,一般是default SELECT username,PROFILE FROM dba_users;...

2019-02-15 09:43:51

阅读数 942

评论数 0

转载 SQL 语句中 多表与 where 多条件 顺序与执行效率

文章出处:https://blog.csdn.net/bzqgo/article/details/51004074  FROM多表顺序与效率     ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名, 因此FROM子句中写在最后的表(基础表 driving table)将被最先处...

2019-02-01 14:29:41

阅读数 2109

评论数 0

转载 看懂oracle执行计划

文章出处:http://www.cnblogs.com/Dreamer-1/p/6076440.html 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述     二:怎样查看Oracle执行计划? 因为我一直用的PLSQL远程连接的公...

2019-01-31 16:07:31

阅读数 56

评论数 0

转载 Spring框架中InitializingBean的作用

今天在看内部项目框架的源码时,发现好多类实现了InitializingBean接口,就研究下这个接口的作用。 首先,看下该接口内部都有什么? 源码如下: /** * Interface to be implemented by beans that need to react once...

2019-01-14 16:12:16

阅读数 149

评论数 0

原创 Spring AOP切面中的前置通知方法中有异常且未捕获,切入点方法中业务代码执行问题分析

今天遇到一个问题,记录一下。 问题描述:         前置通知方法中使用了线程池ThreadPoolExecutor,线程中调用了方法A,在A方法中人为增加了一个除数为0的异常,且没有捕获异常,这时候发现我的切入点方法(即业务代码方法)中代码竟然执行了。 分析原因:     难道前置通...

2019-01-07 18:04:23

阅读数 811

评论数 1

原创 redis的CLUSTER 、SINGLETON、 SHAREED及哨兵模式详解

redis的部署分为三种 第一种是SINGLETON模式,单机模式部署。即只有一台redis,所有数据都放这个redis中。一旦这个redis挂了,数据也就over了 第二种是SHAREED模式,共享模式部署。即有多台redis,所有数据放在多台redis中,每个redis保存一部分数据,每个...

2018-12-27 12:18:56

阅读数 256

评论数 1

原创 redis中KEYS、SMEMBERS、SCAN 、SSCAN 的区别

        今天在看项目中大神写的框架中关于redis存储相关代码时,发现了再获取set数据类型的全部元素时,采用的是sscan函数,而不是采用的smembers函数,这两个到底有什么区别呢? 先看这两个命令: keys:用于获取当前数据库的模式匹配的所有key smembers:获取s...

2018-12-27 11:41:57

阅读数 1576

评论数 0

转载 分享:如何绕过百度云盘的限速机制

参考文章获取百度网盘真实下载地址

2018-12-26 10:36:21

阅读数 17057

评论数 0

原创 idea开发工具配置git版本控制手册

1、先下载git客户端:http://git-scm.com/downloads 2、我下载的git版本是2.20.1,64位:Git-2.20.1-64-bit.exe 3、git2.20客户端的安装步骤参考这篇blog:https://blog.csdn.net/qq_39387475/a...

2018-12-24 16:42:44

阅读数 79

评论数 0

原创 关于catch语句块中不要写业务逻辑代码的建议

       最近工作中,发现其他人员开发的模块功能中,在catch语句块中调用了业务方法,目的是当try语句块中的业务逻辑执行过程中发生异常,再执行catch语句块中代码。       上述情况的业务场景是这样的,try语句块中查询redis缓存(try中查询redis的代码有调用了其他开发人...

2018-12-19 14:14:47

阅读数 1600

评论数 5

原创 实际工作场景中踩过redis的一个坑:不查询redis,而查询后端数据库问题

      今天,在工作中遇到项目在查询码表字典转换时,不走redis而是查询后台数据库问题。做一个简单记录,目的是防止以后出现类似问题,同时该码表存在缓存中采用的数据类型也是值得我学习的。 一、简单的背景介绍       该项目以前是一个整体项目,后来因业务需要,把整个项目拆分为多个子工程,...

2018-12-18 18:21:53

阅读数 1090

评论数 0

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