自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 CONCAT两表关联字段

update  ms_order set ms_order.note = (select CONCAT(place_id,  place_name) from cm_merchant_place  where id = ms_order.place_id and order_id='订单号' ) ,place_id = '指定的场所id'  where order_id = '订单...

2018-12-28 17:23:03 629

转载 HttpURLConnection与 HttpClient 区别/性能测试对比

HttpURLConnection与HttpClient随笔  目前在工作中遇到的需要各种对接接口的工作,需要用到HTTP的知识,工作完成后想要做一些笔记,本来知识打算把自己写的代码粘贴上来就好了,但是偶然发现一篇博文对这些知识的总结非常到位,自认无法写的这么好,所以就直接拷贝了,但是自己的代码也还是要贴上来的,毕竟将来还是看自己的代码有印象。这篇博文的地址:http://blog.csd...

2018-12-22 19:52:03 11359 3

转载 基于xml配置方式整合Spring boot + Spring batch + Quartz

Spring batch提供了强大的批处理功能,比如ItemReader、ItemProcess、ItemWriter,还有Tasklet,但定时功能不够强大;Quartz提供了通过JobDetail、Trigger、SchedulerFactory提供了强大的定时器功能,但批处理功能不够强大,两者一拍即合,Spring做了两者的整合,整合的jar包见:    <dependency&g...

2018-12-11 01:12:08 507

转载 mybaits存储过程oracle返回对象

存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验。1.无输入和输出参数的存储过程,我写了一个比较简单的,需要注意的是Oracle无参存储过程不能写括号CREATE OR REPLACE Procedure cascadeoperationAsBegin De...

2018-12-08 02:03:03 681

转载 【spring】之基于注解@ComponentScan的一些使用

基于xml形式ComponentScan的使用如下 <context:component-scan base-package="com.luna" use-default-filters="false"> <context:exclude-filter type="annotation" expression="org.springframework.s...

2018-12-05 23:23:13 1685

转载 程序中什么时候打印什么级别的日志

日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。: 1.static Level DEBUG : DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。 2.static Level INFO INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。 3.static Level WARN WARN level表...

2018-12-05 01:09:24 2327 1

转载 java log4j日志级别配置详解

1.2 闲话少说,讲讲日志的发展故事(如果已经了解的可以跳过,直接看1.3日志配置)  要想对日志技术实现深入了解,我个人建议去看:logback + slf4j。至于日志配置,还是了解log4j比较好,因为目前绝大部分的项目还是使用log4j的。好了,下面开始讲讲日志的发展故事:  1999年,Apache开源社区发布了log4j,一时轰动整个程序界,从此成为日志的标准并广泛为java程...

2018-12-05 01:01:47 13360

转载 基于Redis的简单分布式锁的原理

使用场景: 在tomcat集群环境下,有任务调度,也就是定时任务 同一时间多个tomcat执行同一个任务,如定时关单. 如果有大量订单需要关闭,则每个tomcat都会执行相同数量的关单sql, 这样是非常浪费资源的,如果还有相应的记录的话 则会导致重复记录的出现. 这个时候redis分布式锁就派上用场了,通过这个锁,可以随机的让单个tomcat去执行关单操作,而其余的tomcat则不会执...

2018-12-04 01:39:53 167

转载 分布式锁简单入门以及三种实现方式介绍

很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。...

2018-12-04 01:24:18 107

转载 Mysql与Oracle的50个区别

 1. 有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦.  2. Oracle不支持偏移(offset)语法.  3. Oracle的复制功能可能比MySQL更加健壮,不过也更加难以配置.  4. 对于多个Master类型的系统,大部分用户都希望你使用更加复杂也更加昂贵的Oracle RAC(虽然可...

2018-12-02 01:43:02 230

转载 mysql与Oracle的区别

一、并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。 oracle:...

2018-12-02 01:41:57 140 1

转载 MySQL与Oracle的区别之我见

1. 大的方面(宏观)Oracle为商用数据库,行业中占据相当的地位:市场占比2012年为40%。开发、管理资源相当丰富,有自己的metalink,我也曾用过,有什么问题,都能在那里得到较快速度的解决。开发用了近10年,虽然有些功能用起来挺鸡肋的(像分页),但它在OLTP/OLAP等方面确实都非常出色。我们一般项目中至少有两个Oracle数据库:联机事务处理(OLTP)数据库,联机分析处理数据...

2018-12-02 01:38:06 138

转载 MySQL与Oracle的数据类型对照表

MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据类型的对应关系。一、常见数据类型在MySQL与Oracle数据库中的表现形式  说明 mysql oracle 变长字...

2018-12-02 01:36:32 605

转载 Redis缓存穿透、缓存雪崩、redis并发问题分析

把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下:(一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的,那么请不要使用缓存。我们只能采取合适的策略来降低缓存和数据库间数据不一致的概率,而无法保证两...

2018-12-02 01:33:48 145

转载 Redis缓存击穿,穿透,雪崩等问题,及解决方案

缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到...

2018-12-02 01:28:20 410

转载 Redis 分布式锁的正确实现方式( Java 版 )

前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...

2018-12-02 01:11:45 136

转载 jedisLock—redis分布式锁实现

、使用分布式锁要满足的几个条件:系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL) 同步访问(即有很多个进程同事访问同一个共享资源。没有同步访问,谁管你资源竞争不竞争)二、应用的场景例子  管理后台的部署架构(多台tomcat服务器+...

2018-12-02 01:04:19 266

转载 基于redis的分布式锁实现

关于分布式锁很久之前有讲过并发编程中的锁并发编程的锁机制:synchronized和lock。在单进程的系统中,当存在多个线程可以同时改变某个变量时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设...

2018-12-02 01:01:18 151

转载 Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景

一、相关名词|--表级锁(锁定整个表)|--页级锁(锁定一页)|--行级锁(锁定一行)|--共享锁(S锁,MyISAM 叫做读锁)|--排他锁(X锁,MyISAM 叫做写锁)|--悲观锁(抽象性,不真实存在这个锁)|--乐观锁(抽象性,不真实存在这个锁)二、InnoDB与MyISAMMysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查看当前存储...

2018-12-02 00:34:37 1786

转载 MySql悲观锁和乐观锁的使用

  现在我有一个购买商品的需求,我们知道当我们购买商品时,后台会进行减库存和增加购买记录的操作。我们分别在无锁和乐观锁和悲观锁进行相应的代码演示来说明问题。    建表语句如下:CREATE TABLE `stock` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,  `name` varchar(50) NOT NULL DEFAU...

2018-12-02 00:24:31 216

空空如也

空空如也

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

TA关注的人

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