自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 centos7下canal1.1.4安装

官方资源https://github.com/alibaba/canal/wiki/QuickStarthttps://github.com/alibaba/canal/wiki/Sync-ES准备ElasticSearch6.8.x,Mysql5.7在Mysql中新建库zaowu,再建表CREATE TABLE `shop` ( `id` int(11) NOT NULL AUT...

2020-03-21 00:21:39 1334

转载 jvm指令手册

这里写自定义目录标题栈和局部变量操作栈和局部变量操作指令码 助记符 说明0x00 nop 什么都不做0x01 aconst_null 将null推送至栈顶0x02 iconst_m1 将int型-1推送至栈顶0x03 iconst_0 将int型0推送至栈顶0x04 iconst_1 将int型1推送至栈顶0x05 iconst_2 将int型2推送...

2019-12-19 17:24:09 38

原创 springboot2.1.8+sharding-jdbc3.x自定义分片

springboot2.1.8+sharding-jdbc3.x自定义分片引入jar添加application.properties配置自定义分片及分表算法创建实体类,操作逻辑建立数据库及表测试引入jar<parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin...

2019-10-11 17:38:53 583

转载 MyBatis传入参数为list、数组、map写法

1.foreach简单介绍:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每...

2018-11-28 11:41:59 869

转载 java NIO:浅析IO模型

java NIO:浅析IO模型:https://www.cnblogs.com/dolphin0520/p/3916526.html图解java的BI0,NIO:https://blog.csdn.net/wu1226419614/article/details/68924909

2018-11-25 14:01:58 417

转载 重复性管理——从泛值到泛型以及泛函

重复性管理——从泛值到泛型以及泛函(上):https://my.oschina.net/goldenshaw/blog/1529009重复性管理——从泛值到泛型以及泛函(中):https://my.oschina.net/goldenshaw/blog/903273重复性管理——从泛值到泛型以及泛函(下):https://my.oschina.net/goldenshaw/blog/90701...

2018-11-24 23:32:30 101

转载 Java 字节流与字符流

Java 字节流与字符流(1):https://my.oschina.net/goldenshaw/blog/1568030Java 字节流与字符流(2):https://my.oschina.net/goldenshaw/blog/1568031Java 字节流与字符流(3):https://my.oschina.net/goldenshaw/blog/1568032...

2018-11-24 15:11:20 69

转载 线程相关基础概念

Java线程有6种状态:https://my.oschina.net/goldenshaw/blog/386788Java 线程状态之 BLOCKED :https://my.oschina.net/goldenshaw/blog/706663Java 线程状态之 RUNNABLE:https://my.oschina.net/goldenshaw/blog/705397用户线程和内核线程的...

2018-11-23 23:02:22 61

转载 Maven灵活构建

Maven内置了三大特性:属性、Profile和资源过滤来支持构建的灵活性。Maven属性事实上有六种类型的Maven属性:内置属性:主要有两个常用内置属性——basedir表示项目根目录,即包含pom.xml文件的目录;basedir表示项目根目录,即包含pom.xml文件的目录;{basedir}表示项目根目录,即包含pom.xml文件的目录;{version}表示项目版本。POM...

2018-07-25 10:55:50 114

转载 【Spring框架】mvc:default-servlet-handler的作用

优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do 、 *.xhtml等方式。这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL。如果将DispatcherServlet请求映...

2018-06-06 17:32:14 176

转载 SSL工作原理介绍以及java实现

SSL工作原理介绍以及java实现目录SSL工作原理介绍以及java实现1. SSL简介2. SSL工作原理握手协议(Handshake protocol)2.1握手阶段使用RSA加密算法2.2握手阶段使用Diffie-Hellman加密算法记录协议(Record protoc...

2018-05-16 16:24:00 434

转载 spring加载bean实例化顺序

转载:http://blog.sina.com.cn/s/blog_525960510100ipwj.html  http://blog.sina.com.cn/s/blog_6940cab30102uwma.html 问题来源:有一个bean为 A,一个bean为B。想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值。如果只是在A里单纯的...

2018-04-13 06:10:52 115

转载 大牛聊软件设计之领域设计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cainiao_user/article/details/78285385 ...

2018-04-09 22:35:11 163

转载 常见性能优化策略的总结

本文要感谢我职级评定过程中的一位评委,他建议把之前所做的各种性能优化的案例和方案加以提炼、总结,以文档的形式沉淀下来,并在内部进行分享。力求达到如下效果:1. 形成可实践、可借鉴、可参考的各种性能优化的方案以及选型考虑点,同时配合具体的真实案例,其他人遇到相似问题时,不用从零开始。2. 有助于开阔视野,除了性能优化之外,也能提...

2018-04-09 22:22:36 85

转载 Nginx限制访问速率和最大并发连接数模块--limit (防止DDOS攻击)

Tengine版本采用http_limit_req_module进行限制具体连接请参考 http://tengine.taobao.org/document_cn/http_limit_req_cn.html和官方nginx类似,不过支持多个变量,并且支持多个limit_req_zone的设置。比如:limit_req_zone $binary_remote_addr zone=...

2018-03-23 21:51:26 510

转载 从实际案例聊聊Java应用的GC优化

从实际案例聊聊Java应用的GC优化标签:从实java应用| 发表时间:2017-12-29 22:20 | 作者:美团点评技术团队 出处:https://tech.meituan.com/ 当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点...

2018-03-23 21:39:04 125

转载 nginx优化 突破十万并发

一、一般来说nginx 配置文件中对优化比较有作用的为以下几项:1. worker_processes 8;nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8)。2. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 1000000...

2018-03-23 21:29:12 143

转载 redis的事务和watch

redis的事务严格意义来讲,redis的事务和我们理解的传统数据库(如mysql)的事务是不一样的。redis中的事务定义Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis的最小执行单位,一个事务中的命令要么都执行,要么都不执行。事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis依次执行这些命令。...

2018-03-23 21:26:15 130

转载 Redis分布式锁的正确实现方式

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

2018-03-23 21:23:00 126

转载 基于Redis的分布式锁到底安全吗(下)?

自从我写完这个话题的上半部分之后,就感觉头脑中出现了许多细小的声音,久久挥之不去。它们就像是在为了一些鸡毛蒜皮的小事而相互争吵个不停。的确,有关分布式的话题就是这样,琐碎异常,而且每个人说的话听起来似乎都有道理。今天,我们就继续探讨这个话题的后半部分。本文中,我们将从antirez反驳Martin Kleppmann的观点开始讲起,然后会涉及到Hacker News上出现的一些讨论内容,接下来...

2018-03-23 21:19:38 103

转载 基于Redis的分布式锁到底安全吗(上)?

网上有关Redis分布式锁的文章可谓多如牛毛了,不信的话你可以拿关键词“Redis 分布式锁”随便到哪个搜索引擎上去搜索一下就知道了。这些文章的思路大体相近,给出的实现算法也看似合乎逻辑,但当我们着手去实现它们的时候,却发现如果你越是仔细推敲,疑虑也就越来越多。实际上,大概在一年以前,关于Redis分布式锁的安全性问题,在分布式系统专家Martin Kle...

2018-03-23 21:16:19 85

转载 Java 如何有效地避免OOM:善于利用软引用和弱引用

Java 如何有效地避免OOM:善于利用软引用和弱引用  想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解 强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引用  三.如何利用软引用...

2018-03-14 17:08:31 64

转载 CountDownLatch、CyclicBarrier、Semaphore共同之处与区别以及各自使用场景

转载自:http://blog.csdn.net/jackyechina/article/details/52931453区别CountDownLatch 使一个线程A或是组线程A等待其它线程执行完毕后,一个线程A或是组线程A才继续执行。CyclicBarrier:一组线程使用await()指定barrier,所有线程都到...

2018-03-06 17:50:05 296

转载 Java并发之AQS详解

一、概述  谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!  类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch…。  以...

2018-03-06 16:19:19 90

转载 linux下mongodb的安装及启动

安装1>设置mongoDB目录cd /home/apps      附:centOS下创建目录命令  mkdir /home/apps2>下载mongodbcurl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.6.tgz或者直接下载再copy或用xftp上传到指定目录3>解压缩文件tar -xz

2018-01-07 00:32:10 1825

转载 网络安全——数据的加密与签名,RSA介绍

一、 密码概述发送者对明文进行加密然后生成密文,接受者再对密文解密得到明文的过程。 现在使用的所有加密算法都是公开的!但是密钥肯定不是公开的。1 散列(哈希)函数通常有MD5、SHA1、SHA256、SHA512实质是抽取特征码,这样一般不会重复!是的,不同的文本它的哈希结果是有可能相同的,但概率很小。

2017-12-18 14:47:45 218

转载 TCP 协议简介

一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。

2017-12-18 14:14:49 77

转载 数字签名是什么?

数字签名是什么?作者:David Youd翻译:阮一峰原文网址:http://www.youdzone.com/signature.html1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的

2017-12-18 13:09:29 136

转载 JAVA排序汇总

出处:http://blog.csdn.net/lenotang/article/details/3411346 package com.wepull.jbs.lesson4; import java.util.Random; /** *  * 排序测试类 *  *  *  * 排序算法的分类如下: *  * 1.插入排序(直接

2017-12-16 22:55:22 84

转载 如何设计数据库(2)?

出处:http://blog.csdn.net/lenotang/article/details/3304575 数据规范化  •          仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构。表设计后,很可能结构不合理,出现数据重复保存,简称数据的冗余,这对数据的增删改查带来很多后患,所以我们需要审核是否合理,就像施工图设计后,还需要其他机构进行审核图纸是否

2017-12-16 22:53:11 172

转载 如何设计数据库(1)?

为什么需要设计数据库        这里我们思考两个问题:修建茅屋需要设计吗?修建大厦需要设计吗?结论是:当数据库比较复杂(如数据量大,表较多,业务关系复杂)时,我们需要先设计数据库;因为,良好的数据库设计能够:q       节省数据的存储空间q       能够保证数据的完整性q       方便进行数据库应用系统的开发糟糕的数据库设计:q       数据冗余、存储空间浪费

2017-12-16 22:50:24 100

转载 门面模式

小时候快过春节了,爸妈都要给我们一身新,那时候有意思了,我们全家浩浩荡荡,去一个店买完衣服,再到另一个店挑鞋子,还要辗转换几家店子去选玩具。我妈妈又喜欢砍价,每次讲下一块钱她都眉开眼笑,似乎很有成就感。这一逛一讲,基本上一天就过去了,折腾的人受不了。那时候我就想啊,要有家综合型店子能够卖所有我需要的东西,还不许还价。呵呵,那我就开心了。这个呢,就是我们今天要讲的主题:门面模式。

2017-12-16 22:46:41 95

转载 JMM浅析

1.JMM简介2.堆和栈3.本机内存4.防止内存泄漏

2017-12-13 13:37:04 8342 1

转载 jvm优化—— 图解垃圾回收

jvm调优中一个离不开的重点是垃圾回收,当垃圾回收成为系统达到更高并发量的瓶颈时,我们就需要对jvm中如果进行“自动化”垃圾回收技术实施必要的监控和调节。

2017-12-11 02:29:02 131

转载 JVM调优之 -Xms -Xmx -Xmn -Xss

1、JVM垃圾回收与性能调优总结2、JVM调优的几种策略一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配.

2017-12-10 13:41:50 81

转载 JVM 参数配置及详解 -Xms -Xmx -Xmn -Xss 调优总结

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制.我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m.

2017-12-10 13:40:17 6231

转载 jdk1.8中ConcurrentHashMap的实现原理

并发环境下为什么使用ConcurrentHashMap1. HashMap在高并发的环境下,执行put操作会导致HashMap的Entry链表形成环形数据结构,从而导致Entry的next节点始终不为空,因此产生死循环获取Entry2. HashTable虽然是线程安全的,但是效率低下,当一个线程访问HashTable的同步方法时,其他线程如果也访问HashTable的同步方法,那么会进入阻塞或者轮

2017-12-09 17:50:58 787

转载 HashMap1.8与HashMap1.6的不同

在JDK1.6中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。

2017-12-09 17:29:55 462

转载 查找(二)简单清晰的B树、Trie树详解

散列表散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。

2017-12-09 17:27:03 74

转载 查找(一)史上最简单清晰的红黑树讲解

我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务。我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。

2017-12-09 17:25:36 185

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