自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (8)
  • 收藏
  • 关注

原创 Mybatis-生命周期

序言如果开发者不清楚Mybatis组件的生命周期,很可能会带来很严重的并发问题。SqlSessionFactory作用SqlSesssionFactory采用单例模式,唯一的作用是创建SQLSession。生命周期每次应用程序访问数据,我们就要通过SqlSessionFactory创建SQLSession,因此SqlSessionFactory应该在MyBatis应用...

2020-05-16 13:44:50 456

原创 Mybatis-缓存cache

使用缓存的关键,在于存储内容访问的命中率。系统缓存Mybatis对缓存提供支持,系统缓存是Mybatis应用机器上的本地缓存。一级缓存在没有配置的默认情况下,Mybatis只开启一级缓存。一级缓存只是相对于同一个SqlSessioni而言,在参数和SQL完全一样的情况下,使用同一个SqlSession对象调用同一个Mapper的方法,往往只执行一次SQL。因为使用SqlSess...

2020-05-16 13:43:32 177

原创 代码重构-重构:改善既有代码的质量

序言本文是书籍《重构:改善既有代码的质量》的一个缩影。定义1.重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。2.使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。代码的坏味道重复代码 过长函数:程序越长越难理解,函数应该以用途命名。 过大的类 过长参数列:太长的参数列难以理解,会造成前后不一致,不易...

2020-05-16 13:42:24 366

原创 PostgreSQL修炼之道要点摘录

6.1表空间有时我们需要把不同的表放到不同的存储介质或不同的文件系统下,这时就需要使用表空间。6.9索引B-Tree索引:最常用的索引适合处理等值查询和范围查询Hash索引:只能处理简单的等值查询其它索引:GiST、SP-GiST、GIN6.11事务、并发、锁A.事务的四个特性ACID,对应atomicity原子性-要么全部执行、要么全都不执行, consistency...

2020-05-16 13:40:49 165

原创 设计模式-结构型模式

前面提到创建对象的模式应用,权衡模式的考虑因素有对象的唯一性、可替代性、可扩展性、对象关系、对象组件的初始化顺序等。唯一对象采用单例模式,注重效率可采用原型模式,有可替代性的对象可采用工厂模式、多工厂有关系的可以采用抽象工厂模式、多组件的复杂对象可采用建造者模式等。今天讲解一下设计模式中的结构型模式。抛开设计模式不提,我们讲一讲系统中类的结构。1. 以UserDto.java为例,只有...

2020-05-16 13:37:53 128

原创 设计模式-创建型模式

对于刚参与工作的人来说,设计模式实在太多太难记了,确实,它有很多种,但迎难而上正是我们现阶段需要做的事情。今天讲一下创建型模式,顾名思义,这些模式是在创建对象时才需要使用的模式。对于简单的对象,我们直接new就可以了,原因是简单高效,利于理解和维护。对于唯一序列、计数器、或者类初始化耗时耗资源的对象,我们在对象中自行创建唯一的实例,供系统全局使用,即单例模式。对于类初始化耗时耗资源...

2019-08-12 23:16:08 106

原创 设计模式-六大原则

1. 开闭原则,对扩展开放,对修改关闭意思是,通过接口和抽象类,将算法、策略、第三方程序等组件方法设计为热拔插的方式,减少对客户端代码的修改。此类原则偏向扩展,较典型的设计模式有:工厂模式、抽象工厂模式、建造者模式、适配器模式、组合模式、装饰器模式、外观模式、代理模式、命令模式、中介者模式、策略模式、模板模式。2.里氏替换原则里氏替换原则是麻省理工学院的Mrs Liskov(译为里...

2019-08-11 12:50:37 101

翻译 Apache RocketMQ官方文档中文精简版-CLI管理工具

CLI 管理工具RocketMQ提供了一个CLI管理工具,用于查询、管理和诊断各种问题。先决条件确保您已经浏览了Quick Start和Core Concept部分。如何获取管理工具随Rocketmq一起提供。无论您是下载一个预构建的二进制版本,还是自己从源代码进行构建,您都拥有这个随包的工具。如果您想查看源代码,请参阅rocketmq-tools module如何使用...

2019-08-04 01:09:21 507

翻译 Apache RocketMQ官方文档中文精简版-体系结构

RocketMQ体系结构概述Apache RocketMQ是一个分布式消息和流媒体平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。它由四个部分组成:name servers名称服务器、brokers代理、producers 生产者和consumers消费者。它们中的每一个都可以水平扩展,而不会出现单点故障。如上图所示。Name Server集群Name Serv...

2019-08-03 23:50:01 347

翻译 Apache RocketMQ官方文档中文精简版-常见问题

概况1. 我是否需要安装其他软件,如ZooKeeper,才能使用RocketMQ?不,RocketMQ可以独立运行。用法1. 新创建的消费者ID从哪里开始消费消息?如果主题在三天内发送了一条消息,那么消费者将从第一条消息保存到服务器后,就开始消费消息。 如果主题在三天前发送了一条消息,那么消费者将开始消费服务器中的最新消息,换句话说,从消息队列的尾部开始。 如果重启此类消费...

2019-08-03 13:54:24 441

翻译 Apache RocketMQ官方文档中文精简版-事务消息示例

什么是事务消息?事务消息,可以被认为是一种基于两阶段提交理论的消息实现,用来确保分布式系统中的最终一致性。事务性消息保证了本地事务的执行和消息的发送可以原子性地执行。使用限制(1) 不支持定时消息和批量消息。(2) 为了避免单个消息被检查次数过多,导致半队列消息累积,我们将单个消息的检查次数默认限制为15次,但是用户可以通过更改broker配置中的“transactionCheckM...

2019-08-03 11:36:56 241

翻译 Apache RocketMQ官方文档中文精简版-OpenMessaging示例

OpenMessaging, 是Linux基金会的一个项目,它建立了行业指南、消息传递、流的规范,为金融、电子商务、物联网和大数据领域提供通用框架。设计原则是面向云、简单、灵活、以及独立于分布式异构环境的语言。符合这些规范将使得,跨所有主要平台和操作系统,来开发一个异构的消息应用成为可能。Rocketmq提供了OpenMessaging 0.1.0-Alpha的部分实现,下面的示例演示了如何基...

2019-08-03 10:16:58 389

翻译 Apache RocketMQ官方文档中文精简版-消息日志示例

Logappender示例RocketMQ logappender提供log4j appender、log4j2 appender和logback appender供业务使用,下面是配置示例。log4j使用log4j properties配置文件时,请按以下方式配置。可以指定哪些标签、主题、生产者组、NameServer的消息需要日志输出。log4j.appender.mq=or...

2019-08-03 00:22:32 258

翻译 Apache RocketMQ官方文档中文精简版-过滤消息的示例

过滤消息的示例在大多数情况下,标记是一种简单而有用的设计,用于选择所需的消息。例如:DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE");consumer.subscribe("TOPIC", "TAGA || TAGB || TAGC");消费者将收到包含TAGA、TAGB或TAGC的...

2019-08-02 23:25:18 123

翻译 Apache RocketMQ官方文档中文精简版-批量发送消息

为什么要批量发送消息?当需要发送多条小的消息时,一次成批地发送出去,比一条一条地发送,在性能方面能够得到提升。使用限制同批次发送的消息应该具有:相同的主题、相同的waitStoreMsgOK ,并且不支持定时发送消息。另外,一批消息的总大小不应超过1Mib。如何批量发送消息?如果您一次只发送不超过1Mib的消息,则很容易批量使用:String topic = "Bat...

2019-08-02 00:09:04 111

翻译 Apache RocketMQ官方文档中文精简版-定时消息示例

什么是定时消息?定时消息与普通消息的不同之处在于,它们在指定时间过后,才会传递。应用 启动使用者,以等待订阅的消息。 import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.ConsumeConc...

2019-08-01 23:57:03 155

翻译 Apache RocketMQ官方文档中文精简版-广播消息示例

什么是广播广播是向订阅了某个主题的所有消费者发送消息。如果您希望某个主题的所有订阅者都收到消息,那么广播是一个不错的选择。生产者示例public class BroadcastProducer { public static void main(String[] args) throws Exception { DefaultMQProducer produc...

2019-08-01 23:44:43 429

翻译 Apache RocketMQ官方文档中文精简版-有序的消息

RocketMQ 使用FIFO顺序,提供有序的消息。下面的示例,演示了如何发送/接收全局的和部分的有序消息。发送消息的示例代码public class OrderedProducer { public static void main(String[] args) throws Exception { //Instantiate with a producer...

2019-08-01 00:34:37 162

翻译 Apache RocketMQ官方文档中文精简版-简单消息示例

示例内容本示例使用RocketMQ 以三种方式发送消息:可靠的同步方式、可靠的异步方式和单向传输。本示例演示使用RocketMQ来消费消息。1. 添加依赖mave <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>roc...

2019-08-01 00:10:51 164

翻译 Apache RocketMQ官方文档中文精简版-快速入门指南

快速入门指南是,在本地计算机上设置RocketMQ消息系统,以发送和接收消息的详细说明。先决条件假设安装了以下软件:64位操作系统,建议使用linux/unix/mac; 64位JDK 1.8+; Maven3.2.x; Git; Broker server的4G+可用磁盘下载&构建 Release版本单击here下载4.4.0源版本。你也可以从here下载一个二...

2019-07-31 23:34:46 2311

翻译 Apache RocketMQ官方文档中文精简版-为什么要用RocketMQ?

动机在早期阶段,我们构建了基于ActiveMQ5.x(早于5.3)的分布式消息中间件。我们的跨国企业使用它进行异步通信、搜索、社交网络活动流、数据管道,甚至在其贸易过程中。随着我们的贸易业务吞吐量增加,来自我们的消息传递集群的压力也变得紧迫。为什么选择Rocketmq?ActiveMQ IO模块遇到了瓶颈。我们尽力通过节流、断路器或退化来解决这个问题,但效果并不好。不幸的是,Kafka...

2019-07-31 21:24:35 273

原创 Apache RocketMQ官方文档中文精简版-序言

朝早起,夜眠迟,老易至,惜此时。一直以来很想借着翻译努力学习点什么,就拿Apache RocketMQ作为学习的起点吧。为了节约时间,本系列的基础内容,都是通过百度翻译来完成的,之后再对照英文在辞藻上略微地进行调整。精简版主要体现在,不重要的段落可能不会翻译,不重要的代码注释不会翻译,重点内容粗体标注。对自己说一声:加油!...

2019-07-31 20:36:48 412

原创 Ubuntu1604安装redis-server

1. 照官网链接安装:https://redis.io/download ,总是报错“Makefile:228: recipe for target 'adlist.o' failed”。执行到make时报错,照提示安装make: sudo apt install make,报错“/bin/sh: 1: cc: not found”;说明未安装gcc,一定要记得先sudo apt-get ...

2018-10-23 13:45:11 683

原创 Mysql数据库导出导入

导出整个数据库(包括数据结构和数据)mysqldump -u username -p dbname &gt; dbname.sql导出数据库结构(不含数据)mysqldump -u username -p -d dbname &gt; dbname.sql    导出数据库中的某张数据表(包含数据)mysqldump -u username -p dbname tablenam...

2018-09-12 10:42:24 99

原创 Ubuntu14安装Mysql5.5

一、准备工作:1. 安装Ubuntu14,略;2. 配置IP和DNS,参考另一篇文章“Ubuntu14配置IP地址和DNS”;二、安装工作1. apt-get update 更新源列表项;2. sudo apt-get install mysql-server 默认安装mysql5.5,安装时需要设置root密码,需要记录下来;安装后会自动启动。三、配置工作要想远程访...

2018-09-11 21:04:58 345

原创 Ubuntu14配置IP地址和DNS

1. dmesg | grep eth查看网卡信息,有时eth0会被改成eth1,如果改成eth1,则下面的配置中有eth0的地方要做相应调整2. sudo vim /etc/network/interfacesauto eth0iface eth0 inet static #dhcp或staticaddress 192.168.7.2netmask 255.255.255.0ga...

2018-09-11 20:00:48 5745

原创 nginx.conf

As I mentioned in "Hello Nginx!", we installed the nginx under /usr/local/nginx.nginx.conf is the main configuration file for nginx, let's try some tests in this unit.=================test1: change wo...

2018-04-23 20:44:31 126

原创 Hello Nginx!

So far, I configured the apache+tomcat, IIS+apusic, but have never configured Nginx before. [Forgive me too lazy to install the Chinese Input Method in this nginx test server]Today, the interesting st...

2018-04-17 21:00:14 473

原创 IDEA入门笔记

一直在用eclipse,今天用了一下IDEA,从SVN检出web项目,改了些代码,打成war包,提交到SVN,特此记录备忘。1. 无法导入SVN项目,解决方法:重装TortoiseSVN客户端,安装所有features,以引入program: svn;2. 设置JDK, File--&gt;Project Structure--&gt;Project Settings--&gt;Project,设...

2018-04-16 18:36:29 414

原创 Eclipse导入Spring源码

Eclipse导入源码1.下载https://jingyan.baidu.com/article/a24b33cd0f28c419fe002b26.html1.1 springspring在github中搜索spring-framework,如下:https://github.com/spring-projects/spring-framework/releases?after=v4.3.2.RE...

2018-03-08 09:34:56 159

转载 算法随笔

Leetcode常用五大算法思想转载自: http://blog.csdn.net/cq361106306/article/details/45155463[leetcode]--刷leetcode算法目录和算法总结目录转载自: http://blog.csdn.net/u010853261/article/details/54834695...

2018-03-06 23:06:56 132

原创 多线程下的安全策略

1. 无状态类里没有成员变量,只有方法。方法体中的变量对于每个线程都是私有的不共享的,因此,能定义在方法中的变量决不定义在类中。2. 加锁3. 让类不可变final修饰成员变量。4. 成员变量安全发布例如:class{List list = new ArrayList();},尽量不要提供getList获取整个list的方法,实在要提供,尽量通过index或者key等元素来获取value。...

2018-02-16 18:23:47 182

转载 应用安全开发指南

第三方应用安全开发指南更新时间:2017-06-14转自: https://docs.open.alipay.com/399/106918/《开放平台第三方应用安全开发指南》给出常见开发场景下,帮助开发人员完善应用安全性的开发建议,同时也对常见的安全漏洞进行描述,并提供对应的修复方案。1. 常见开发场景安全开发指南1.1. 敏感信息使用场景敏感信息指用户的 身份证号、银行卡号、手机号 等身份信息。...

2018-02-11 11:01:05 292

原创 Java线程随笔(三)

1)并发工具类和并发容器1. HashMap不是线程安全的,HashTable效率低下,因此考虑使用ConcurrentHashMapjdk1.7及以前,对hashmap中数组进行分段锁的机制,1600多行实现;jdk1.8采用元素锁,锁的是某个key,这个类的实现有6313行,显然占内存和性能比hashmap差不少。2. ConcurrentSkipListMap有序Map;Concurrent...

2018-02-01 07:53:50 127

原创 Java线程随笔(一)

创建线程:extends Thread,  implements Runnable|CallableThread方法: sleep睡眠、join插队到当前线程执行、yield出让CPU时间不释放对象锁、intrrupt发送中断信号不一定中断对象方法:wait引用此对象的所有线程都等待、notify、notifyAll唤醒对象的所有线程, 提供等待通知机制,可用于实现阻塞队列获取ID: getId线...

2018-01-30 21:49:26 170

原创 在win7下装xp双系统的一种最安全简单的方法

网上资料看的眼花缭乱,真正试过才发现很简单,本文记录的是我在2010年8月3日装双系统的步骤,前提相同的话照着弄,不同的话仅供参考。前提:C盘为主分区,装了win7;装xp双系统步骤:1、在逻辑分区创建个D盘装XP,大小15G;2、重启电脑,插入XP光碟,我用的纯净安装SP3版,正常安装;3、装好XP之后装驱动,重启电脑;4、下载"XP下修复Win7启动项.exe(下载地址为/**待传,请稍候*/)",双击运行,照提示按一下任意键就完成修复;5、重启电脑,这时看到windows7和windowsXP的启动项

2010-08-03 15:54:00 607

原创 提示“word无法读取文档,文档可能损坏”的解决方法

 提示“word无法读取文档,文档可能损坏”的解决方法 今天打开电脑打开 word文件时,报错:“word无法读取文档,文档可能损坏”明明是昨天下班还好好的文件,怎么就损坏了呢?网上查了下解决方法,感觉很正点,分享一下:1:打开word 后的 ,错误提示如图:2:解决方法打开word 程序,文件--打开--浏览 如下图:3:修复不要点 打开 ,要点打开右面的小三角(指向下)如图:选择

2009-05-06 14:24:00 1316

Mastering KVM Virtualization

As title.

2017-04-25

XP下修复Win7启动项.exe

前提:在win7下新开盘符装XP,导致只能进XP,原有win7进不去,下载之后点击exe文件,执行修复之后重启就装好双系统了

2010-08-03

制作U盘启动盘装系统

U盘启动盘制作方法,制作带WindowsPE的启动U盘,自己测试过,可行...

2010-05-31

单点登录解决方案1--暂时没有相关代码

灰常不错的,同事以前用过且评价良好,偶现在正研究中,因此没有相关代码...

2010-05-31

EXT中文手册.CHM

EXT 中文手册 ,包含许多基础案例,搭建环境,代码复制之后不需修改直接运行,超值!

2010-02-22

jQuery1.2API.chm

概念、手册、API、非常具有参考价值,Jquery没这么简单,此API不包学会,仅供参考

2010-02-22

正则表达式系统教程.chm

如果你找的是:$/{6,7}{A-Z}/,那就是这个,很精辟很系统,放心下吧,一个小时就搞定正则表达式

2010-02-22

div+css布局入门

CSS+DIV制作的网站使得网站改版相对简单,很多问题只需要改变CSS而不需要改动程序,从而降低了网站改版的成本。

2008-10-16

空空如也

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

TA关注的人

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