自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【Java微服务架构 Dubbo篇】-2-Dubbo

在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过RPC相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了熔断器模型。

2023-04-14 16:49:39 284

转载 【Java 微服务架构 Dubbo篇】-1-Zookeeper

为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。ZooKeeper是一种分布式协调服务, 用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。以下为Zookeeper的基本概念。

2023-04-12 23:24:44 389

转载 第五章 微服务框架-Spring Boot、Spring Cloud

随着动态语言的流行(Ruby、Groovy、 Scala、 Node.js) ,Java的开发显得格外的笨重繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置 ,让你无需手动进行配置)的理念让你的项目快速的运行起来。

2023-04-10 22:37:19 560

转载 第四章:再谈微服务

围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。一系列的独立的服务共同组成系统单独部署,跑在自己的进程中每个服务为独立的业务开发分布式管理非常强调隔离性。

2023-04-02 22:48:46 211

转载 第三章 平台即服务(PaaS)-GitLab-Nexus-Registry

GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wal)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。Nexus是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。

2023-04-01 21:41:07 178

转载 第2章 基础设施即服务(IaaS)-3-Docker Compose

是Docker官方编排(Orchestration)项目之一,负责快速的部署分布式应用。Compose项目是Docker官方的开源项目, 负责实现对Docker容器集群的快速编排。从功能上看,跟OpenStack中的Heat十分类似。其代码目前在https:上开源。Compose定位是「定 义和运行多个Docker容器的应用( Defining and running multi-container Docker applications)」, 其前身是开源项目Fig。

2023-03-27 17:39:07 153

转载 第2章 基础设施即服务(IaaS)-2-Docker

Docker最初是dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache 2.0授权协议开源,主要项目代码在GitHub上进行维护。Docker 项目后来还加入了Linux基金会,并成立推动开放容器联盟( OCI )。Docker自开源后受到广泛的关注和讨论,至今其GitHub项目已经超过4万6千个星标和一万多个fork。

2023-03-27 17:38:21 273

转载 第2章 基础设施即服务(IaaS)-1-Linux

Linux是一种自由和开放源码的类UNIX操作系统,使用Linux内核。目前存在着许多不同的Linux发行版,可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。Linux 是一个领先的操作系统,世界上运算最快的10台超级电脑运行的都是Linux操作系统。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。只要遵循GNU通用公共许可证任何人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

2023-03-21 22:55:23 320

原创 第一章:微服务简介

事实上,有些开发者主张构建极细粒度的10至100LOC (代码行)服务,虽然这对于小型服务可能比较好,但重要的是要记住,小型服务只是一种手段,而不是主要目标。eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性( Strong Consistency,CAP的一致性就是强一致性), 但应用可以采用适合的方式达到最终一致性 ( Eventual Consitency )。

2023-03-18 17:51:36 181

原创 【Java单体应用】使用maven创建web项目

用于自查的maven笔记,包括简介,安装与配置,创建一个web项目等

2022-11-23 18:13:10 982

原创 【Java单体应用】使用IntelliJ IDEA 创建Java Web项目(超详细图文教学)

Java新手入门超详细教学。从零开始创建Java Web项目

2022-11-22 15:08:28 5341

原创 import matplotlib 时报错:ImportError: DLL load failed while importing _path: 找不到指定的模块。

在网上找了很多种解决方法,都一一试过了,比如卸载numpy和matplotlib再重新安装,或者换成更低的版本,都不管用。最后终于解决了。先说报错原因,这个问题是由于直接用pip下载的numpy缺少mkl导致的,解决办法就是卸载numpy,然后找个安装包手动设置一下。第一步:在下面这个网址中下载numpy的安装包https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy选择带mkl的,另外下载的时候要注意选择对应自己python版本的安装包。快捷键wi

2021-10-13 12:22:46 9707 5

原创 python引用某个文件夹中的py文件

假设要引用的A.py文件的文件路径为:C:\AmyPython\Test1想要调用A.py文件:import syssys.path.append(r'C:\AmyPython\Test1')这两行代码会将这个文件的路径暂时记住,重启python客户端后就失效了。做一些小demo的时候可能会经常用到这个功能。...

2021-10-11 23:12:00 595

原创 Natapp实现内网穿透

Natapp实现内网穿透,外网中的手机电脑怎么访问我本地跑的项目?看完这篇就会了.

2020-06-28 10:04:37 1251

原创 微信分享-微信认证授权详细代码示例

使用微信分享时需要调用微信的接口,而调用微信的接口除了引用微信的JS-SDk外,还需要写后台接口来拿到微信的认证和授权.这篇文章中的代码都是亲测可用的,希望能对你们有帮助.

2020-06-10 11:09:16 3301 2

原创 LeetCode-二进制求和(67)

LeetCode-二进制求和(67)这个题目并不算难,但是我花的时间并不短,原因是一开始没想到用一个变量来表示进位.思路首先,新建一个StringBuilder类型的变量用来返回结果,用一个变量level来表示是否有进位.无进位的时候:同为0,则为0.同为1,则为0,进位.不同,则为1.有进位的时候:同为0,则为1.不进位同为1,则为1.进位不同,则为0.不进位考虑一个字符串结束的情况.一个字符串遍历结束时,另一个字符串所剩的长度就是L长-L短,然后把剩下的字符串跟

2020-05-25 16:24:13 155

转载 linux下清空文件内容的五种方式

在做log切割时发现access.log文件实在是太大了,后面就拓展怎么清空文件内容,查找资料后发现有五中方法,现在记录下来1:通过重定向到NULL清空文件#> my_access.log2:使用 true 命令重定向清空文件# : > access.log或# true > access.log:符号,它是 shell 的一个内置命令,等同...

2020-05-07 09:22:50 1641

转载 springboot与dubbo常用注解功能汇总

Dubbo常用注解:@Service:表示提供者@Reference:表示消费者@EnableDubbo:启用Dubbo整合配置Spring常用注解:@SpringBootApplication: 自动装配,相当于@ Configuration+@EnableAutoConfiguration+@ ComponentScan,并具有他们的默认属性。@Controller:请求注解,...

2020-05-07 09:19:07 529

原创 LeetCode-对角线遍历二维数组

LeetCode-对角线遍历二维数组刷了一道题,是关于二维数组的,我这是第一次做二维数组的题目,因为对二维数组的不熟悉导致思路比较乱,中途甚至想要放弃,直接找题解,最终花了好长时间才做出来.虽然效率比较低,但是我觉得还是有必要记录一下思考的过程.题目描述给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。输入...

2019-12-28 16:26:25 1239

原创 ajax的async属性和contentType属性

先贴一个ajax的代码$.ajax({ type: 'POST', contentType: "application/json; charset=utf-8", dataType : "json", async:false, url: "expert/submit",//请求的action路径页面 ...

2019-12-27 11:04:19 275

原创 SpringMVC接收复杂参数的处理方法

情景描述页面上有两个列表,列表中的每条数据都需要评审通过还是不通过,我需要在前台页面点击提交的时候把两个列表中的所有数据以及几个独立的参数传递到后台.一个一个零散的传递肯定是行不通的,所以直接才有了这篇文章.解决方法1. 先把接收参数封装成一个dto实体类.dto是入参实体类的后缀,vo是出参实体类的后缀.dto实体类文件如下:@Datapublic class R...

2019-12-27 11:02:00 776

原创 Git:fatal: refusing to merge unrelated histories

今天在pull的时候遇到了这个报错,百度了一下发现这个问题不管是pull还是push都有可能遇到,大概是因为本地仓库跟远程仓库之间没有建立联系.好像跟git的版本有关.解决方法git pull origin [本地的分支名]--allow-unrelated-histories...

2019-12-25 10:51:33 68

原创 IDEA:热部署

近期新接触了一个项目,IDEA开启自动编译后热部署也不生效.很纳闷儿,因为之前的项目是可以热部署的.后来搜了几篇博客之后终于解决了问题,于是有了这篇博客.1、添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> &...

2019-10-25 16:35:49 103

原创 leetcode:只出现一次的数字

题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4题解一:双循环思路很简单,就是两个for循环,查找记录每个数出现的次数.这个耗时...

2019-09-20 17:18:50 87

原创 leetcode.旋转数组的几种解法

给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2:输入: [-1,-100,3,...

2019-09-09 00:30:19 247

原创 虚拟机类加载机制

一.概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。二.类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析3个部分统称为连接。加载、验证、准备、初始化和卸载这5个阶段的顺...

2019-09-03 23:57:08 63

原创 一图胜千言:Java

 Java中内存分布: String实例的创建方式主要是以下两种:直接赋值:String s1 = "HelloWorld" 通过new关键字来创建:String s3 = new String("HelloWorld")  这两种方式的内存示意图: ...

2018-12-19 10:31:25 148

转载 Exception总结之Software caused connection abort: socket write error

1.ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error程序运行正常,数据也没有出错,后台却老是报这个错误。在网上找了别人写的博客,这个问题的原因有几个: ①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉; ②:客户关...

2018-11-07 10:45:09 1961

转载 Linux常用命令大全(非常全!!!)

转载自博客园---鸿燕藏锋最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 ...

2018-10-08 10:22:10 130

原创 UAP JSP页面与UAP后台之间的数据传递

一.jsp前台页面主要是ajax url的写法.  : 后面应该是  项目名/模块项目名/rest/后台Controller的映射名/方法的映射名二.uap后台Controller页面  

2018-09-06 16:57:17 935

原创 UAP 前台页面间传参数

场景描述: 从A页面点击按钮跳转到B页面,同时把参数传递过去.一.在A页面的MainViewController.js中写方法二.在B页面的index.jsp中接收三.在B页面的MainViewController.js中直接调用 ...

2018-09-06 16:23:39 674 1

原创 UAP 添加字典表

一.在Controller中重写wrapDictList()方法    其中USER_AREA是字段名二.导包 三.在找到添加字典表的方法 四.把重写的方法加上  五.把前台需要关联字典表的字段类型改成DropDownEditor ...

2018-09-06 15:57:19 317

空空如也

空空如也

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

TA关注的人

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