整理总结
thankjj20160909
这个作者很懒,什么都没留下…
展开
-
源码解读之HashMap
1 概述HashMap位于java.util包下public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable继承了AbstractMap,实现了Map接口,序列化。下面是JDK官方文档的一个翻译基于哈希表的...原创 2020-04-07 11:30:09 · 298 阅读 · 0 评论 -
k8s
一 Kubernetes概述1 什么是k8s是Google在2014年分布的一个开源项目。最初,Google开发了一个叫Borg的系统(现在称Omega)来调度庞大数量的容器和工作负载。积累多年经验后,决定重写容器管理系统(Go语言),这个项目就是Kubernetes,即k8s是Google Omega的开源版本。2 解决了什么问题1)通过k8s,分布式系统工具将拥有网络效应。每当...原创 2019-10-24 17:37:06 · 685 阅读 · 0 评论 -
docker
1 架构docker单纯理解就是一个虚拟机,类似VMWare。镜像就是类,容器就是对象。三大作用:Build、Share、Run三个概念:Image镜像、Container容器、repository仓库2 常用命令1)远程仓库下载nginx镜像:docker pull nginx2)查看本地已有镜像:docker images3)运行nginx容器:docker ru...原创 2019-10-14 18:07:10 · 205 阅读 · 0 评论 -
PostgreSQL
因为工作原因接触到PostgreSQL,所以纯属简单扫盲一下1 什么是PostgreSQL一个自由的对象-关系数据库服务器(数据库管理系统),是从伯克利写的POSTGRES软件包发展而来,经过十几年的发展,PostgreSQL是世界上可以获得最先进的开放源码的数据库系统,提供了多版本并发控制,支持几乎所有SQL语句(包括子查询,事务和用户定义类型和函数)。可以直接类比为MySQL。2...原创 2019-10-14 16:08:41 · 152 阅读 · 0 评论 -
文件上传入库MySQL与下载
需求:需要将Excel文件进行解析,然后上传到数据库某个表中,并能够进行下载技术:前端vue之ElementUI,后端springboot,mybatis实现效果:上传实现:1)字段类型选择数据库中用于存储文件的字段类型为BLOB;实体中该字段对应的类型为 byte[] ;Mybatis的Mapper对应字段为 #{fileContent, jdbcType=B...原创 2019-08-02 15:41:12 · 2447 阅读 · 0 评论 -
springboot整合shiro
之前一直只是单纯的知道shiro权限框架,并没有实质性的应用,最近终于对机会接触并且有了实战,当然对其工作过程原理也有了一定的了解。首先想要声明的是其实shiro还是比较复杂的,要想应用、搞懂还是需要花费一定时间的。一 shiro简介Apache Shiro是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,可以快速轻松地保护任...原创 2019-08-27 11:04:57 · 193 阅读 · 0 评论 -
文档型数据库MongoDB
1. MongoDB简介一个跨平台的,面向文档的数据库,是当前NoSQL数据库产品中最热门的一种。它介于关系数据库和非关系数据库之间,是非关系数据库中功能最丰富,最新关系数据库的产品。支持的数据结构非常松散,是类似JSON的BSON格式,因此可以存储比较复杂的数据类型。应用:数据量大;写入操作频繁;价值较低(例如吐槽和评论等数据)2. MongoDB体系结构MongoDB的逻辑结构...原创 2019-09-20 17:34:49 · 350 阅读 · 0 评论 -
分布式搜索引擎ElasticSearch
搜索包括:1)搜索引擎搜索:百度、谷歌2)站内搜索:淘宝、天猫、京东1. ElasticSearch简介一个实时的分布式搜索和分析引擎。基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。特点:1)可以作为一个大型分布式集群技术,处理PB级数据2)将全文搜索、数据分析以及分布式技术,合并在了一起,形成了独一无二的ES3)开箱...原创 2019-09-23 17:24:53 · 251 阅读 · 0 评论 -
消息中间件RabbitMQ
消息中间件是分布式系统中重要组件,主要解决应用耦合,异步消息,流量削峰,消息通讯等问题实现高性能,高可用,可伸缩和最终一致性。使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka(大数据)等。1. RabbitMQ简介RabbitMQ一个由Erlang语言开发的AMQP(Advanced Message Queue 高级消息队列协议)开源实现。最初起源金融系统,用于在分布式系...原创 2019-09-24 16:37:16 · 143 阅读 · 0 评论 -
密码加密与微服务鉴权JWT
1. BCrypt密码加密密码应该通过哈希算法进行加密,有很多标准算法如SHA或者MD5,结合salt(盐)是一个不错的选择。Spring Security提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。BCrypt强哈希方法每次加密结果都不一样。导包<dependency> ...原创 2019-09-26 11:53:47 · 187 阅读 · 0 评论 -
SpringCloud
Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。SpringCloud主要框架有:1)服务发现——Netflix Eureka2)服务调用——Netflix Feign3)熔断器——Ne...原创 2019-09-27 16:39:21 · 442 阅读 · 0 评论 -
高并发与负载均衡
网络TCP-IP基础OSI 七层参考模型:7)应用层(nginx软件):http、smtp、ssh6)表示层5)会话层4)传输层控制(lvs 内核):三次握手 >> (传输数据) >> 四次分手协议:tcp(面向连接、可靠)、udp,连接唯一性通过ip+端口号,保证每个连接互不干扰Linux端口号查询:netstat -natp3)网络层:找到下一跳协议:i...原创 2019-07-16 16:43:25 · 312 阅读 · 0 评论 -
Linux必会知识点及命令
基本命令type:命令类型 -外部命令 & 内部命令help:内部命令帮助man:帮助手册whereis:定位命令file:文件类型echo:打印到标准输出$PATH:环境变量:路径pwd:当前路径按住Ctrl删除字符文件系统df -h 显示磁盘使用情况du -sh ./* 显示文件系统使用情况文件系统层次化标准/boot: 系统...原创 2019-07-11 18:04:40 · 167 阅读 · 0 评论 -
Java虚拟机之JVM执行子系统
JVM执行子系统,主要是说虚拟机如何执行程序。本文楼主将带你去学习Class文件结构以及类加载过程。1.Class类文件结构看不懂2.虚拟机类加载机制代码编译的结果是从本地机器码转变为字节码,存储格式发展的一小步,确是编程语言发展的一大步。2.1 类加载时机类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括7个阶段。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程...原创 2018-03-18 12:37:55 · 498 阅读 · 0 评论 -
框架技术面试总结(高阶)
1.对spring理解1)spring是容器框架,创建bean,维护bean之间的关系,使用spring ,没有new对象,我们把创建对象的任务交给spring框架2)spring是粘合剂,可以管理web层,持久层,业务层,dao层,spring可以配置各个层的组件,并且维护各个层的关系spring核心:1)IOC,控制权由对象本身转向容器,由容器根据配置文件创建对象实例并实现各个对象的...原创 2018-03-19 00:35:43 · 428 阅读 · 0 评论 -
设计模式之观察者模式
观察者设计模式,又叫发布-订阅模式,又叫模型-视图模式,行为模式的一种,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个对象,这个主题对象在状态变化时,会通知所有观察者对象,使他们能够自动更新自己。看着他的别名我在想RabbitMQ中的消息队列模式不是有发布-订阅模式吗,redis也模拟了这种模式,所以选择这种作为设计模式的第二种。下面是一个简单的流程:经典案例MVC 模式中的Model...原创 2018-03-20 00:07:42 · 129 阅读 · 0 评论 -
基础高频面试总结
1.HashMap数组是在内存中开辟一段连续的空间,因此,只要知道了数组首个元素的地址,在数组中寻址就会非常容易,其时间复杂度为O(1)。但是当要插入或删除数据时,时间复杂度就会变为O(n)。链表是内存中一系列离散的空间,其插入和删除操作的内存复杂度为O(1),但是寻址操作的复杂度却是O(n)。那有没有一种方法可以结合两者的优点,即寻址,插入删除都快呢?这个方法就是HashMap。HashMap ...原创 2018-03-20 20:02:49 · 213 阅读 · 0 评论 -
项目中常用Linux命令
针对项目中用到的一些Linux命令进行简单列举cd .. :回到上一级目录 cd:回到根目录pwd:输出当前所在路径Ctrl c:中断命令ll或ls:查看当前目录下的文件Tab:自动补全文件名rm -rf 文件/文件名:删除文件夹(-r表示递归删除 -f表示强行删除)vim 文本:编辑文本(i进行编辑;esc退出编辑;q!不保存退出;wq!保存退出;:0或:1回到第一行;:$或shi...原创 2018-04-08 14:58:39 · 322 阅读 · 0 评论 -
设计模式之装饰模式
网上说JDK中的I/O设计是最标准的装饰模式,所以今天打算研究一些装饰模式,乍一看怎么感觉和代理模式这么像呢? 1.为什么需要装饰模式在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。2.简介装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式以对客户透明的方式动态...原创 2018-04-08 23:58:02 · 288 阅读 · 0 评论 -
HTTP协议
一.HTTP协议 HTTP是一个应用层协议,基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式。HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息URL(UniformResourceLocator), 统一资源定位符,是互联网上用来标识某一...原创 2018-03-26 23:39:30 · 184 阅读 · 0 评论 -
集合总结
题外话:Eclipse怎么关联源码(Ctrl+鼠标左键可以进入相应的类)找到安装java JDK时的路径,在该路径,找到src.zip就行1.集合分类都在java.util的包下面1.1 Collection&&CollectionsCollections是一个集合类,该类专门由操作或返回集合的静态方法组成public class Collections {}Collection...原创 2018-04-23 00:30:52 · 191 阅读 · 0 评论 -
Git
1 概念Git是分布式版本控制系统,与其它集中式的版本控制系统如SVN不同首先有几个概念,本地、服务器、中央服务器(远程服务器)。Git每一次commit是提交到本本机的服务器,这个不需要联网,正所谓的版本管理,就是要方便我们知道每一个版本,比如回到之前的某个版本(这是其一),而且回退到某个之前的版本,也是从本机的服务器拿的数据,这些都不需要联网。而 SVN 的每一次 commit 都需要联...原创 2019-04-04 09:58:46 · 204 阅读 · 0 评论 -
Vue从零搭建有板有眼的项目
之前一直只是听说vue有多强,有多火,最近终于真正接触到了它,说实话从零开始确实是有些曲折。因为要搭建一个前后端分离的项目,所以一开始就被困住了,标准的/典型的vue前端框架结构应该是怎样的呢?一脸茫然,从GitHub、码云上下一个demo,删一个demo,要么太复杂,要么还是看不太懂。最后终于找到一个还算看得太懂的项目,也可能是浏览量的变化引起了质的变化,看多了,好像也都是这么回事。废话不多说了...原创 2019-06-13 00:15:44 · 181 阅读 · 0 评论 -
Linux Ubuntu环境搭建
1.mysql5.7安装与卸载 安装 卸载 Q1:安装之后,远程访问不了,原因是由于没有开启3306端口默认绑定的地址是本地,需要注释此配置 参考 Q2:1045-Access denied for user 'xxx'@'xxxxxxx' 进入mysql数据库命令行 输入use mysql; 设置root账号密码为123456可...原创 2019-06-04 16:56:52 · 172 阅读 · 0 评论 -
Java虚拟机之自动内存管理机制
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围城的高墙,墙外面的人想进去,墙里面的人却想出来。Java凭借虚拟机自动内存管理机制,不需要为每一个new操作去配对free的操作,不容易出现内存泄露和内存溢出问题。但是我们还是很有必要了解虚拟机是怎么使用内存的。本文楼主将着重介绍虚拟机中内存是如何划分以及垃圾收集的算法。1.Java内存区域Java虚拟机在执行Java程序的过程中会把它所管...原创 2018-03-17 18:17:55 · 176 阅读 · 0 评论