自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(539)
  • 资源 (31)
  • 收藏
  • 关注

原创 实现mysql的sequence

背景因为做oracle迁移mysql的工作,mysql并不具有sequence语法,所以需要自己想办法模拟实现一个sequence。步骤建一张表e_sys_sequence用来记录序列名称和值CREATE TABLE `e_sys_sequence` ( `sequence_name` varchar(64) NOT NULL COMMENT '序列名称' , `va...

2019-04-18 14:49:26 3525

原创 记录两个工作中用到的存储过程

使用存储过程批量删除数据按天删除目标表中xxx_no重复的数据, 只保留最近的一条。declare pragma autonomous_transaction; n_delete number := 0;begin while 1 = 1 loop EXECUTE IMMEDIATE 'delete from xxx_log t where t.rowid not in ...

2019-03-29 10:53:50 529

转载 服务框架的技术栈

1. 概述架构的改变,往往是因为业务规模的扩张。随着业务规模的扩张,为了满足业务对技术的要求,技术架构需要从单体应用架构升级到分布式服务架构,来降低公司的技术成本,更好的适应业务的发展。分布式服务架构的诸多优势,这里就不一一列举了,今天围绕的话题是服务框架,为了推行服务化,必然需要一套易用的服务框架,来支撑业务技术架构升级。2. 服务框架服务框架的核心是服务调用,分布式服务架构中的服务分布...

2019-03-13 18:23:35 593

原创 使用zookeeper实现分布式锁

#分布式锁原理每个线程在/locks节点下创建一个临时有序节点test_lock_0000000040获得/locks节点下所有子节点A、B、C,排序得出最小值若当前节点A为最小值则获得锁,执行业务逻辑若当前节点C不是最小值则watch比自己小1的节点A,节点A存在则await,否则获得锁总结:临时有序节点排序后watch比自己小1的节点。#开源框架curator实现分布式锁使...

2019-03-12 20:53:53 300

原创 zookeeper数据结构模型和特点

zookeeper数据结构模型和特点zk数据结构模型zk的数据结构类似linux中的文件系统结构, 如下图所示:zk数据结构特点每个子目录都被称为znode, 每个znode是它所在路径的唯一标识, 如Server1这个znode的标识为/NameService/Server1。znode可以有子目录, 每个znode可以存储数据。每个访问路径中可以存储多份数据znode可以是临...

2019-03-11 19:05:24 526

转载 Java中的锁

前言Java中有很多的锁, 本文将对锁进行归纳总结, 便于自己以后学习理解。乐观锁和悲观锁乐观锁和悲观锁都是一种广义上的概念,在Java和数据库中都有对此概念的实际应用。悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。在Java中synchronized关键字和Lock的实现类都是悲观锁。乐观锁认为自己在使用数据的时候不...

2018-12-13 17:18:11 353

原创 设计模式之简单工厂

简单工厂也是一种比较简单的设计模式,下面为简单的代码实现。ProductFactory工厂类,负责创建具体的产品public class ProductFactory { /** * 创建产品对象 * 使用泛型对输入参数做了两层限制: * 1.必须为class类型 * 2.必须为Product的实现类 * 输入参数通常为String、Enum、Class等 * @p...

2018-09-22 23:10:40 243

原创 设计模式之简单工厂

简单工厂通用的实现代码:ProductFactory:工厂类,通过它产生productpublic class ProductFactory { /** * 创建产品对象 * 使用泛型对输入参数做了两层限制: * 1.必须为class类型 * 2.必须为Product的实现类 * 输入参数通常为String、Enum、Class等 * @param c * @r...

2018-09-22 23:00:38 217

原创 设计模式之多例模式

###多例模式:类可以存在有限的多个实例对象。###多例模式的特点通过容器保存实例对象利用私有构造器阻止外部创建对象通过getInstance方法获取实例对象###代码演示创建两个机器人对象:package com.company.section5;import java.util.HashMap;import java.util.Random;/** * 机器人...

2018-09-22 21:51:33 581

原创 mac安装brew报错及解决办法

1.-bash: brew: command not found 解决办法:vi ~/.bash_profileexport PATH=/usr/local/bin:$PATHsource ~/.bash_profile2.chown: /usr/local: Operation not permitted 先卸载已安装的homebrew,命令如下:/usr/bin/ruby ...

2018-09-09 22:27:55 7284 1

原创 virtualbox中搭建centos环境

创建虚拟机打开Virtual Box,点击“新建”按钮,点击“下一步”,输入虚拟机名称为eshop-cache01,选择操作系统为Linux,选择版本为Red Hat,分配1024MB内存,后面的选项全部用默认,在Virtual Disk File location and size中,一定要自己选择一个目录来存放虚拟机文件,最后点击“create”按钮,开始创建虚拟机。设置虚拟机网卡...

2018-04-29 09:22:20 419

原创 Hbase入门笔记

在我学习Hbase的时候有几个概念需要重点理解一下,列出4个基础概念如下图所示: Column Family的概念Column Family又叫列族,Hbase通过列族划分数据的存储,列族下面可以包含任意多的列,实现灵活的数据存取。刚接触的时候,理解起来有点吃力。我想到了一个非常类似的概念,理解起来就非常容易了。那就是家族的概念,我们知道一个家族是由于很多个的家庭组成的。列族也类似,...

2018-04-06 09:54:26 431

原创 Springboot企业微信点餐系统笔记

lombok插件的使用lombok能在编译生成的字节码文件中会帮我们生成这些方法, 让代码更简洁 使用方法: 1. 下载lombok.jar插件并双击安装到eclipse目录 2. maven项目引入依赖 3. 类实体类上添加注解@DataDO/DTO/VODO: 对应数据库的实体对象, 和数据库字段一一对应 DTO: 数据传输对象, DTO本身并不是业务对象 VO:...

2018-04-02 00:22:27 2686 2

原创 docker入门笔记

三大组件仓库, 镜像, 容器仓库镜像存放在仓库中, 仓库分公开仓库和私有仓库镜像镜像其实就是一个创建并打包好的环境, 如mysql环境, redis环境 Docker运行容器前需要本地存在对应的镜像.容器容器是镜像的一个运行实例, 使用镜像可以快速的创建很多容器, 容器和容器之间是隔离的, 互不影响...

2018-04-01 20:19:24 370

原创 springcloud入门笔记

注册中心Eureka1.服务提供者将服务注册到注册中心 2.服务消费者通过注册中心查找服务 3.查找到服务后进行调用 4.服务的消费者与服务注册中心保持心跳连接, 一旦服务提供者的地址发生变更时,注册中心会通知服务消费者 负载均衡Ribbon为Ribbion配置服务提供者地址列表后, Ribbon默认使用轮询的负载均衡算法, 自动地帮助服务消费者去请求. 断路器H...

2018-03-31 21:41:37 448

原创 解决maven下载慢的问题

1.将D:\apache-maven-3.2.1\conf 目录下的settings.xml文件复制到.m2文件夹中 2.修改settings.xml文件, 在中添加以下代码: <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>cen...

2018-03-31 11:18:17 3547 1

原创 springboot入门笔记

@Configuration和@Bean@Configuration作用于类上, 相当于一个xml配置文件 @Bean作用于方法上, 相当于xml配置中的@Configuration// 通过该注解来表明该类是一个Spring的配置,相当于一个xml文件@ComponentScan(basePackages = "cn.itcast.springboot.javaconfig")...

2018-03-27 22:37:42 259

原创 淘淘商城笔记 - day11

http与RPChttp请求走的是http协议,短连接,访问完后连接关闭 RPC为长连接,用完后连接不会关闭DubboDubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及适用于服务消费者机器数远大于服务提供者机器数的情况。 Dubbo缺省协议不适合传送大数据量的服务,比如传文件、视频等...

2018-03-24 17:12:32 408

原创 淘淘商城笔记 - day10

联合索引tb_cart表user_id和item_id设为联合索引 sql1, sql2, sql3会走索引, sql4不走索引 使用联合索引, 一定要注意索引字段的顺序SELECT * FROM tb_cart WHERE user_id = 1 AND item_id = 1;SELECT * FROM tb_cart WHERE item_id = 1 AND user_i...

2018-03-18 21:46:45 429

原创 淘淘商城笔记 - day09

耦合度耦合度是指其他团队的版本升级会影响到我们系统rabbitmq的5中队列简单队列:生产者将消息发送到队列, 消费者从队列中获取消息Work模式一个生产者, 2个消费者, 同一个消息只能被一个消费者获取订阅模式一个生产者, 多个消费者, 每个消费者都有自己的一个队列 生产者没有将消息直接发送到队列, 而是发送到交换机 每个队列都要绑定到交换机, 生产者...

2018-03-12 00:04:29 369

原创 淘淘商城笔记 - day08

执行多条sql语句mysql中默认是不支持一个statement中执行多条sql语句, 需要修改连接字符串 allowMultiQueries=truemybatis延迟加载一个订单中会有订单项和物流明细,延迟加载的意思就是当我们在代码中获取订单项和物流明细的时候才会执行查询操作。<!-- 打开延迟加载的开关 --> <setting name="lazyL...

2018-03-12 00:02:21 549

转载 Java程序员需要突破的技术要点

一、源码分析源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):1、只关注项目本身,不懂就baidu一下。2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedi...

2018-03-08 17:30:33 2290

原创 淘淘商城笔记 - day07

一个规定在SpringMVC中,如果请求以html结尾,那么就不会反悔JSON数据ResponseEntity与ResponseBody注解ResponseEntity的优先级高于@ResponseBody。在不是ResponseEntity的情况下才去检查有没有@ResponseBody注解。如果响应类型是ResponseEntity可以不写@ResponseBody注解,写了也...

2018-02-28 00:15:21 401

原创 淘淘商城笔记 - day06

redis和memcached1、从缓存命中的角度来看memcached性能比redis更高,但redis提供的功能更强大 2、memcached是多线程的,redis是单线程的redis基础1、redis默认支持16个数据库,多数据库不使用存储不同应用的数据 2、select 1表示选择第一个数据库 3、flushall表示清空所有数据库的所有数据 4、flushdb表示...

2018-02-23 21:34:45 296

原创 淘淘商城笔记 - day05

表结构中是否添加索引判断依据是什么1、字段是否是查询条件(where) 2、字段是否是排序条件(order by)单例类中如何获取多例对象实现BeanFactoryAware接口,实现setBeanFactory方法,通过BeanFactory获取CloseableHttpClient实例(配置文件中已指定CloseableHttpClient为多例)...

2018-02-22 23:30:05 318

原创 Disconnected from remote host

使用xshell连接虚拟机的时候, 经常莫名其妙的出现Disconnected from remote host, 有时候第一次ok, 过了几秒特然又不行了, 一开始怀疑是不是防火墙的问题, 把防火墙关了还是不行, 百度了一下发现有可能是IP冲突了, 我的虚拟机设的IP为192.168.1.100, 把IP换成192.168.1.200就ok了。总结: 虚拟机IP尽量不要使用192.168.1...

2018-02-21 23:30:20 28893 2

原创 高效程序员的45个习惯

习惯三)对事不对人 主要精力要用于解决问题,而不是去评价团队他人。习惯四)排除万难 代码出现问题最好的办法是重构,但前提是你要理解它。习惯五)不断学习 迭代和增量式学习,每天计划用一点时间学习新技术,不需要很多时间,但需要经常进行。工作过程中遇到不熟悉的东西,可以先记下来,把它列入学习计划。 通过互联网社区了解最新的技术资讯。如饥似渴的阅读,找一些写的比较好的书,深入了解一门技术。...

2018-02-21 23:26:21 544

原创 分布式服务架构(原理、架构、实践)笔记

反模式永远不要在本地事务中调用远程服务, 在这种场景下如果远程服务出现了问题, 则会拖长事务, 导致应用服务器占用太多的数据库连接, 让服务器负载迅速攀升, 在严重的情况下回压垮数据库。NOSQLnosql完全不适合交易场景, 主要用来做数据分析、ETL、报表、数据挖掘、推荐、日志处理、调用链跟踪等非核心交易场景。最终一致性使用定时任务捞取未执行完的任务,继续执行未执行...

2018-02-11 16:08:05 769

原创 查找一个数等于一组数中某些数相加的和

实现需求:查找一个数等于一组数中哪些数相加的和例如: 从1, 2, 3, 4, 5, 6, 7 中找出和为5的数, 即2, 3public class AccumulationUtil { private AccumulationUtil(){} private static final Logger logger = LoggerFactory.getLo

2018-02-07 17:31:05 4054

原创 从零开始写Java Web框架笔记

关于表结构的设计1.建议表明与字段名均为小写,若多个单词使用下划线分割。 2.建议每张表都有唯一的主键字段,且字段名都为id,可使用自增主键。 3.数据类型尽可能统一,不要出现太多的数据类型。关于log4j的使用log4j.rootLogger=ERROR,console,file 上面的配置表示将日志级别设置为ERROR,并且提供两种日志appender,分别为consol...

2018-01-21 21:42:35 491

原创 快捷键备忘

VIMIUM:页面滚动j 向下滚动一点 k 向上滚动一点 G 到页面最底部 d 向下翻一屏 u 向上翻一屏打开页面o 搜索历史记录和收藏夹, 当前标签页打开 O 搜索历史记录和收藏夹, 新标签页打开 P 将复制的链接在新的标签页打开 p 将复制的链接在当前标签页打开切换标签页t 打开新的标签页 T 显示打开的所有标签页 J 切换到上个标签页 K 切换到下

2018-01-19 14:13:56 244

原创 淘淘商城笔记 - day04

1.跨域问题浏览器对ajax请求的限制,不允许跨域请求资源。http://www.a.com -> http://www.b.com 是跨域 http://www.a.com -> http://www.a.com:8080 是跨域 http://a.a.com -> http://b.a.com 是跨域 http://www.a.com -> http://...

2017-12-14 00:26:00 342

原创 淘淘商城笔记 - day03

1.开发阶段中的环境1)开发环境:自己的电脑 2)测试环境:提供给测试人员使用的环境(代码是最新的,数据却不是真实的) 3)准生产环境:预发布的环境 4)生产环境:项目最终发布上线的环境(代码是老的,但数据是真实的) 为了确保上线的代码及数据都是最真实的, 所以才会有一个准生产的环境来进行上线的演练。2.关于host用户访问淘宝,如何进行解析的? 用户 –> www...

2017-11-20 07:47:37 1005

原创 淘淘商城笔记 - day02

1.使用maven聚合功能有什么好处聚合将模块分的更清晰,方便其他模块的引用<modules> <module>taotao-manage-pojo</module> <module>taotao-manage-mapper</module> <module>taotao-manage-se...

2017-11-20 07:33:44 638

原创 淘淘商城笔记 - day01

1.maven中的groupId和artifactId1)groupId 定义了项目属于哪个组织,举个例子,如果你的公司是sf,有一个项目为myapp,那么groupId就应该是com.sf.myapp.2)artifacted 定义了当前maven项目在组织中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。2.统一管理依赖的版本需要...

2017-11-20 07:23:52 464

转载 企业IT架构转型之道 - 读书笔记

2015年阿里巴巴集团启动了中台战略,目标是要构建符合互联网大数据时代的,具有创新性、灵活性的“大中台、小前台”的机制,即作为前台的一线业务能更敏捷、更快速的响应瞬息万变的市场,而中台将集合整个集团的运营能力,技术能力,对各前台业务形成强有力的支撑。那阿里集团为什么要建立一个“大中台、小前台”的架构呢?我们从阿里共享业务事业部的发展史说起。起初,阿里只有一个淘宝事业部,后来成立了天猫事业部,此...

2017-11-18 21:43:41 7787 1

原创 mycat权威指南-读书笔记

1.数据库垂直拆分1.1)什么是垂直拆分垂直拆分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面。1.2)拆分的优缺点优点:拆分后业务更清晰,数据和代码维护更简单。 缺点:表无法join,只能通过接口,事务处理复杂。2.数据库水平拆分2.1)什么是水平拆分水平拆分不是将表做分类,而是按照某个字段的某种规则将同...

2017-11-01 00:00:18 979 1

原创 Java并发编程的艺术-读书笔记

1.上下文切换为什么影响性能?因为CPU切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态2.多线程一定会比单线程快吗?不一定,多线程在创建线程及CPU上下文切换时会有一定的开销。3.如何避免死锁?1)避免一个线程同时获取多个锁 Thread t1 = new Thread(new Runnable() { ...

2017-10-23 23:19:39 343

原创 人人都是架构师-读书笔记

1.究竟什么是微服务?所谓微服务架构,从宏观上来讲,无非就是细化了服务拆分过程中的粒度,粒度越细,业务耦合越小,容错性越好,后期扩展越容易。2.RPC调用一次RPC请求就是服务调用方以网络的形式进行远程调用服务提供方提供的方法,服务提供方根据服务调用方提供的参数执行指定的服务方法,执行完成后将执行结果响应给服务调用方。 一次RPC调用主要需要经历的三个步骤: 1)底层网络通信协议的处理 2)解

2017-10-21 18:07:25 925

原创 mysql5.6性能优化

数据库性能参数使用show status语句查看mysql数据库的性能参数 show status like ‘value’ 常见的参数: slow_queries 慢查询次数查询优化EXPLAIN在MySQL中可以使用EXPLAIN查看SQL执行计划 用法:EXPLAIN SELECT * FROM tb_itemidSELECT识别符。这是SELECT查询序列号。这个不重要。selec

2017-10-02 10:44:18 746

springmvc整合jaxb

spring整合jaxb 在浏览器输入一段地址即可给你返回一段xml数据

2014-10-23

spring + JTA + atomikos 实现分布式事务

spring + JTA + atomikos实现分布式事务, 高大上的技术

2014-09-21

spring + JTA + JOTM实现分布式事务

spring + JTA + JOTM实现分布式事务, 高大上的技术

2014-09-21

java事务 - 使用注解

使用注解控制java事务, 类似spring处理,代码干净简洁

2014-09-13

java事务 - 使用动态代理

使用动态代理控制事务,代码更加简洁、清爽

2014-09-13

java事务 - 模板设计模式

Template模板设计模式改造threadlocal控制事务

2014-09-13

java事务 - threadlocal

ThreadLocal保证一个类的实例变量在各个线程中都有一份单独的拷贝, 从而不会影响其他线程中的实例变量

2014-09-13

java事务 - 传递Connection

JDBC事务处理的作用对象为Connection, 因此要想控制操作在同一个事务里面, 我们必须要传递Connection, 确保使用的是同一个Connection.

2014-09-13

springmvc整合xstream

springmvc整合xStream实现将java对象转为xml,url访问的时候给你返回xml片段

2014-09-05

springMVC整合xStream实现对象和xml转换

使用springMVC作为控制器,访问某一个url将会给你返回一段xml片段。

2014-09-05

xStream转换xml和json源码

使用xStream实现java对象和xml、json的相互转换

2014-09-05

spring整合freemarker发送邮件例子

spring整合freemarker实现发送邮件, html中内嵌图片,添加附件, 解决乱码问题.

2014-06-20

JavaMail发送和接受邮件的一个小例子

JavaMail发送和接受邮件的一个小例子, 含文本,图片, 附件等复杂格式

2014-06-15

易邮服务器软件

邮件服务器,可以用来建立企业邮件服务器, 用来学习邮件发送和接受

2014-06-14

jxls利用模板生成excel文件

jxls利用模板生成excel文件, 非常方便

2014-06-12

apache-cxf-2.2.10.zip

apache-cxf-2.2.10.zip 环境及lib包

2014-05-31

apache cxf helloworld小例子

使用apache cxf开发一个入门小程序

2014-05-31

java jre1.4

sun jre1.4运行环境, 免费资源,随时下载

2014-05-31

spring整合RMI

spring整合RMI的一个小例子, 绝对可以跑起来

2014-05-29

RMI - Java远程方法调用

Java RMI 远程方法调用的一个小例子

2014-05-29

weblogic中使用JMS发送和接受消息

weblogic中使用JMS发送和接受消息(Queue and TOPIC)

2014-05-29

apache activeMQ之初体验(helloworld)

activeMQ之hello world小程序

2014-05-29

spring整合JMS-居于ActiveMQ实现

spring整合JMS-居于ActiveMQ实现

2014-05-29

模拟spring依赖注入

揭秘spring核心机制, 模拟spring依赖注入

2014-05-11

java反编译工具-JavaDecompiler

窥探程序内部隐私, Java开发反编译神器

2014-05-09

模拟spring aop技术

模拟spring aop技术,一个小demo,希望对您理解aop有所帮助.

2014-05-02

模拟spring ioc技术

简单模拟spring ioc技术,一个小demo,希望对您理解ioc有所帮助.

2014-05-02

时间管理软件GTD

一款非常棒的时间管理软件,能很好的按照事情的轻重缓急进行任务安排.

2014-04-20

springMVC+ajax+json

使用springMVC+ajax+json的一个小demo,希望对读者有用

2014-01-12

程序员的数学

没有晦涩的公式,只有好玩的数学题,帮你掌握编程所需的“数学思维”。

2013-10-12

空空如也

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

TA关注的人

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