自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 OAuth2.0 的简介

一、基础知识1、OAuth产生背景  很多网站、APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户注册账号的麻烦、还可以获取用户的好友关系来增强自身的社交功能。  比如我们可以使用微博登录简书,简书会自动将你的微博头像设置为你的简书头像,将你的微博昵称设置为你的简书昵称,甚至还可以获取你微博中的好友列表,提示你哪些朋友已经在使用...

2019-08-19 14:25:00 172

转载 多账户的统一登录方案

名称解释这里的多账户区别于系统级别的,我们讲的多账户系统是指,在我们互联网应用当中,我们的应用会使用多个第三方账号进行登录,必须现在常用的APP(网易云音乐)登录方式包含:网易、微信、QQ内容通过这一篇文章可以学到:多用户下面的技术方案细节,以及相应的表设计,流程设计。不可以:与其他文章一样,我这里不会有具体代码实现细节,方案做的对,代码咋写都不会太烂。...

2019-08-19 14:19:00 395

转载 常用的一些SQL语句

一、回顾group 查询group查询就是分组查询,为什么要分组查询?因为我们想按某个维度进行统计。下面来看个图:现在我的数据如下比如说,我想知道:每天Java3y这个公众号的点击量是多少。按我们人工而言,思路很简单:把相同的天数以及公众号名称为Java3y的数据找出来,再将每个点击量相加,就得出了结果了。步骤用上SQL我们可能会这样写:sele...

2019-08-07 12:13:00 175

转载 SQL语句的优化

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

2019-08-05 14:46:00 100

转载 SpringCloud简介与5大常用组件

springcloud:springcloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建,对我们熟悉spring的程序员来说,上手比较容易。通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。SpringCloud的组件相当繁杂,拥有诸多子项目。重点关注Netflixspringcloud的版本说明:...

2019-08-03 02:01:00 99

转载 数据库为什么需要锁机制?有哪些锁机制?

锁的概念:首先我们先了解下什么是数据库锁,锁是事务对某个数据库中的资源(如表和记 录)存取前,先向系统提出请求,封锁该资源,事务获得锁后,即取得对数据的控制权,在事务释放它的锁之前,其他事务不能更新此数据。当事务撤消后,释放被 锁定的资源。 为什么要锁? 数据库是一个多用户使用的共享资源,比如一个用户表 t_user,两个浏览器前面的人登录了同个一个账号,把电话...

2019-08-03 01:21:00 745

转载 高并发下如何优化能避免服务器压力过大?

1,整个架构:可采用分布式架构,利用微服务架构拆分服务部署在不同的服务节点,避免单节点宕机引起的服务不可用!2,数据库:采用主从复制,读写分离,甚至是分库分表,表数据根据查询方式的不同采用不同的索引比如b tree,hash,关键字段加索引,sql避免复合函数,避免组合排序等,避免使用非索引字段作为条件分组,排序等!减少交互次数,一定不要用select *!3,加缓存:使用诸...

2019-08-01 12:41:00 496

转载 Spring MVC 简介

Spring MVC工作流程图概述Spring MVC 也叫 Spring Web MVC ,属于展示层框架。SpringMVC 是 Spring 框架的一部分。Spring Web MVC 框架提供了 MVC (模型 - 视图 - 控制器) 架构和用于开发灵活和松散耦合的 Web 应用程序的组件。 MVC 模式导致应用程序的不同方面(输入逻辑,业务逻辑和 UI 逻辑)分...

2019-07-28 23:27:00 93

转载 Java最常见的面试题:模块十九

十九、JVM194.说一下jvm的主要组成部分?及其作用?类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)组件的作用:首先通过类加载器(ClassLoader)会把Java代码转换成...

2019-07-28 15:44:00 92

转载 Java最常见的面试题:模块十八

十八、Redis179.redis是什么?都有哪些使用场景?Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis使用场景:数据高并发的读写海量数据的读写对扩展性要求高的数据180.redis有哪些功能?...

2019-07-28 14:37:00 113

转载 Java最常见的面试题:模块十七

十七、MySql164. 数据库的三范式是什么?第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。第三范式:任何非主属性不依赖于其它非主属性。165. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重...

2019-07-28 14:33:00 90

转载 Java最常见的面试题:模块十五和模块十六

十五、Kafka152. kafka 可以脱离 zookeeper 单独使用吗?为什么?kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。153. kafka 有几种数据保留的策略?kafka 有两种数据保存策略:按照过期时间保留和按照存储的消息大小保留。154. kafka 同...

2019-07-28 14:29:00 183

转载 Java最常见的面试题:模块十四

十四、RabbitMQ135. rabbitmq 的使用场景有哪些?①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。②. 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不...

2019-07-28 10:53:00 69

转载 Java最常见的面试题:模块十三

十三、Mybatis125. mybatis 中 #{}和 ${}的区别是什么?#{}是预编译处理,${}是字符串替换;Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值;使用#{}可以有效的防止SQL注入,提高...

2019-07-28 00:04:00 105

转载 Java最常见的面试题:模块十二

十二、Hibernate113. 为什么要使用 hibernate?对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。hi...

2019-07-27 23:30:00 78

转载 Java常见的几种设计模式

单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧public class Si...

2019-07-27 16:40:00 399

转载 Java最常见的面试题:模块十一

十一、Spring Boot / Spring Cloud104. 什么是 spring boot?在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建<bean>,依赖...

2019-07-27 16:18:00 107

转载 Java最常见的面试题:模块九和模块十

九、设计模式88. 说一下你熟悉的设计模式?参考:Java常见的设计模式 89. 简单工厂和抽象工厂有什么区别?简单工厂模式:这个模式本身很简单而且使用在业务较简单的情况下。一般用于小项目或者具体产品很少扩展的情况(这样工厂类才不用经常更改)。它由三种角色组成:工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,根据逻辑不同,产生具...

2019-07-27 14:45:00 127

转载 Java最常见的面试题:模块八

网络79. http 响应码 301 和 302 代表的是什么?有什么区别?答:301,302都是HTTP状态的编码,都代表着某个URL发生了转移。区别: 301redirect:301代表永久性转移(PermanentlyMoved)。302redirect:302代表暂时性转移(TemporarilyMoved)。...

2019-07-27 13:04:00 90

转载 Java最常见的面试题:模块七

异常74. throw 和 throws 的区别?throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。而throw则是指抛出的一个具体的异常类型。75. final、finally、finalize 有什么区别?final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰...

2019-07-26 14:49:00 75

转载 Java最常见的面试题:模块六

Java Web64. jsp 和 servlet 有什么区别?jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。Servlet中没有内置对象,Jsp中的...

2019-07-26 14:35:00 105

转载 Java最常见的面试题:模块四和模块五

反射57. 什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任...

2019-07-26 10:04:00 116

转载 Java最常见的面试题:模块三

多线程35. 并行和并发有什么区别?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每一个核,以达到最高...

2019-07-25 23:59:00 69

转载 Java最常见的面试题:模块二

容器18. java 容器都有哪些?常用容器的图录:19. Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集...

2019-07-25 20:38:00 66

转载 Java最常见的面试题:模块一

Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了...

2019-07-25 20:08:00 66

转载 数据库的常见面试题

1.事务四大特性原子性:要么执行,要么不执行,也就是不可再分,已经最小了。隔离性:所有操作全部执行完以前其它会话不能看到过程。一致性:事务前后,数据总额一致。持久性:一旦事务提交,对数据的改变就是永久的2.数据库隔离级别脏读:事务B读取事务A还没有提交的数据不可重复读:两次事务读的数据不一致幻读:事务A修改了数据,事务B也修改了数据,这时在事务...

2019-07-25 19:52:00 140

转载 Spring 事务管理简介

概述事务原本是数据库中的概念,用于数据访问层。但一般情况下,需要将事务提升到业务层,即 Service 层。这样做是为了能够使用事务的特性来管理具体的业务。在 Spring 中通常可以通过以下三种方式来实现对事务的管理:使用 Spring 的事务代理工厂管理事务(已过时)使用 Spring 的事务注解管理事务使用 AspectJ 的 AOP 配置管理事务...

2019-07-25 00:24:00 101

转载 Spring 应用程序(例子)

POM创建一个工程名为 hello-spring 的项目,pom.xml 文件如下:12345678910111213141516171819<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"...

2019-07-24 23:14:00 359

转载 Spring 的总结

概述:Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类。它们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务,如日志、安全、事务等,复用性强。Spring 根据代码的...

2019-07-24 23:00:00 69

转载 对称加密

对称加密:和普通的加密方法不同,他是采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。...

2019-07-24 22:31:00 142

转载 Java六大原则

单一原则:简单地说就是一个类只做一件事。如果你遵守了这个原则,那么你的类就会划分的很细,每个类都有比较单一的职责,这不就是高内聚、低耦合么!单一职责原则并不是一个类只能有一个函数,而是说这个类中的函数所做的工作是高度相关的,也就是高内聚。依赖反转原则:设计和实现要依赖于抽象而非具体。里氏替换原则:继承会给程序带来侵入性,程序的可移植性降低,增加了对象间的耦合性,如果一个类被其他的类所继承...

2019-07-24 10:53:00 235

转载 [Spring MVC] 2 Spring 整合 Spring MVC

POM在 pom.xml 配置文件中增加 org.springframework:spring-webmvc 依赖12345<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc<...

2019-07-24 09:57:00 58

转载 [Log4j] 2 Log4j 日志文件

Slf4j 简介slf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配其他具体的日志实现方案,比如 apache 的 org.apache.log4j.Logger,JDK 自带的...

2019-07-24 09:43:00 84

转载 [Log4j] 1 Log4j 简介

Log4j 日志级别为了方便对于日志信息的输出显示,对日志内容进行了分级管理。日志级别由高到低,共分 6 个级别:fatal(致命的)errorwarninfodebugtrace(堆栈)Log4j 日志输出控制文件日志输出简介Log4j 的日志输出控制文件,主要由三个部分构成:日志信息的输出位置:控制日志信息将要输出的位置...

2019-07-24 09:42:00 72

转载 [Linux] Linux 简介

概述Linux 是一种自由和开放源码的类 UNIX 操作系统,使用 Linux 内核。目前存在着许多不同的 Linux 发行版,可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。 Linux 是一个领先的操作系统,世界上运算最快的 10 台超级电脑运行的都是 Linux 操作系统。Linux 操作系统也是自由软件和开放源代...

2019-07-23 19:36:00 119

转载 [Linux] VMware 安装

VMware 简介VMWare (Virtual Machine ware)是一个“虚拟 PC ”软件公司.它的产品可以使你在一台机器上同时运行二个或更多 Windows、DOS、LINUX 系统。与“多启动”系统相比,VMWare 采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare 是真正“同时”运行,多个操作系统在主系统的平...

2019-07-23 19:36:00 55

转载 [Linux] 7 Linux 编辑器

vim运行模式编辑模式:等待编辑命令输入插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息命令模式:在编辑模式下,输入 : 进行命令模式命令:q:直接退出vi:wq:保存后退出vi ,并可以新建文件:q!:强制退出:w file:将当前内容保存成某个文件:set number:在编辑文件显示行号:set nonumber:在...

2019-07-23 19:34:00 60

转载 [Linux] 6 Linux 压缩命令

tar命令语法参数参数说明tartar [-cxzjvf] 压缩打包文档的名称 欲打包目录-c建立一个归档文件的参数指令-x解开一个归档文件的参数指令-z是否需要用 gzip 压缩-j是否需要用 bzip2 压缩...

2019-07-23 19:32:00 82

转载 Linux 系统管理命令

系统管理命令命令说明stat显示指定文件的相关信息,比ls命令显示内容更多who显示在线登录用户hostname显示主机名称uname显示系统信息top显示当前系统中耗费资源最多的进程ps显示瞬间的进程状态du显示指定的文件(目录)已使用的磁盘空间的总量...

2019-07-23 19:31:00 44

转载 Linux 的目录结构

概述目录说明bin存放二进制可执行文件(ls,cat,mkdir等)boot存放用于系统引导时使用的各种文件dev用于存放设备文件etc存放系统配置文件home存放所有用户文件的根目录lib存放跟文件系统中的程序运行所需要的共享库及内核模块mnt系统管理...

2019-07-23 19:30:00 43

空空如也

空空如也

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

TA关注的人

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