自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (5)
  • 收藏
  • 关注

原创 JAVA并发编程实践-基础知识

并发编程实践-基础知识线程优势和风险线程优势线程风险线程安全性线程优势和风险线程优势发挥多处理器的强大能力建模的简单性(使用开源框架如Servlet/RMI等)异步事件的简化处理响应更灵敏的用户界面线程风险安全性问题 “永远不发生糟糕的事情”活跃性问题 “某件正确的事情最终会发生”性能问题线程安全性线程安全性当多个线程访问某个类时,这个类始终都能表现出正确的行为,这个类就是线程安全的。无状态对象一定是线程安全的。原子性竞态条件:先检查后执行(Check-

2020-05-09 12:06:18 160

原创 微服务技术栈

微服务技术栈技术架构微服务技术栈技术架构用户层用户层描述了本系统所支持的客户端用户有哪些,本项目目前为各用户提供服务,包括H5、PC、Android和IOS等。内容分发网络CDN系统所有静态资源全部通过CDN加速来提高访问速度。系统静态资源包括:html页面、js文件、css文件、image图片、pdf和ppt及doc教学文档、video视频等。负载均衡系统的CDN...

2019-11-20 16:14:36 279

原创 用户授权

用户授权用户授权业务流程方法授权需求分析jwt令牌包含权限方法授权实现细粒度授权分析实现微服务之间认证分析Feign拦截用户授权业务流程业务流程说明(1)用户认证通过,认证服务向浏览器cookie写入token(身份令牌)(2)前端携带token请求用户中心服务获取jwt令牌前端获取到jwt令牌解析,并存储在sessionStorage(3)前端携带cookie中的身份令牌...

2019-11-19 16:20:15 334

原创 用户认证Spring Security Oauth2 JWT

用户认证Spring Security Oauth2 JWT用户认证用户认证与授权单点登录(Single Sign On,SSO)第三方认证(跨平台认证)用户认证技术方案单点登录Oauth2认证Spring security Oauth2认证解决方案Spring Security Oauth2搭建认证服务器Oauth2授权码模式Oauth2密码模式授权检验令牌刷新令牌JWT用户认证用户认证与授...

2019-11-19 14:19:28 577

原创 分布式事务

分布式事务分布式事务分布式系统事务本地事务分布式事务CAP理论CAP网络分区分布式系统能否兼顾C、A、P?两阶段提交协议(2PC)事务补偿(TCC)消息队列实现最终一致分布式事务分布式系统部署在不同结点上的系统通过网络交互来完成协同工作的系统。事务事务是指由一组操作组成的一个工作单元。这个工作单元具有原子性(atomicity)、一致性(consistency)、隔离性(isol...

2019-11-18 16:59:54 144

原创 Eureka注册中心、Ribbon、Feign

Eureka注册中心、Ribbon、FeignEureka注册中心作用单机与集群配置及应用Ribbon实现负载均衡服务端负载均衡客户端负载均衡Spring Cloud整合RibbonFeign介绍Feign测试Feign工作原理Feign注意点Eureka注册中心作用Spring Cloud中提供服务注册中心来管理微服务信息。微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口...

2019-11-13 11:24:51 224

原创 RabbitMQ消息队列

RabbitMQ消息队列消息队列MQRabbitMQ介绍优点RabbitMQ工作原理Spring整合RibbitMQ消息队列MQMQ全称为Message Queue,即消息队列。消息队列的应用场景:任务异步处理。将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。应用程序解耦合。MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序...

2019-11-13 10:36:39 156

原创 异常处理

异常处理异常处理流程异常处理统一处理流程可预知异常处理自定义异常类异常抛出类异常捕获类不可预知异常处理定义异常捕获方法异常处理流程异常处理统一处理流程自定义异常类型自定义错误代码及错误信息对可预知异常由程序员在代码中主动抛出,由SpringMVC统一捕获对不可预知的异常(运行时异常)由SpringMVC统一捕获Exception类型的异常可预知的异常及不可预知的运行时异常最终采用统...

2019-11-12 18:04:37 158

原创 前后端分离项目技术架构

前后端分离项目技术架构技术架构技术架构图技术栈技术架构技术架构图各模块说明:序号名称功能描述1用户层用户层描述了系统所支持的用户类型包括:pc用户、app用户、h5用户。pc用户通过浏览器访问系统、app用户通过android、ios手机访问系统,H5用户通过h5页面访问系统。2CDNCDN全称Content Delivery Network,即内容分...

2019-11-12 17:38:47 2999

原创 JAVA注解Annotation

JAVA注解Annotation注解概念标准元注解注解的属性(成员变量)JAVA预置注解注解处理器注解与反射注解概念注解Annotation是JAVA提供的一种对元程序中的元素关联信息和元数据(metadata)的途径和方法。注解Annotation是一个接口,程序可以通过反射来获取指定程序中元素的Annotation对象,然后通过该Annotation对象获取注解中的元数据信息。标...

2019-10-24 11:40:04 129

原创 10.24杂记

10.24杂记被情绪支配的早晨气氛不浓不淡的10.24程序员节昨晚的辗转反侧欲望啊欲望还是要努力呀!~

2019-10-24 10:11:14 113

原创 JAVA反射与类加载机制

JAVA反射与类加载机制JAVA反射动态语言反射机制反射的应用场合JAVA反射API反射使用步骤获取Class对象通过反射创建对象JVM类加载机制类加载的声明周期类加载器双亲委派模型JAVA反射动态语言动态语言:程序在运行时可以改变结构,新的函数可以引进,已有的函数可以被删除等结构上的变化。从反射角度说JAVA属于半动态语言。反射机制java反射机制:在运行状态下,对任意一个类都...

2019-10-23 17:03:38 3348

原创 JAVA异常分类和处理

JAVA异常分类和处理异常概念异常分类ErrorException异常的处理方式抛出异常try catch捕获异常Throw和Throws区别位置功能异常概念如果某个方法不能按照正常的途径完成任务,可以通过另一种路径退出方法,在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。调用这个方法的其他代码无法继续执行,异常处理机制会将代码执行交给异常处理器。...

2019-10-23 11:03:49 151

原创 JAVA集合

JAVA集合JAVA集合接口继承关系和实现ListArrayListVectorLinkListsetHashSetLinkedHashSetTreeSetMapHashMapHashTableTreeMapLinkedHashMapConcurrentHashMapJAVA集合接口继承关系和实现集合类存放在java.util包中,主要有set(集)、list(列表)、map(映射)。C...

2019-10-22 14:29:52 233

原创 数据结构-查找与排序

查找与排序查找静态查找表动态查找表哈希表查找对查找表的操作有静态查找表查询某个“特定的”数据元素是否在查找表中检索某个“特定的”数据元素的各种属性动态查找表在查找表中插入一个数据元素在查找表中删去某个数据元素静态查找表顺序表的查找查找过程: 从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找...

2019-10-17 11:46:47 412

原创 数据结构-基础类型

基础类型线性表类型定义线性表的顺序表示线性表的链式表示栈定义顺序栈栈的应用举例栈与递归的实现队列定义双端队列队列的链式表示队列的顺序表示数组数组的顺序表示树和二叉树树二叉树遍历二叉树和线索二叉树树和森林赫夫曼树(Huffman,最优二叉树)图图的定义图的存储结构图的遍历线性表类型定义一个线性表是n个数据元素的有限序列线性表的长度可根据需要增长或缩短,即对线性表的数据元素可以查询,还可以进...

2019-10-16 17:47:47 125

原创 数据库-存储引擎

存储引擎存储引擎InnoDBMYISAMMemory索引索引原则存储过程触发器存储引擎数据库存储引擎是数据库底层软件组织。数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。存储引擎只要有:InnoDB、Myisam、Memory等。通过mysql查看存储引擎show engines命名查看mysql使...

2019-10-16 11:20:37 137

原创 数据库系统概论-系统篇

系统篇数据库恢复技术事务(Transaction)数据库恢复概述故障种类恢复的实现技术恢复策略具有检查点(checkpoint)的恢复技术数据库镜像并发控制并发控制概述活锁和死锁并发调度的可串行性两段锁协议封锁的粒度数据库安全性计算机系统安全性问题数据库安全性控制数据库完整性完整性约束条件完整性控制数据库恢复技术事务(Transaction)事务(Transaction)用户定义的一个...

2019-10-15 17:23:38 223

原创 数据库系统概论-设计篇

设计篇数据库设计数据库设计概述需求分析概念结构设计逻辑结构设计数据库物理设计数据库的事实和维护数据库设计数据库设计概述数据库基本知识和数据库设计技术计算机科学的基础知识和程序设计的方法和技巧软件工程的原理和方法应用领域的知识数据库设计的特点数据库建设是硬件、软件和干件的结合数据库设计应该和应用系统设计相结合,在设计过程中把结构设计和行为设计密切结合数据库设计方法...

2019-10-15 13:55:02 306 1

原创 数据库系统概论-基础篇

基础篇数据库系统概述数据、数据库、数据库管理系统、数据库系统数据模型数据库系统结构数据库系统组成关系数据库关系模型概述关系的完整性关系代数关系演算关系数据库标准语言SQLSQL概述数据定义数据更新数据查询视图数据控制嵌入式SQL关系系统及其查询优化关系系统数据库系统概述数据、数据库、数据库管理系统、数据库系统数据:数据库中存储的基本对象。数据库:长期存储在计算机内的、有组织的、可共享的数...

2019-10-14 17:36:57 354

原创 线程池

线程池什么是线程池?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。为了避免系统频繁地创建和销毁线程,可以将创建的线程复用。java线程池实现了一个Java高并发的、java多线程、可管理的统一调度器。创建线程池方式使用ThreadPoolExecutor类使用Executors类ExecutorsExecutors是线程的工...

2019-10-11 17:24:48 108

原创 多线程之间的阻塞队列和计数器

多线程之间的交互阻塞队列阻塞队列BlockingQueueQueue、Deque、BlockingQueue的区别Queue(队列)用于保存一组元素,在存取元素的时候必须遵循先进先出原则。队列是一种特殊的线性表,只允许在表的前端(front)进行删除操作,在表的后端(rear)进行插入插座。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列...

2019-09-25 15:45:35 561

原创 线程安全的集合类

线程安全的集合类java.util.Hashtable(1)Hashtable是一个散列表,它存储的内容是键值对(key-value)映射。(2)Hashtable继承Dictionary,实现Map、Cloneable、java.io.Serializable接口。(3)Hashtable的实例有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量是哈希表创建...

2019-09-18 16:55:08 185

原创 同步器synchronized、锁Lock简单对比

线程同步synchronized(1)synchronized是java关键字,用它来修饰一个方法或者代码块,能保证同一时刻最多只有一个线程执行改代码。(2)synchronized的用法方法声明时使用,放在范围操作符之后,返回类型声明之前。public synchronized void synMethod(){ //方法体}修饰在代码块上,对某一代码块使用synchro...

2019-09-17 21:08:01 243

原创 抽象队列同步器AQS

AQS抽象队列同步器AQS简介AQS源码简介Provides a framework for implementing blocking locks and related synchronizers (semaphores, events, etc) that rely on first-in-first-out (FIFO) wait queues. This class is des...

2019-09-17 18:18:46 177

原创 Thread安全

Thread安全java内存模型与多线程JMM(Java Memory Model)java作为平台无关语言,JLS(java语言规范)定义了一个统一的内存管理模型。JMM屏蔽了底层平台内存管理细节,在多环境中必须解决可见性和有序行问题。JMM规定jvm有主内存(Main Memory)和工作内存(Working Memory),主内存即java堆内存,存放程序中所有的类实例、静态数据等...

2019-09-16 18:10:15 151

原创 java中的Thread

认识JAVA中的Thread线程实现线程实现的方法extends Thread覆盖run()方法public class ThreadA { public static void main(String[] args){ ThreadAA threadAA = new ThreadAA(); threadAA.start(); System.out.printl...

2019-09-16 15:43:25 213

原创 线程并发基础

线程并发基础核心概念CPU核心数、线程数多核心:Chip Mutilprocessors(单芯片多处理器) CMP 多线程:Simultaneous Multithreading SMTCPU时间片轮转机制如果在时间片结束时,进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束之前阻塞或结束,则CPU当即进行切换。 调度程序做的是维护一张就绪进程列表,当进程用完它的...

2019-09-16 10:48:32 149

原创 《人月神话》

人月神话--读后感章节重点焦油坑人月神话外科手术队伍章节重点作者:Freder ick P.Brooks作者简介摘抄至豆瓣~Freder ick P.Brooks.曾荣获美国计算机领域最具声望的图灵奖(A.M.TURINGAWARD)桂冠。美国计算机协会(ACM)称赞他“对计算机体系结构、操作系统和软件工程作出了里程碑式的贡献”。Brooks博士被认为是“IBM 360系统之父”,曾担任...

2019-07-09 18:19:47 525

原创 《程序员修炼之道》

程序员修炼之道--读后感章节重点序我的源码让猫吃了软件的熵石头汤与煮青蛙足够好的软件你的知识资产交流重复的危害正交性可撤销性曳光弹原型与便笺领域语言估算纯文本的威力shell游戏强力编辑源码控制调试文本操纵代码生成器按合约设计死程序不说谎断言式编程何时使用异常怎样配平资源章节重点《程序员修炼之道》,作者是Andrew Hunt、David Thomas。作者简介为摘抄内容~“亨特(Andy...

2019-07-08 17:38:59 440

studio-3t-x64.exe

mongodb 可视化操作软件studio-3t-x64studio-3t-x64studio-3t-x64studio-3t-x64studio-3t-x64studio-3t-x64

2019-10-29

Vue.js与Webpack安装教程.pdf

Vue.js与Webpack安装教程 1 vue.js研究 1 1.1 vue.js介绍 1 1、vue.js是什么? 1 2、Vue.js与ECMAScript 1 3、Vue.js的使用 2 4、vue.js有哪些功能? 2 1.2 webpack入门 3 1.2.1 webpack介绍 3 1.2.2 安装webpack 4

2019-10-29

java web 上传下载开发

java web 上传下载开发

2016-03-12

空空如也

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

TA关注的人

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