自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Java设计模式---单利模式

1、何为设计模式?设计模式:是一套被反复使用,多数人知晓,经过分类编码目的,代码设计经验的总结。目的:使用设计模式是为了提高代码重用性,让代码更容易让人理解,并保证代码的可靠性。2、何为单利模式单利模式:顾名思义就是只能有一个实例,不能再出现第二个,就如同地球上没有两片一模一样的树叶一样。在此处即,一个类只能有一个实力,且整个项目都能访问该实例。两大类:饿汉模式:实例在类装...

2019-04-12 11:41:31 189 2

转载 java内存模型

并发编程模型分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过读-写内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明...

2019-03-26 20:20:10 106

转载 volatile和synchronized的作用和区别

java的线程抽象内存模型java的线程抽象内存模型中定义了每个线程都有一份自己的私有内存,里面存放自己私有的数据,其他线程不能直接访问,而一些共享数据则存在主内存中,供所有线程进行访问。上图中,如果线程A和线程B要进行通信,就要经过主内存,比如线程B要获取线程A修改后的共享变量的值,要经过下面两步: (1)、线程A修改自己的共享变量副本,并刷新到了主内存中。 (2)...

2019-03-26 17:23:04 290

转载 java单利模式之双检锁深入理解

前言单例模式在Java开发中是非常经典和实用的一种设计模式,在JDK的内部包的好多api都采用了单例模式,如我们熟悉的Runtime类,单例模式总的来说有两种创建方式,一种是延迟加载的模式,一种是非延迟加载的模式,今天我们来学习一下基于双检锁延迟加载的单例模式。什么是单例模式顾名思义,单例模式指的是在整个程序运行期间,我们只能初始化某个类一次,然后一直使用这个实例,尤其是在多线程的环境...

2019-03-26 16:52:57 187

原创 set无序,list有序的正确理解

1、List,Set都是继承自Collection接口。List特点:元素有放入顺序,元素可重复 。Set特点:元素无放入顺序,元素不可重复。注意,元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的。2、其实,有序或无序是指是否按照其添加的顺序来存储对象。List 是按照元素的添加顺序来存储的。而 Set 的实现类都有一套自己的排序算法,每添加一...

2019-03-22 17:44:43 6865

原创 Mysql 5.7 的安装及主从复制配置

MySQL 5.7 的安装1. 下载并安装MySQL官方的Yum Repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。yum -y inst...

2019-03-05 17:48:38 148

转载 Redis集群搭建

一、概述 Redis3.0版本之后支持Cluster.1.1、redis cluster的现状  目前redis支持的cluster特性:  1):节点自动发现  2):slave->master 选举,集群容错  3):Hot resharding:在线分片  4):进群管理:cluster xxx  5):基于配置(nodes-port.co...

2019-02-28 14:52:16 100

转载 springboot整合rabbitmq

一 RabbitMQ的介绍RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache).消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下:从上图可看出,...

2019-02-14 14:35:58 107

转载 windows及linux系统下git换行符的处理

一、什么是CRLF/LFCarriage-Return 回车符\r Line-Feed 换行符\n在Windows环境中,换行符是CRLF,也就是\r\n,但是在Linux环境中,换行符是LF,也就是\n二、git如何处理换行符在Linux下默认的换行符也是LF,那也就不存在什么问题。 在Windows下默认的换行符是CRLF,那么我们需要保证在文件提交到版本库的时候文件的...

2019-01-28 11:12:02 639

转载 git的多用户配置

背景例如:你在一家公司上班,并有公司发给你的一个git账号。同时,作为自己的兴趣爱好,你自己有一个github的账号。此时,你想要在同一台电脑上同时配置两个账号,以便于都能访问到git代码库。方法1、首先配置不同的SSH KEY,使用ssh-Keygen命令生成不同的SSH KEY配置公司git账号#切换到.ssh目录cd ~/.ssh #使用自己的企业邮箱产生SSH ...

2019-01-21 11:44:06 165

转载 Nginx代理Web Socket超时中断的解决方案,保持长连接

使用Nginx代理WebSocket的时候,客户端与服务器握手成功后,如果在60秒内没有数据交互,就会自动断开连接。因为Nginx默认的断开链接时间为60秒,为保持长连接,可有两种解决方法。一、配置Nginx,设置读超时时间大一点,如下图按照上述方法设置好后,我们可以发现,如果在10分钟之内没有数据交互的话,websocket连接就会自动断开,所以这种方式还是有点问题,如果我页面停留时...

2018-12-27 14:55:55 13782 1

原创 双硬盘Win10+Ubuntu双系统安装

如果你的电脑是双硬盘,如果你的电脑可以选择硬盘启动,那么你可以选择把Win10和Ubuntu各自安装到一块硬盘上,以后就可以选择硬盘启动来进入不同的系统。如果不能选择硬盘启动,那么两个系统的引导必须要在一块硬盘上,否则系统安装完毕后,将无法进入附属硬盘的系统。本人电脑双硬盘(固态硬盘【主、Win10】+机械硬盘【附、Ubuntu】),为安装双系统尝试了不下三次,最后终于在网上找到了情况和我一样...

2018-12-06 10:41:37 809

原创 第三方平台业务接口设计规范

前言 一个平台的前后端数据传输接口一般都会在内网环境下通信,并且会使用安全框架,所以安全性可以得到很好的保障。但是第三放平台业务接口一般是在公网环境下通信的,我们可以从以下三点来设计一个安全的API接口。一、安全性安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏。1.1 调用接口的先决条件-token获取token一般会涉及到几个参数appid,appkey,timestamp,nonce,sign。我们通过以上几个参数来获取调用系

2020-10-22 15:42:01 2481

转载 JAVA后端开发规范

一、命名风格【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形

2020-07-07 15:26:35 146

原创 日常问题整理

nginx通过域名访问项目(不接项目名称),cookie丢失问题详解最近公司的一个项目,浏览器输入域名后通过nginx代理访问后端web应用服务,使用ip时是没有问题的,但是使用域名就死活登录不进去,一直在登录界面。经过一顿操作,最后同时帮助解决了问题。原来是cookie丢失导致权限验证无法通过,从而一直停留在登录页面。解决:proxy_set_header Host $host;或...

2019-12-26 18:34:09 182

转载 Spring IOC 容器中 singleton 模式的线程安全

spring中管理的bean实例默认情况下是单例的[sigleton类型]按其作用域来讲有sigleton(单例),prototype(原型),request,session,global session。spring中的单例与设计模式里面的单例略有不同,设计模式的单例是在整个应用中只有一个实例,而spring中的单例是在一个IoC容器中就只有一个实例。但spring中的单例也不会影响应用...

2019-12-04 10:57:33 749

原创 MyISAM 和 INNODB 的区别

MyISAM存储引擎:不是事务安全的,不支持外键,以查询和添加为主。我们考虑使用myisam存储引擎,比如bbs 中的 发帖表,回复表,还有批量添加MyISAM效率高INNODB存储引擎:支持事务安全,支持外键,行锁,事务支持是他的最大特点。保存的数据都很重要。MyISAM表支持三种不同的存储格式:静态表(默认):如果表的每个字段的数据类型的定义都是使用静态的(char),mys...

2019-11-13 16:40:20 104

原创 原码、补码、反码

原码、补码、反码原码原码就是符号位加上真值的绝对值,即第一位表示符号,其余为表示值,比如8位二进制:[+1]原 = 0000 0001[-1]原 = 1000 0001第一位是符号位,所以8位二进制的取值范围是:[1111 1111 , 0111 1111]即 -(27-1)~(27-1)即 [-127 , 127]反码整数的反码是其本身,负数的反码是原码的基础上,符号位不变,...

2019-09-27 15:57:32 241

原创 面试问题整理

转发和重定向的区别转发和重定向的区别转发过程重定向过程转发和重定向的区别转发是服务器行为,重定向是客户端行为转发速度快,重定向速度慢转发的是同一次请求,重定向是两次不同的请求转发不会执行转发后的代码,重定向会执行重定向之后的代码转发地址栏没有变化,重定向地址栏有变化转发必须在同一台服务器下完成,重定向可以不同的服务器下完成在servlet中调用转发,重定向语句:request...

2019-09-27 14:15:07 239

转载 Spring Boot 整合 OAuth2.0基础知识

一、oauth中的角色client:使用API的客户端(如Android 、IOS、web app)OAuth2.0 Provider:Authorization Server:认证服务器,进行认证和授权 Resource Server:资源服务器,被授权访问的资源Resource Owner:用户二、Authorization Server一般情况下,创建两个配置类,一个...

2019-04-19 15:37:21 354

空空如也

空空如也

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

TA关注的人

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