自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (22)
  • 收藏
  • 关注

原创 gfs翻译

ABSTRACT我们已经设计和实现了Google File System,一个适用于大规模分布式数据处理相关应用的,可扩展的分布式文件系统。它运行在廉价且普通的硬件设备上,并提供了容错的设计,并且为大量的客户端提供极高的聚合处理性能。尽管我们的设计目标和上一个版本的分布式文件系统有很多相同的地方,我们的设计是依据我们应用的工作量以及技术环境来设计的,包括现在和预期的,都有一部分和早先的文件系统的约定有所不同。这就要求我们重新审视传统的设计选择,以及探索一些在根本上不同的设计要点。这个文件系统成功的满足了我

2021-10-22 23:08:58 453

原创 SpringBoot静态资源访问、全局异常、跨域

静态资源访问官方推荐尽量不要放在webapp中,尽量放在static中。• 现在在resouces中新建一个文件夹static/html/test.html• 然后写一个配置类,代码如下@Configuration@EnableWebMvc //有的版本需要去掉这个@EnableWebMvc注解public class SpringWebMvcConfigurer implements WebMvcConfigurer { @Bean public CommonsMultipartRes

2021-07-03 00:48:38 607

原创 flutter调用js代码

首先需要在pubspec.yaml中配置:dependencies: js: ^0.6.1+1 #主要是指明这个,可以根据实际情况配置版本 flutter: sdk: flutter然后直接看代码,在lib包下的任意的目录新建一个dartjs.dart文件,代码如下:import 'dart:js' as js;void main() { //示例调用测试函数test.js print(js.context.callMethod("noparam")); //带参数 p

2021-05-30 09:27:30 2418 1

原创 SpringSession+redis

先配置yml文件server: port: 8080 servlet: session: timneout: 3000spring: application: name: SpringSessionRedis redis: host: localhost port: 6379 timeout: 3000 pool: max-idle: 8 min-idle: 0 max-active: 8

2021-01-01 01:13:04 192

原创 synchronized、脏读、volatile

synchronized可以加在方法体上,也可以使用在对象上 try { synchronized (list) { if(list.getSize() < 1){ Thread.sleep(2000); list.add(data); } } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } public synch

2020-12-22 16:58:47 136

原创 2020 lab01 mapreduce

写在开头:经历无数次内心的挣扎(主要是lab实在太难了),反反复复的看实验描述,也看别人的实现,也抄袭别人的lab,事后也没有一点成就感(主要是看不懂为什么人家要这么做),发自内心质问自己,这么做有意义吗?于是耐下性子,认认真真看实验描述,反反复复看论文。接下来我先帮大家分析一下整个实验,讲解一下实验的流程,并分析mrsequential.go这个文件,这段并不影响大家享受痛苦的编码过程,因为这些都在实验描述中出现,我只是把它加点自己的东西然后翻译成中文,并指出重点首先一定要读懂了实验描述,后.

2020-12-07 12:42:00 207

原创 资源让步和守护进程

Thread.yield可以放弃当前的资源让给CPU去执行class YieldMethod extends Thread { @Override public void run() { long beginTime = System.currentTimeMillis(); int count = 0; for(int i=0; i<50000000; i++) { //放弃当前cpu资源,让给其他任务去

2020-12-03 16:03:37 75

原创 桥接模式

本章节代码是引用head first还是网友的代码我不记得了,这里是做学习和讲解使用引用百度百科的话:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(interface)模式。假设有一个Brand接口,他有三个方法open、close、callpackage com.bridge;public interface Brand { void open(); void close(); v.

2020-12-01 00:14:25 66

原创 function、structures、classes

函数定义://定义无参函数func sayRan() { print("Ran!");}//调用sayRan()//定义有参函数带返回值func calcMidpoint(firstNum: Int, secondNum: Int) -> Int { let result = (firstNum + secondNum) / 2; return(result);}//调用let resultA = calcMidpoint(firstNum: 10, sec

2020-11-27 20:57:44 102

原创 引言

内行的设计者知道不是解决任何问题都要从头做起,我们更愿意复用以前使用过的解决方案设计模式根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种;根据范围(模式主要是用于处理类之间关系还是处理对象之间的关系)可分为类模式和对象模式两种:在面向对象系统中功能复用两种最常用技术是类继承和对象组合,对象组合是类继承之外的另一种复用选择。两者各有优缺点。类继承类继承是在编译时静态定义的,且可直接使用,不足之处在于继承在编.

2020-11-24 00:17:20 99

原创 java多线程-线程安全、线程停止

接下来介绍线程安全及共享变量public class MyThreadVariableAndSafe extends Thread { private int count = 5; public MyThreadVariableAndSafe(String name) { super(); this.setName(name); } @Override public void run() { super.run(

2020-11-23 15:54:59 115

原创 angular+ng-zorro后台搜索页面

继续上一次表格的内容,这次要在页面的头部加上一个搜索框,然后让表格的数据可以根据搜索内容更新首先要介绍下ng-zorro的栅格化布局,以下摘自官网在多数业务情况下,Ant Design 需要在设计区域内解决大量信息收纳的问题,因此在 12 栅格系统的基础上,将整个设计建议区域按照 24 等分的原则进行划分。划分之后的信息区块我们称之为『盒子』。建议横向排列的盒子数量最多四个,最少一个。『盒子』在整个屏幕上占比见上图。设计部分基于盒子的单位定制盒子内部的排版规则,以保证视觉层面的舒适感。布局的栅格

2020-11-16 14:21:03 1091

原创 angular+ng-zorro路由、表格组件

继续上次的内容,上次的内容为angular整合ng-zorro、左边导航栏。首先新建一个组件,下面代码会在src/app/pages路径下新建一个menus的组件ng g component pages/menus新建完组件后删除menus.component.spec.ts文件,这一下文件目录如下图所示:比较重要的文件我都框起来了,app-routing.module.ts就是路由文件,修改变量routes为:const routes: Routes = [ { path: '', pa

2020-11-13 22:34:40 651 1

原创 angular整合ng-zorro、左边导航栏

上一篇已经介绍了angular了,接下来介绍ng-zorro,这个阿里推出的ant design of angular,已经做了一些基础性的工作,并且封装了一些组件,并且也是官方推荐的。在新建好的angular工程中引入ng-zorro代码如下:ng add ng-zorro-antd等待安装完成后通过命令npm start或者ng serve -- open均可以启动工程,页面如下图,这里我展示的是进行修改后的结果,这篇文章也会说明如何修改代码使得左边菜单栏符合我们的实际需求通过检

2020-11-10 17:08:06 1431

原创 java多线程初窥

接下来介绍Java多线程,首先介绍下进程和线程进程:简而言之理解为任务管理器中运行的独立程序线程:是在进程中独立运行的子任务一个进程运行时,至少会有一个线程在运行的使用多线程的优点最大限度的利用CPU的空闲时间来处理其他的任务接下来看一个简单的java多线程案例import org.junit.Test;class MyThread extends Thread { @Override public void run() { super.run();

2020-11-08 21:45:23 100

原创 swift5 流程控制、高级变量

主题:if-else、NOT、OR、AND、switch、arrays、dictionariesif-elseif <condition> is true { <code to execute>}else{ <code to execute>}code continues onvar str = "Hello, playground"var height: Int = 193if height >= 190 { print("wo.

2020-11-04 20:52:43 109

原创 swift5基础语法

先从最基本的常量、变量说起新建变量新建变量的语法: var(keyword) <变量名>:<数据类型> = <变量值>,swift会自动判断类型,所以数据类型可以省略var str = "Hello, playground"print(str)var greeting = "Hello swift developers"print(greeting)新建常量let name = "hello"常见的数据类型IntDoubleBool

2020-11-01 23:45:03 220

原创 angular环境搭建、基础介绍

环境搭建步骤需要安装nodejs、cnpm,nodejs就是上官网下载就好了,选择长期支持版本比较好,cnpm安装只要执行命令即可:npm install -g cnpm --registry=https://registry.npm.taobao.org安装angular cli : cnpm install -g @angular/cli创建应用:cd 目录,执行命令: ng new my-app启动项目:ng serve --open; 默认端口是4200创建组件: ng g compon

2020-10-13 10:48:55 153

原创 动态路由协议

什么是动态路由协议:路由协议是用于路由器之间交换路由信息的协议。动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。通过路由协议,路由器可以动态共享有关远程网络的信息,路由协议可以确定到达各个网络的最佳路径,然后将路径添加到路由表中。动态路由协议可以自动的发现远程网络,主要的好处是:只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径动态路由协议的用途:交换路由信息,并将其选择的最佳路径添加到路由表中。路由协议的用途如下:

2020-09-15 11:24:19 661

原创 SpringCloud H.SR7 + Sharding-Proxy

本来自SpringCloud H.SR7 + sharding-jdbc 4.1.1-读写分离(主从复制)之后继续讨论shardingshphere。Sharding-Proxy是ShardingSphere的第二个产品。它定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL/PostgreSQL版本,它可以使用任何兼容MySQL/PostgreSQL协议的访问客户端(如:MySQL Command Client, MySQL Workben

2020-09-11 15:08:50 269

原创 SpringCloud H.SR7 + sharding-jdbc 4.1.1-读写分离(主从复制)

为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是第一天数据库服务器是对外提供增删改业务的生产服务器,第二台数据库服务器,主要进行读的操作,原理就是让主数据库(master)处理事务性增删改操作,而让从数据库(slave)处理select查询操作。shardingjdbc就是把增删改操作路由到masterDB,把查询操作路由到slaveDB,是不会做数据同步的,数据同步还是由MYSQL来做。所以首先要做的就是配置MYSQL主从服务器。这里先以windows环境为例,MYSQL的版本为8.0

2020-09-11 15:02:33 578

原创 SpringCloud H.SR7 + sharding-jdbc 4.1.1-自定义分片策略和数据广播

本文是基于上一讲SpringCloud H.SR7 + sharding-jdbc 4.1.1-水平分库分表接下来我们继续介绍分库分表和数据广播先上一个yml配置,对了maven的配置上上一篇是一样这里就不介绍了server: port: 8080datasource0: url: jdbc:mysql://localhost:3306/user_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8

2020-09-11 14:46:49 422

原创 SpringCloud H.SR7 + sharding-jdbc 4.1.1-水平分库分表

Sharding-JDBC不是做分库分表,它是在已经做好分库分表的基础上去操作数据,结构图如下:它主要做两个功能:数据分片和读写分离,仅要引入jar包就可以了,兼容orm框架、各种常用数据库。其目的是为了简化对分库分表之后数据相关操作。接下来先介绍数据分片,数据分片有分库和分表,目前是根据shardingjdbc4.1.1的版本来做,值得一提的是不同版本的shardingjdbc其配置可能不同,然后Jar别引用官方说的,用core包,还有就是别写yml或者proerties配置,要写代码配置要不然得跪

2020-09-11 14:29:18 606

原创 归并排序与快速排序

知识点归并排序快速排序归并排序归并排序的核心思想就是把数组一分为二,然后就有了两个数组,然后分别对数组进行排序,两个数组分别有序后再把两个数组合并,更具体的来说把一个数组不断的二分,直到二分的数组只有一个元素为止,然后将数组进行合并。归并排序的效率是N∗lgNN*lgNN∗lgN,其主要缺点则是它所需的额外空间和N成正比,具体分析如下图所示:快速排序快速排序流行的原因是它实现简单、适用于各种不同的输入数据切在一般应用中比其他排序算法都要快很多,其引人注目的特点包括它是原地排序(只需要一

2020-09-11 00:22:46 188

原创 栈、队列、基础排序

知识点stacks and queues选择排序插入排序希尔排序Stacks and queues栈是在先进后出,push和pop的操作在同一端(LIFO,last in first out)队列是先进先出,操作在两端(FIFO, first in first out)通常栈跟队列都是用数组实现的,数组空时最好要减少数组的长度,通常缩小为四分一,数组满时扩容,扩充一倍。一般是根据需要再建个数组(扩容或缩小长度都应该是已知的了),然后再把值赋进去就可以了。排序Java中实现排序

2020-09-11 00:20:59 179

原创 并查集与算法分析

知识点并查集算法分析并查集dynamic connectivity判断各个节点是否连通,常用的方法有两个:connected(a,b),union(a,b);connected返回布尔值判断a,b是否连通,union连通a,b。连通问题应用广泛,例如是否可以在p和q之间建立桥梁,通信线路,这些字符或整数对还可表示社交网络。假设现有集合:{1,…,10},经过连续的union的后连通的组件称为connected components,所以至少有一个connected components

2020-09-11 00:18:34 269

原创 CMU-操作系统-01-INTRODUCTION

计算机的运算和人为认知的运算是有所不同的,例如x2>=0x^2 >=0x2>=0,这对于所有浮点数来说是正确的那么整数呢?50000 * 50000的结果在计算机上显然跟我们认知的不同,那是因为int类型通常只有[−232,232][-2^{32} , 2^{32}][−232,232]还有就是乘法交换律通常情况下 (x+y)+z=x+(y+z),Unsigned和signed int都是对的,但是浮点数呢? (le20 + -le20) + 3.14不会等于le20 + (-le2

2020-09-10 23:44:32 492

原创 JSON WEB TOKEN解决跨域、缓存一致性问题

json web token应用于:分布式的单点登录场景可以使用跨域认证解决方案3.集群缓存一致性问题用大白话来说就是用于替换web中的session,以后不用把user对象保存在session中,而是输出成字符串,然后丢给前端,前端根据文档约束,有要求上传token时把token带给后台。然后就可以根据这个token解析出user。之前都是使用redis来做缓存的,新项目跟前端商量了下试着使用JSON WEB TOKEN,pom配置如下: <dependency> &

2020-09-10 17:29:49 495

原创 MinIO+SpringBoot使用

首先给出官网和镜像:中国镜像:http://dl.minio.org.cn/server/minio/release/windows-amd64/官网:https://docs.minio.io/ https://docs.minio.io/cni接下来正式介绍wndows环境搭建:通过镜像下载minio.exe后保存至存放的位置,这里保存在C:\develop\minio打开cmd文件进入C:\develop\minio执行命令: .\minio.exe server C:\de

2020-09-10 17:10:17 3603

原创 webservice精讲

上一讲提到cxf使用及常见报错分析,使用cxf就不得不提webservice,毕竟cxf是用来调webservice,而提到webservice就不得不先说下soap,所以本文从soap开始到webservice

2020-09-10 15:49:29 340

原创 分布式系统之远程过程调用(RPC)精讲

目录什么是RPCRPC的透明性参数传递动态联编RPC表示错误的语义(Semantics in the Presence of Failures)RPC实现RPC与消息传递通信的比较分布式系统的主要特点是能够将一台机器上的一个任务分解到系统中其他的机器上运行,实现多个CPU的协同工作。远程过程调用RPC就是实现这一特点的有效方法之一什么是RPCRPC的基本思想:(1984年,Birrell,Nelson)允许程序调用位于其他机器上的过程,当机器A上的一个进

2020-09-10 15:17:41 1751

原创 CMU-DATABASE-02-高级SQL

我们的目标是站在一个高级层面去告诉数据库系统计算我们想要的答案,而不是告诉它具体怎么去做。以对数据进行排序为例来思考这个问题:如果我们必须要告诉数据库系统具体该怎么做的话,我们就必须提供给它具体的内容,例如提供给DBMS冒泡排序算法。但如果我们用的是高级语言或者声明式语言(例如SQL),当需要对数据进行排序时,作为程序员并不介意实际上 是如何完成这个排序的。这样我们就可以腾出时间来找到最佳优化方案,让数据库根据你想要的方式来对数据进行查询,这其实就是查询优化。也就是重新指定SQL执行计划

2020-09-10 00:48:50 245

原创 CMU-DATABASE-01-INTRODUCTION

数据库为什么我们需要构建数据库关系模型主外键DML关系代数自然连接内连接左外连接右外连接全外连接数据库可以理解为以某种方式去进行关联的数据集合,这就可以试着对现实世界的某些方面进行建模,它是大部分计算机应用程序的核心。为什么我们需要构建数据库?简单来说,我们可以把一份CSV文件看成我们的数据库,也就是说我们可以把数据存放在文件中,例如我们存储"艺术家、专辑":Artist(name, year, country):“Wu Tan

2020-09-09 22:43:42 244

原创 SpringCloud+shiro+前后端分离

采用json web token的形式解决前后端缓存问题及缓存一致性问题。具体可以看我之前写的:JSON WEB TOKEN解决跨域、缓存一致性问题​首先简单介绍下shiro的关键概念Subject:用户主体(把操作交给SecurityManager)SecurityManager:安全管理器(关联Realm)Realm: Shiro连接数据的桥梁配置pom文件:<dependency> <groupId>org.apache.shiro</groupId&g

2020-09-08 01:31:48 653

原创 apache camel 01-核心概念

Camel框架的核心是一个路由引擎,它允许你定义自己的路由规则,决定接受哪些消息,做出决定如何处理,发送这些消息给其他目标。Camel用这种集成语言允许你定义复杂的路由规则。Camel的基本原则之一是不会假设任何你需要处理的数据,这是很重要的一点,因为它给你们开发者一个集成任何系统的一个机会,不需要转换你的数据为另外的一种公认格式。Camel 提供了高水平的抽象,它允许你根据相同的api协议或者系统的数据类型集成各种各样的系统。Camel的组件提供了特殊实现的接口api,其目的是给不同的协议和数据类型服

2020-09-08 00:54:16 548

原创 cxf使用及常见报错分析

引入cxf框架,在实际上线部署后如果采用java -jar或者部署在tomcat容器中出现编译失败,又或者提示找不到xxx类,大家如果上网搜索得到的答案一般是说当前环境是Jre,而cxf需要jdk环境下的tools.jar,也就是说cxf是需要Jdk环境的,所以解决方案很简单,如果是跑Jar包,那就进入jdk/bin路径下执行java -jar,如果是跑容器,通常情况下容器都是读取环境变量的jdk路径其实就是jre,那就修改容器的环境为jdk路径就可以了。例如tomcat是在bin\setclasspath

2020-09-08 00:39:57 1859

delve-master.zip

golang1.11后的版本用goland进行调试报错:could not launch process: decoding dwarf section info at offset 0x0: too short。的源码包,解压放到gopath的src/github.com/go-delve/下,并改名为delve,然后执行go install gopath路径,再重启goland即可

2019-08-11

introduction to linear algebra

MIT教材 线性代数,网易云课堂教材

2019-03-01

MIT 18.03 课程所有材料

MIT 18.03 课程所有材料,包括官方的所有笔记,存储在notes中

2018-08-28

最新全套尚硅谷视频dubbo

最新全套尚硅谷dubbo

2018-08-28

尚硅谷dubbo,zookeeper,java,android

尚硅谷dubbo,zookeeper,java,android,尚硅谷dubbo,zookeeper,java,android

2018-08-28

reinforcement_learning

reinforcement_learningreinforcement_learningreinforcement_learningreinforcement_learningreinforcement_learning

2018-02-10

淘宝技术这十年,完整扫描版

淘宝技术这十年,完整扫描版淘宝技术这十年,完整扫描版淘宝技术这十年,完整扫描版

2018-02-07

java并发编程艺术

java并发编程艺术java并发编程艺术java并发编程艺术java并发编程艺术java并发编程艺术

2018-02-07

Planning Algorithms

This book presents a unified treatment of many different kinds of planning algorithms. The subject lies at the crossroads between robotics, control theory, artificial intelligence, algorithms, and com

2017-10-20

Mastering the Game of Go without Human Knowledge

讲述alpha zero的原文,发表在nature,A long-standing goal of artificial intelligence is an algorithm that learns, tabula rasa, superhuman proficiency in challenging domains

2017-10-20

bootstrap框架

bootstrap

2017-02-24

机器学习实战(中文+英文+源码)

机器学习实战(中文+英文+源码)

2017-01-03

REDIS 入门指南.pdf

REDIS 入门指南.pdf

2016-08-09

ActiveMQ_in_Action_中文

ActiveMQ_in_Action_中文

2016-08-09

Java多线程编程核心技术_完整版

带索引的Java多线程编程核心技术

2016-05-31

hibernate4 jar包

hibernate4的jar包,还包括c3p0等常用的也包含在内了

2015-06-13

struts2 2.1.6 源代码

struts2 2.1.6 源代码 ,用于参考底层实现

2014-07-25

head_firstJAVASCRIPT 中文版.pdf

head_firstJAVASCRIPT 中文版.pdf

2014-06-13

Servlet与JSP核心编程第二版

Servlet与JSP 核心编程高清版 需要可以下载

2014-05-19

空空如也

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

TA关注的人

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