3 装睡的小5郎

尚未进行身份认证

爱生活,爱编程!

等级
TA的排名 19w+

消息队列小解

一.常用的一些消息队列1.rabbitmq erlang语言开发,时效性最高2.rocketmq 吞吐量高,时效性高,但在大数据方面需要自己写代码支持3.kafka 超高的吞吐量,消息较少时可能会有延迟(kafka是堆积一波消息后发送)二.消息队列模型1.常用的是topic订阅发布模型同一个topic下,不同的group均能收到消息,同一个group则只能有一个消费者收到消息2.点...

2019-09-26 21:16:33

Java并发编程(原子性、可见性、有序性、synchronized、CAS、volatile、ThreadLocal)笔记

自己网上总结了一些多线程并发的一些文章,如有错误请指教!多线程的三大特性一、原子性原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。线程切换带来的原子性问题Java中的一条语句,在翻译为机器码之后,可能对应的是多个指令。比如:**i++**这个操作至少需要3条指令;把 i 的值从内存=加载到...

2019-07-14 18:02:13

ThreadLocal笔记

ThreadLocal笔记最近写代码刚好碰到ThreadLocal的小坑,顺便学习了一波ThreadLocal,拿出来分享一下ThreadLocal什么时候会出现线程不安全的情况呢?我总结了两种情况1.记录在 ThreadLocal 中的是一个线程共享的外部对象https://www.cnblogs.com/qilong853/p/5982878.html这边文章讲的很好,我就不复制黏...

2019-06-27 22:43:11

单点登录(SSO)看这一篇就够了

摘要: 背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录,而且每个系统的账号都不一样,这对于运营人员来说,很不方便。背景在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。...

2019-05-24 16:52:58

同一个类的不同方法,A方法没有@Transactional,B方法有@Transactional,A调用B方法,事务不起作用

问题:同一个类的不同方法,A方法没有@Transactional,B方法有@Transactional,A调用B方法,事务不起作用原理解析:spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代...

2019-05-21 16:09:36

MySQL中优化SQL语句的查询方法

1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is nul...

2019-02-19 17:33:16

某个表有近千万数据,CRUD比较慢,如何优化?分库分表了是怎么做的?分表分库了有什么问题?有用到中间件么?他们的原理知道么?

数据千万级别之多,占用的存储空间也比较大,可想而知它不会存储在一块连续的物理空间上,而是链式存储在多个碎片的物理空间上。可能对于长字符串的比较,就用更多的时间查找与比较,这就导致用更多的时间。可以做表拆分,减少单表字段数量,优化表结构。在保证主键有效的情况下,检查主键索引的字段顺序,使得查询语句中条件的字段顺序和主键索引的字段顺序保持一致。主要两种拆分 垂直拆分,水平拆分。垂直分表也就...

2019-02-19 10:53:03

超详细,从零开始搭建阿里云服务器(centos7)第五章 安装mysql

1.下载MySQL源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装MySql源yum -y install mysql57-community-release-el7-11.noarch.rpm查看一下安装效果yum repolist enabled | grep mysql...

2019-02-17 15:21:25

超详细,从零开始搭建阿里云服务器(centos7)第四章 安装tomcat

下面到了最关键的一步,安装tomcat过程中也是不断地爬坑。。1.下载并上传tomcat压缩包跟上一章类似,不细说了,我安装在了/home/zntzhang/tomcat7中2.解压压缩包tar -zxvf apache-tomcat-7.0.92.tar.gz3.启动tomcat进入到tomcat的bin目录下,执行 ./start.sh 即可启动tomcat,这时候可以通过cu...

2019-02-13 15:42:15

超详细,从零开始搭建阿里云服务器(centos7)第三章 安装jdk

1.下载jdk首先去oracle官网下载你所需要版本的jdk,我下的是jdk1.8https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.上传jdk到云服务器上传文件的方式有很多,这里不细说,我选择了FileZilla来进行sftp连接到云主机我在usr/local目录下...

2019-02-13 13:56:09

超详细,从零开始搭建阿里云服务器(centos7)第二章 创建用户

1.创建用户远程连接完后而第一件事就是创建自己的用户,因为root用户是最高权限的超级管理员,生产上不可能使用它,这里有一篇文章写的很好,我就只写发链接了在centos7中添加一个新用户,并授权2.权限当我们使用自己创建的用户时碰到权限不够的问题,首先我们该考虑是不是文件的权限不够,我们可以使用chmod来提高文件的访问权限chmod可以用数字来表示权限如 chmod 777 f...

2019-02-12 17:31:14

超详细,从零开始搭建阿里云服务器(centos7)第一章 远程连接

博主前两天买了3年最低配的阿里云玩玩,这次写一个笔记记录下自己搭服务器所遇到的坑。1.购买阿里云首先在阿里云官网https://www.aliyun.com/?spm=5176.2020520001.aliyun_topbar.1.7be34bd3zdmGPh选择想要的服务器进行购买在上图查看自己的外网ip,如果忘记登录密码了可以进行点击更多来初始化实例密码。初始的用户名是root。2....

2019-02-12 16:57:54

Maven仓库snapshot快照版本与release正式版本的区别

在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组...

2019-01-22 17:48:58

JSESSIONID的简单说明

1)第一次访问服务器的时候,会在响应头里面看到Set-Cookie信息(只有在首次访问服务器的时候才会在响应头中出现该信息)上面的图 JSESSIONID=ghco9xdnaco31gmafukxchph;Path=/acr,浏览器会根据响应头的set-cookie信息设置浏览器的cookie并保存之注意此cookie由于没有设置cookie有效日期,所以在关闭浏览器的情况下会丢失掉这个c...

2018-12-22 21:14:08

数据库索引总结

数据库索引总结为什么要使用索引?通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快 数据的检索速度(大大减少的检索的数据量),这也是创建索引的最主要的原因。帮助服务器避免排序和临时表将随机IO变为顺序IO可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。索引这么多优点,为什么不对表中的每一个列创建一个索引呢?当对表中的数据进行增加、删除...

2018-11-13 15:49:59

数据库之锁与事务

前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。MySQL中锁的种类M...

2018-10-22 11:38:05

java基本数据类型传递与引用传递区别详解

原文地址 https://blog.csdn.net/javazejian/article/details/51192130java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法(或函数)的两个专业术语:按值调用(call by...

2018-10-13 22:17:46

Java常量池理解与总结

原文地址一. 相关概念1. 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。2. Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版...

2018-10-11 17:48:59

git中reset操作的三种模式(总结)

首先,git 本地提交,会经过三个步骤。这三个步骤的流程不多做解释工作区 --> 暂存区 -->版本库然后git reset –soft 可以把版本库上的提交回退到暂存区,修改记录保留git reset –mixed 可以把版本库上的提交回退到工作区,修改记录保留git reset –hard 可以把版本库上的提交彻底回退,修改的记录全部revert。...

2018-09-21 17:14:56

nginx的配置、虚拟主机、负载均衡和反向代理

nginx在前面,我写过好几篇,相似的介绍它在各个平台上的安装配置以及和php-fpm的连接等。今天,这一篇,着重讲解它的配置,其中包括它比较擅长的负载均衡和反向代理,还有虚拟主机功能。nginx启动和关闭按照惯例,先说下各个平台的配置情况:centos平台,源码安装的:/usr/local/nginx/nginx # 启动/usr/local/nginx/nginx -...

2018-08-20 15:09:24

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。