自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 微信支付之相关问题解决方案

1.支付成功后,页面跳转逻辑实现方式;基于ajax的短轮询; 实现:采用js定时器(setInterval),定时轮询检测服务端的订单支付状态; 弊端:如果用户一直未支付,在并发量大的时候势必导致服务器压力加大;基于websocket的长连接(推荐); 实现:通过webSocket让web客户端与服务器建立长连接,支付成功后调用回调函数修改订单信息时, 就可以向web客户端方式消息实现页面跳转;...

2020-08-24 16:44:07 473

原创 Java ServiceLoader使用和源码分析

1.项目中的使用 ServiceLoader是Java中SPI(Service Provider Interface)的一种实现;主要用于提供给第三方实现或者扩展。1.1 使用接口的实现类一般的方式; 及使用关键词new 一个实现类赋值给接口引用。HelloService helloService = new HelloServiceImpl();如果需要动态的获取一个接口的实现类,在项目比较大的时候,去进行全局扫描class来获取最终的实现这样代价太大。1.2 ...

2020-06-03 11:18:47 191

原创 SQL 创建表的备份

1. SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档;SQL SELECT INTO 语法您可以把所有的列插入新表:SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename或者只把希望的...

2018-07-11 17:35:00 4984

原创 mysql数据库的QPS和TPS

TPS -(Transactions Per Second) 及数据库的每秒传输的事物处理个数,主要是对事务性存储引擎(InnoDB等)的一个性能指标。计算方法:TPS = (COM_COMMIT + COM_ROLLBACK)/UPTIME SQL语句:   USE information_schema;      SELECT VARIABLE_VALUE INTO @com_commit F...

2018-07-11 11:11:00 13770 1

原创 & 和 nohup的对比

针对linux命令的后台运行: & 和 nohup& 对ctrl+c(SIGINT免疫),对关闭shell终端(SIGHUP不免疫)。nohup 对ctrl+c(SIGINT不免疫),对关闭终端(SIGHUP免疫)。综合使用:nohup java -jar jnzl-web.jar   --spring.profiles.active=prod>/var/tmp/jnzl-w...

2018-06-04 17:24:47 207

转载 Dcoker镜像备份和恢复

1.容器的导出(保存发布的容器为镜像压缩包及用于持久化容器)。    命令:docker export "容器ID">"备份压缩包";如2.镜像压缩包还原生成镜像(导入)。(注意import之后的‘-’)   命令:docker import  - "镜像的名称:版本号"<"备份镜像压缩包";版本号不写默认是latest;如  3.镜像的备份(用于持久化镜像)。  命令:docker ...

2018-05-25 14:15:35 245

转载 Docker Maven插件(对项目进行打包并使用docker运行产生镜像)

1. 使用dokerfile 进行构建    创建dockerfile2. maven 插件12345678910111213141516<plugin>                <groupId>com.spotify</groupId>                <artifactId>docker-maven-plugin</a...

2018-05-24 21:53:25 1009

转载 maven的内置变量

Maven内置变量说明:${basedir} 项目根目录(即pom.xml文件所在目录)${project.build.directory} 构建目录,缺省为target目录${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes${project.build.finalName} 产出物名称,缺省为${project.artifact...

2018-05-24 21:40:11 155

转载 Docker数据卷(volume)

 Docker的镜像是由一系列的只读层组合而来,当启动一个容器的时候,Docker加载镜像的所有只读层,并在最上层加入一个读写层。这个设计使得Docker可以提高镜像构建、存储和分发的效率,节省了时间和存储空间,然而也存在如下问题。   (1)容器中的文件在宿主机上存在形式复杂,不能在宿主机上很方便的对容器中的文件进行访问   (2)多个容器之间的数据无法共享    (3)当删除容器时,容器产生的...

2018-05-24 17:47:06 1606

转载 Angluarjs的constant,run,provider,config,fatory,service,directive

首先,provider, value, constant, service, factory他们都是provider!(decorator小朋友先搬个小板凳坐在边上等会儿,现在还没轮到你出场哈~)provider是干啥的?provider可以为应用提供通用的服务,形式可以是常量,也可以是对象。比...

2018-04-10 16:19:47 158

原创 redis客户端jedis的使用异常分析

当使用Jedis客户端进行操作的时候出现以上错误。说明拿不到Redis的链接,因为validateObject不通过。1.首先连接redis判断redis是否还存活,登录一个客户端输入ping命令,检查是否返回“PONG”。如果返回一下错误(error) MISCONF Redis is configured to save RDB snapshots, but is currently not

2018-01-18 15:35:48 287

原创 java事务

Java中使用事务处理,首先要求数据库所选用的存储引擎支持事务,否则当事务操作出现回滚的时候则无效。     Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。        1、JDBC事务控制的局限性在一个数据库连接内,但是其使用简单,JDBC 事务是用 Connection 对象来控制的。JDBC Connection 接口(java.

2017-12-13 12:12:15 161

转载 mysql 分页语句limit使用与优化

1.基本用法SELECT * FROM table   LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是

2017-12-11 11:56:59 174

转载 SpringMVC与Struts2区别与比较总结

SpringMVC与Struts2区别与比较总结一、框架机制1、Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。2、Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服

2017-12-06 14:26:03 117

转载 Spring的scope作用域

1.singleton单例模式(默认), 全局有且仅有一个实例2.prototype原型模式, 每次获取Bean的时候会有一个新的实例3.request request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效,   4.session ses

2017-12-06 14:19:36 135

转载 JDBC事务和JTA事务的区别

一、事务概述事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做。与事务相关的操作主要有:BEGIN TRANSACTION; 开始一个事务,方法是:begin()COMMIT;       提交一个事务,方法是:commit()ROLLBACK;      回滚一个事务,方法是:rollback()PREPARE;       准备提交

2017-12-06 10:58:04 197

转载 spring的事务管理

Spring事务管理的实现有许多细节,如果对整个接口框架有个大体了解会非常有利于我们理解事务,下面通过讲解Spring的事务接口来了解Spring实现事务的具体策略。Spring事务管理涉及的接口的联系如下:2.1 事务管理器Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现

2017-12-06 10:55:27 198

转载 正排索引(forward index)与倒排索引(inverted index)

一、正排索引(前向索引)正排索引也称为"前向索引"。它是创建倒排索引的基础,具有以下字段。(1)LocalId字段(表中简称"Lid"):表示一个文档的局部编号。(2)WordId字段:表示文档分词后的编号,也可称为"索引词编号"。(3)NHits字段:表示某个索引词在文档中出现的次数。(4)HitList变长字段:表示某个索引词在文档中出现的位置,即相对于

2017-12-01 09:56:33 194

转载 solr索引提交方式

摘要: Solr的近实时搜索NRT(Near Real Time Searching)意味着文档可以在索引以后马上可以被查询到。Solr不会因为本次提交而阻塞更新操作,不会等待后台合并操作(merge)的完成而是直接检索索引并返回数据。参见原文利用NRT,就可以设置soft commit,因为标准的commit操作代价高昂,soft commit可以做到近乎实时的查询效果而不丢失数据。

2017-11-27 21:38:37 1410

转载 TCP建立连接的三次握手和释放连接的四次挥手

TCP建立连接3次握手每一次TCP连接都需要三个阶段:连接建立、数据传送和连接释放。三次握手就发生在连接建立阶段。建立连接3次握手目的解释在谢希仁著《计算机网络》第四版中讲三次握手的目的是为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。在另一部经典的《计算机网络》一书中讲三次握手的目的是为了解决网络中存在延迟的重复分组的问题。谢希仁版《计算机网络》中的例子是这...

2017-11-23 11:42:21 348

转载 redis cluster集群搭建

redis集群的介绍和官网集群搭建方式请访问:http://www.redis.cn/topics/cluster-tutorial.html下载redis最新的安装包wget http://download.redis.io/releases/redis-4.0.1.tar.gz解压tar -zxvf redis-4.0.1.tar.gz make创建集群相关文件(方

2017-11-21 13:51:18 202

转载 Redis sentinel 高可用主从配置方案

附:Redis Cluster集群主从方案:http://wosyingjun.iteye.com/blog/2289220Redis Sentinel主从高可用方案:http://wosyingjun.iteye.com/blog/2289593一、Sentinel介绍Sentinel是Redis的高可用性(HA)解决方案,由一个或多个Sentinel实例组成的Sentinel系

2017-11-20 13:41:19 150

转载 redis的持久化存储

Redis中数据存储模式有2种:cache-only,persistence;cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式;persistence即为内存中的数据持久备份到磁盘文件,在服务重启后可以恢复,此模式下数据相对安全。对于persistence持久化存储,Red

2017-11-17 11:09:47 900

转载 memcache集群基础

Memcache 分布式高可用集群介绍分布式缓存需考虑如下三点:1、缓存本身的水平线性扩展的问题。2、缓存大病罚下的本身性能问题。3、避免缓存的单点鼓掌问题。分布式缓存存在的问题:1、内存本身的管理问题。内存的分配,管理和回收机制。2、分布式管理和分布式算法。3、缓存键值管理和路由。常见分布式算法        Memcached在实现分布集群部署时,M

2017-11-17 10:15:21 106

转载 redis的集群方式介绍

Redis集群的目的是实现数据的横向伸缩,把一块数据分片保存到多个机器,可以横向扩展数据库大小,扩展带宽,计算能力等。 实现数据分片(集群)方式大致有三种: (1)客户端实现数据分片 即客户端自己计算数据的key应该在哪个机器上存储和查找,此方法的好处是降低了服务器集群的复杂度,客户端实现数据分片时,服务器是独立的,服务器之前没有任何关联。多数redis客户端库实现了此功能,也叫s...

2017-11-17 09:52:16 170

转载 事务ACID和5种状态

事务的ACID属性1. 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 2. 一致性(Consistency)事务必须使数据库从一个一致性状态变换到另外一个一致性状态。3. 隔离性(Isolation)事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的

2017-11-16 12:10:18 5521

转载 redis简介与分布式锁的实现方案

1. redis 简介;Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:完全基于内存 数据结构简单,对数据操作也简单 使用多路 I/O 复用模型多路 I/O 复用模型是利用select、poll、ep...

2017-11-14 16:41:29 193

转载 mysql exists 和 in的效率比较

这条语句适用于a表比b表大的情况select * from ecs_goods a where cat_id in(select cat_id from ecs_category); 这条语句适用于b表比a表大的情况select * from ecs_goods a where EXISTS(select cat_id from ecs_category b where a.cat

2017-11-14 14:41:48 231

转载 几种简单排序算法简介

插入排序,选择排序,交换排序,归并排序;其中选择排序分为:基础选择排序和堆排序;交换排序:冒泡排序和快速排序;归并暂不涉及;插入排序:通常人们整理桥牌的方法是一张一张的来,将每一张牌插入到其他已经有序的牌中的适当位置。在计算机的实现中,为了给要插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。实现代码:    public void insertS

2017-11-03 10:24:56 166

转载 synchronized 与 Lock的对比

在java中可以使用 synchronized 和 Lock两个基本工具来实现锁。ReentrantLock 与synchronized有相同的并发性和内存语义,还包含了中断锁等候和定时锁等候,意味着线程A如果先获得了对象obj的锁,那么线程B可以在等待指定时间内依然无法获取锁,那么就会自动放弃该锁。但是由于synchronized是在JVM层面实现的,因此系统可以监控锁的释放与否,而Reen

2017-11-02 13:40:59 125

转载 JVM的GC机制、收集器与GC调优

一、回顾JVM内存分配需要了解更多内存模式与内存分配的,请看 深入JVM系列(一)之内存模型与内存分配1.1、内存分配:1、对象优先在EDEN分配2、大对象直接进入老年代 3、长期存活的对象将进入老年代 4、适龄对象也可能进入老年代:动态对象年龄判断动态对象年龄判断:虚拟机并不总是要求对象的年龄必须达到MaxTenuringThresho

2017-11-01 15:14:21 203

转载 Java:应用Observer接口实践Observer模式

1. 实现观察者模式实现观察者模式非常简单,[1]创建被观察者类,它继承自java.util.Observable类;[2]创建观察者类,它实现java.util.Observer接口;[3]对于被观察者类,添加它的观察者:void addObserver(Observer o)addObserver()方法把观察者对象添加到观察者对象列

2017-11-01 14:47:39 598

转载 解决linux系统CentOS下调整home和根分区大小

解决linux系统CentOS下调整home和根分区大小目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况[root@localhost ~]# df -h文件系统 容量 已用 可用  已用% 挂载点Filesystem           Size  Used Avail Use% Mo

2017-11-01 14:45:31 253

转载 solr no servers hosting shard 503 SolrCloud分布式检索时忽略宕机的Shard

“no servers hosting shard:503” 加入下面参数,只从存活的shards获取数据:shards.tolerant=true例如:explicittrue10text 没有打此参数,如果集群内有挂掉的shard,将显示:no servers hosting shard

2017-10-09 11:24:54 753

java 文件反编器

java 文件反编器

2012-03-05

空空如也

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

TA关注的人

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