自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向着高亮的地方

迎接明天的太阳,源于今晚的努力

  • 博客(238)
  • 资源 (7)
  • 收藏
  • 关注

转载 深入理解CAS-认证原理

CAS,Central Authentication Service—中央认证服务,旨在为Web应用系统提供一种可靠的SSO解决方案。下面简单介绍SSO,重点介绍CAS认证过程。一、SSO简介  1.1 概念  SSO英文全称Single Sign On,是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。  1.2 角色  一般 SSO 体系主要角色有三种:  * User (多个)  ...

2020-06-12 11:18:18 4198

转载 阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别

内容大纲1.介绍Restful、SOAP、RPC、SOA以及微服务2.重点谈谈SOA与微服务的区别3.以及为什么要使用微服务架构一、什么是RestfulRestful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或设计就是 Restful架构或服务。主要的设计原则:资源与URI 统一资源接口(HTTP方法如GET,PUT和POST) 资源的表述 资源的链接 状态的转移总之,RESTful的核心就是后端将资源发布为URI,前端通过

2020-06-07 00:36:34 376

原创 深入理解RPC

一.什么是RPC RPC(Remote Procedure Call Protocol)远程过程调用协议(主要基于TCP协议),通过网络从远程主机程序上请求服务,而不需要了解底层网络技术的协议。简言之,RPC就是从一台客户端上通过参数传递的方式,调用另外一台服务器提供接口,并返回的结果。二.RPC架构组件(1)组件介绍客户端(Client):服务调用者(消费者)。客户端存根(Client Stub):存放服务器地址信息,将客户端请求的参数打包成网络传输格式(序列化),再传输...

2020-06-06 17:08:28 463

原创 深入理解Golang之interface

interface:简单的说,interface是一组method的组合,我们通过interface来定义对象的一组行为。参考下面这个例子

2020-05-30 15:04:31 296

原创 深入理解Golang之import

2020-05-30 11:26:29 425

原创 深入理解Golang之main和init

2020-05-30 11:20:26 186

原创 深入理解Golang之Slice

slice介绍 在很多应用场景中,数组并不能满足我们的需求。在初始定义数组时,我们并不知道需要多大的数组,因此我们就需要“动态数组”。在Go里面这种数据结构叫slice。 slice并不是真正意义上的动态数组,而是一个引用类型。slice总是指向一个底层array,slice的声明也可以像 array一样,只是不需要长度。// 和声明array一样,只是少了长度 var fslice []int...

2020-05-29 18:57:33 254

原创 深入理解Golang之make,new

make和new区别:1. make用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存分配。2. 内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型T的零值。有一点非常重要:new返回指针。3.内建函数make(T, args)与new(T)有着不同的功能,make只能创建slice、map和channel,并且返回一个

2020-05-29 18:38:58 938

原创 深入理解Golang之defer

一.先来看几个例子:example1funcf()(resultint){deferfunc(){result++}()return0}example2funcf()(rint){t:=5deferfunc(){t=t+5}()returnt}example3funcf()(rint){def...

2020-05-24 22:54:43 184

原创 Centos7 完美解决 mount异常:refused mount request from xxx unmatched host!

前言 由于需求需要挂载另外一台主机节点,中间花费了一点时间,所以记录一下,供大家参考。1. 错误如下,提示没有访问权限,此时需要去添加IP信任: mount.nfs: access denied by server while mounting xxx:/home 1.1 被挂载主机日志,提示无法匹配host,这里也提示需要添加IP访问信任: May 19 17:01:44 mgmt rpc.mountd[85558]: refused mount re...

2020-05-19 17:30:53 6251 3

原创 Golang 面向对象

Golang 面向对象编程go语言中,虽然没有明确提出面向对象的概念,但是基于已有的语法设计,我们也可以写出面向对象的代码。go语言中的面向对象是借助struct结构体实现的。值得一提的是,go语言中虽然没有class关键字来表示类,但却有interface来表示接口。1. 结构体type Person struct { name string age int}person := Person{"mike",18}fmt.Println(person)以上代码用结构.

2020-05-11 17:38:10 324

转载 CentOS7 修改内核启动默认顺序

1,首先查看当前系统有几个内核。[root@21yunwei ~]# grub2-set-default "CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)" 配置默认内核2,设置默认的启动内核。比如我们选择上边中的CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)这个内核为默认启动。验证是否修改成功:[root@21yunwei ~]# grub2-editenv list saved_entry=Cen

2020-05-11 14:43:15 759

原创 Centos7下SSH免密互信

首先创建密钥ssh-keygen创建公钥和密钥。ssh-copy-id把本地主机的公钥复制到远程主机的authorized_keys文件上。ssh-copy-id也会给远程主机的用户主目录(home)和~/.ssh,和~/.ssh/authorized_keys设置合适的权限。注意权限chmod700~/.sshchmod600~/.ssh/authorized_keys步骤1: 用 ssh-keygen 在本地主机上创建公钥和密钥ssh-keygen...

2020-05-11 09:14:35 1335 2

原创 CentOS7实现Tomcat开机自启动

1. 环境准备Centos7,Tomcat,JDK,初始环境已经装好2. 方法/步骤2.2编写tomcat服务脚本文件在/etc/init.d/目录下创建tomcat8服务脚本文件。执行脚本:[root@localhost /]# vim /etc/init.d/tomcat8[root@localhost /]# cat /etc/init.d/tomcat8将...

2020-04-30 16:35:59 217

原创 CentOS静态IP配置

1.查看网卡名字 执行:ip a2.打开对应的网卡配置文件,我的是ifcfg-enpls0f03.配置4.重启网卡 systemctl restart network注意:若需要上外网,则需在网卡配置文件中添加DNSDNS1=114.114.114.114...

2020-04-22 15:15:51 321

转载 Synchronized,Lock底层解析

概述 在JDK1.5之前,使用synchronized来实现线程同步的,同步的开销较大效率较低,因此在JDK1.5之后,推出了代码层面的Lock接口(synchronized为jvm层面)来实现与synchronized同样功能的同步锁功能。 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock,其...

2020-03-19 18:51:31 283

原创 分布式基础--BASE

前言 BASE是CAP理论的延伸,核心思想是:即使无法满足强一致性(CAP中的一致性),也要满足最终一致性。 BASE指Basically Available(基本可用),Soft State(软状态),EventualConsistance(最终一致性)。1.Basically Available(基本可用) 基本可用指:在分布式系统中,...

2020-03-18 14:06:49 348

原创 分布式基础--CAP原理

概述 上图是CAP原理图,看到之后,不禁引入下面几个问题,让我们一一带着问题去了解CAP。目录:1.什么是CAP?2.什么是分区?3.为什么只有3选2?4.可用的抉择?1. 什么是 CAP 定理 CAP原理指:一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。这三...

2020-03-06 16:32:51 503

原创 深入理解JVM之--字节码

上篇讲到栈帧,现在我们需要了解栈帧的执行过程,那就涉及到反编译字节码。一. 反编译代码(1)源代码/** * 编译:javac com\jvm\StackFrame.java * 反编译:javap -p -v com\jvm\StackFrame.class */public class StackFrame { public static void ...

2020-03-04 17:19:14 267

原创 深入理解JVM之--栈帧

概述 虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行时,都会创建一个栈帧,用于存储局部变量,操作数栈,动态链接,方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。栈帧结构,及逻辑图1.栈帧的概念 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是...

2020-03-04 17:05:59 905

原创 华为机试——进制转换(用a~z表示26进制,转换成10进制)

(1)题目描述 用英文字母a-z来分别表示数值0-25, 形成一个26进制的数值表示法。需要你写一个方法,将用a-z表示的26进制数值的字符串,转化为对应的10进制数值。(2)解题思路 1. 将字符串转换为字符数组 2. 遍历字符数组,逆序获取,从最后一位到第一位;并获取当前进制位数 3.利用Math.pow() 方法可返回 2...

2020-03-04 16:36:23 1349

转载 Spring面试题从基础到高级

前言,搞懂如下问题,Spring面试轻松过。一.基础篇Spring 概 述什 么 是 spring? 使 用 Spring 框 架 的 好 处 是 什 么 ? Spring 由 哪 些 模 块 组 成? 核 心 容 器 ( 应 用 上 下 文) 模 块 。 BeanFactory – BeanFactory 实 现 举 例 。 XMLBeanFactory 解 释 AOP ...

2020-03-03 17:44:45 113

原创 Redis缓存雪崩、穿透、击穿及解决办法

1.缓存雪崩概述:系统在高并发的情况下,超过了当前的承受量,容易出现宕机。解决办法:1.集群,较少压力 2.本地ehache缓存 3.redis持久化,一旦宕机,从磁盘的加载数据2.缓存穿透概述:系统在出现恶意攻击时,redis缓冲中不存在,就会去查数据库,恶意攻击数据库。解决办法:如果每次没...

2020-02-28 21:52:07 182

原创 深入理解Jvm--MinorGC过程

第一次GC:在不断创建对象的过程中,当Eden区域被占满,此时会开始做Young GC也叫Minor GC1)第一次GC时Survivous中S0区和S1区都为空,将其中一个作为To Survivous(用来存储Eden区域执行GC后不能被回收的对象)。比如:将S0作为To Survivous,则S1为From Survivous。2)将Eden区域经过GC不能被回收的对象存储到To ...

2020-01-17 16:12:14 1043

原创 深入理解JVM之--内存结构

前言在开始之前,先了解一下Jdk1.8开始,舍弃内存结构中的永久代及其原因。(1)jdk1.8 永久代变化图 1.永久代经常内存溢出,引发java.lang.OutOfMemoryError: PermGen异常。 2. 移除 PermGen 可以促进 HotSpot JVM 与 JRockit VM 的融合,因为 JRockit 没有永久代。...

2020-01-17 15:39:56 306

原创 深入理解JVM之--常量池、运行时常量池、字符串常量池

前言在JDK7之前,字符串常量是存在永久带Perm 区的,JDK7开始在将常量池迁移到堆中,这个变化也导致了String的新特性,接下来,我们按照jdk1.7开始后的版本进行介绍。JdK1.7之前Jdk1.7开始一.常量池共有三类:1.运行时常量池2.Class文件常量池3.字符串常量池二. 详解常量池(Constant Pool)1.1常量池(...

2020-01-17 09:25:45 1661 6

原创 深入理解JVM之--运行时数据区域

运行时数据区域 JVM在执行Java程序的过程中会把说管理的内粗分为不同的数据区域。有的区域是在虚拟机启动而创建,有的区域则是跟随线程的启动和结束而建立销毁。如下图,在JVM GC调优中通常都是堆、方法区。1.程序计数器(Pc Register)每个线程都有自己的Pc Register,它的作用是当前线程所执行的指令地址。2.Java虚拟器栈(statck)...

2020-01-16 15:45:55 225

原创 Thread.yield()详解

(1)首先介绍线程运行状态转换,如下图: 新建状态(New):新创建了一个线程对象。 就绪状态(可执行状态,Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(运行状态,Running):就绪状态的线程获取了CPU,执行程序代码。 阻塞状态(Blocke...

2020-01-15 22:54:43 15751 1

原创 深入理解JVM之--类的加载机制

1.类的加载过程 Java中从类被加载到虚拟机内存中开始,到卸载出内存结束。整个生命周期包括: 加载--验证---准备---解析---初始化---使用---卸载,一共七个阶段。其中验证-准备--解析被统称为”连接“,如下图:2.类的初始化JVM规定有且只有四种情况对类进行“初始化”(前提,类没有被初始化)1.使用new关键字实例化对象的时候; 读取或者设置类...

2020-01-15 20:17:24 135

原创 判断一个字符串中的"( )"是否配对

1.基本思想/** * 1、将字符串的每个字符进行遍历 * 2、如果发现是左括号,那么将该字符压入到栈中 * 3、如果是右括号,先去存储好的栈顶找到相应的值, * 4、若栈为空返回false,若匹配,pop该左括号,若不匹配也返回false * 5、最后检验栈中的做括号是否全部都匹配(栈最后为空),返回true,否则返回false */2.代码实现package com...

2020-01-14 18:00:09 750

转载 Java核心深入理解BIO、NIO、AIO

Java核心深入理解BIO、NIO、AIOBIO、NIO、AIO 的区别是什么?同/异步、阻/非阻塞的区别是什么?文件读写最优雅的实现方式是什么?NIO 如何实现多路复用功能?一、IO 介绍我们通常所说的 BIO 是相对于 NIO 来说的,BIO 也就是 Java 开始之初推出的 IO 操作模块,BIO 是 BlockingIO 的缩写,顾名思义就是阻塞 IO 的意思。...

2020-01-12 22:02:54 143

原创 深入理解JVM之--垃圾收集算法

垃圾收集算法 前言开始之前,首先先了解一下对象回收等相关知识(一) 对象回收(1)判断对象是否存活1.引用计数算法给对象中添加一个引用计数器,每当有一个地方引用此对象,计数器就加1;当引用失效时,计数器就减1。计数器值为0的情况下,对象就不可被使用。缺点:很难解决对象之间的相互循环引用的问题。2.根搜索算法通过GC Roots的对象作为起始点,从这些节点开始往...

2020-01-03 11:14:43 149

原创 Java static常用应用场景

一. static特点static是一个修饰符,通常用于修饰变量和方法,如开发过程中用到的字典类数据都会用到static来修饰,工具类方法,如Dateutils,Stringutils这类工具方法也会用到static来修饰,那么除了这两种最常用的场景外,是否还有其他场景呢,答案是:有的,总共五种:static变量 static方法 static代码块 static内部类 stati...

2019-12-25 17:51:38 294

原创 linux安装RabbitMQ教程

RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。一、erlang安装  RabbitMQ是使用Erlang开发,所以安装RabbitMQ前需要先安...

2019-12-11 10:35:24 170

转载 MyCat分库分表策略详解

前言:MyCat不仅提供了丰富的分库分表策略,也提供了非常灵活的读写分离策略,并且其对客户端的侵入性是非常小的。本文主要讲解MyCat主要提供的分库分表策略,并且还会讲解MyCat如果自定义分库分表策略。1. 配置格式介绍在讲解MyCat分库分表策略之前,我们首先介绍一下其配置文件的格式。在MyCat中,配置文件主要有两个:schema.xml和rule.xml。顾名思...

2019-12-10 11:08:19 420

转载 MyCat分库分表入门

1、分区  对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。优点:数据不存在多个副本,不必进行数据复制,性能更高。 缺点:分区策略必须经过充分考虑,避免多个分区之间的数据...

2019-12-10 11:04:42 211

转载 远程监控Tomcat——Psi Probe(强力推荐)

Psi Probe 安装及使用说明这是一款 Tomcat 管理和监控工具, PSI Probe一直更新至今。下载地址:github:https://github.com/psi-probe/psi-probe/releases,并选择最新的Probe.war包前配置修改修改bin/catalina.bat文件,加上:SET "JAVA_OPTS=%JAVA_OPTS% -Dco...

2019-12-09 17:47:45 537

原创 软件系统架构

1. 传统三层架构配图是一个基于MVC的三层架构, 大致可以分成表现层, 业务层和持久层表现层负责接收请求和转发请求业务层主要负责处理请求, 值得注意的是事务管理, 日志记录等操作通常也是封装在这层中持久层主要负责数据库与实体之间的操作我们可以使用框架来简化各层的开发, 例如表现层使用SpringMVC或Strut2, 持久层使用Mybatis或Hibernate, 使用Spr...

2019-12-01 22:46:20 156

原创 Spring源码阅读(一)浅析ApplicationContext

一、IOC与DI学习Spring框架基本都是从IOC入手的, IOC(Inversion of Control)译为“控制反转”,基于这概念,可以衍生以下3个问题: 谁控制了谁? 控制了什么? 为什么是反转? 首先,回答第一个问题:传统模式下,我们通常使用new来创建对象。而使用Spring,我们调用getBean(String name, Class<?&...

2019-12-01 21:01:07 234

原创 Spring对象拷贝BeanUtils使用及注意点

Spring对象拷贝BeanUtils使用及注意点一.以下是封装对象拷贝util:import org.springframework.beans.BeanUtils;import org.springframework.util.CollectionUtils;mport java.util.ArrayList;import java.util.List;public cla...

2019-11-10 20:20:22 3322 1

torque-4.2.0-snap.201302040907.tar.gz

1. Torque是一个开源的资源管理系统,用于高性能计算集群的作业管理与调度。 2. Torque主要由三个主要部件组成: PBS服务守护进程: pbs_server 负责接收作业提交,位于服务节点。 PBS调度守护进程: pbs_sched 负责调度作业,位于服务节点。 PBS MOM守护进程: pbs_mom 负责监控本机并执行作业,位于所有计算节点。

2020-06-11

maui3.3.1.0.tar.gz

注意:下载后,需要进行俩次tar解压。torque+maui共同组成作业任务调度集群系统,maui可以设置调度的策略,提高任务调度的性能,当前maui版本三3.3.1,通常与torque4.2.0版本共同使用。

2020-06-11

Centos7 python2.7和yum资源包

优势不小心卸载了yum,或者python;此时先卸载将Centos7中的python2.7和yum相关程序完全卸载,然后一键重装,很简单。

2020-04-22

基于安卓开发医疗诊断系统(含设计文档和源码)

主要面向居家养老的老年群体心脑血管疾病、糖尿病监测和健康护理方面快速检测血压、血糖指标,自助进行心脏听诊。一方面这些测量所得的健康数据可以被推送到指定的远程医疗机构或社区卫生服务站,医生专家们依此对老年人建立长久的电子医疗档案,以便远程分析监控或就医治疗;另一方面,终端也可根据测量数据智能分析辅助诊断,如血压异常,心脏听诊音异常等,并将这些数据绘制成趋势图表统计近期健康状况;特别的终端还加入亲情关怀功能,将测量的健康数据以短信的形式定时发送到指定的家属手机 收缩

2020-01-03

友盟消息推送 Java服务端Push SDK

消息推送(Push SDK) 友盟消息推送,帮助开发者建立于用户直接沟通的渠道。将APP的内 友盟推送PushSDK 友盟推送PushSDK 容更新或者活动通知主动推送给终端用户,让用户第一时间获取到相关信息,有效提升用户活跃度和忠诚度。

2018-08-31

Ztree官方API及实例教程

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。专门适合项目开发,尤其是 树状菜单、树状数据的Web显示、权限管理等;其中压缩包包括完整的官方文档和实例教程。

2018-03-19

(免费)spring boot 2.0.0 M4 官网文档下载

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

2017-09-28

空空如也

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

TA关注的人

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