自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (3)
  • 收藏
  • 关注

转载 MAC OS 快速搭建安装Go语言环境图文【最新教程】详解(三大步就完成)

版权声明:本文为CSDN博主「云鱼one」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/mybaidubaidu/article/details/121674605

2022-06-09 11:18:49 283

原创 Mac系统下修改Java的版本

1.进入/Library/Java/JavaVirtualMachines目录,并且删除对应版本的JDK:“/Library/Java/JavaVirtualMachines/jdkmajor.minor.macro[_update].jdk”例如,我们要删除的是8u6,可以执行:rm -rf jdk1.8.0_06.jdk此时JDK 1.8就被删除了2.去Oracle官网重新下载要安装的JDK版本,重新安装。例如,下载安装11.0.12版本,安装完成后执行java -version:

2022-01-10 14:05:06 1769

原创 亚马逊Lambda Serverless架构

2021-06-08 13:57:01 307

转载 SSH连接virtualbox中的虚拟机

SSH 与 Virtualbox使用virtualbox创建虚拟机进行工作,可以有效地减少本机环境与工作环境之间的相互影响。但Server虚拟机的界面实在太粗糙,因而使用SSH连接到虚拟机,使用本地终端进行编辑是一个非常好的选择。端口转发使用端口转发连接到虚拟机,可以避免在虚拟机上配置额外的网卡,且不受主机局域网的影响。在网络-->网卡1中,选择端口转发配置好本机转发端口号和虚拟机SSH端口号(默认为22)后,保存。 这样在本机终端中输入: $ ssh -p 90.

2021-05-18 17:22:12 3068

转载 virtualbox共享文件夹无访问权限问题解决方法

这篇文章主要介绍了virtualbox共享文件夹无访问权限问题解决方法,造成这个问题的原因是不跟virtualbox在同一个用户组,所以加入同个组即可解决这个问题,需要的朋友可以参考下virtualbox的共享文件夹一般都挂载在/media下面,用ll查看会发现文件夹的所有者是root,所有组是vboxsf,所以文件管理去无法访问是正常的,解决方法是把你自己加入到vboxsf组里面。复制代码代码如下:sudo usermod -a -G vboxsf yourusernanme重启,就可以了...

2021-05-18 15:40:12 1373 2

原创 InnoDB 索引

数据库的索引其实就是为了提高数据查询的效率,就像书的目录一样。1.索引的常见模型索引实现比较常见的数据结构有哈希表、有序数组和搜索树三种。哈希表在做添加的时候,速度会非常快;但缺点是,因为不是有序的,所以哈希表做区间查询的时候速度会非常慢。所以哈希表只适用于等值查询的场景。 有序数组在等值查询和范围查询场景中的性能都非常优秀。但是,在需要更新数据的时候,比如往中间插入一条记录就必须挪动后面所有的记录,成本很高。所以,有序数组索引适用于一般不需要再修改数据的情况。 平衡二叉树的搜索效率非常高,

2020-12-07 21:04:45 2364

原创 设计原则-基于接口而非实现编程

基于接口而非实现编程是一种非常有效地提高代码质量的手段,在平时的开发中会经常被用到。这里面的接口可以理解为编程语言中的接口或者抽象类。应用这条原则可以将接口和实现相分离,封装不稳定的实现,暴露稳定的接口。上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本上不需要做改动,以此来降低耦合性,提高扩展性。1.实战应用假设我们的系统中有很多涉及图片处理和存储的业务逻辑,图片经过处理之后被上传到阿里云上。为此我们统一提供了AliyunImageStore类,供整

2020-12-04 11:17:21 313

原创 面向对象与面向过程

1.什么是面向对象编程和面向对象编程语言?面向对象编程的英文缩写为OOP,面向对象编程语言的英文缩写为OOPL。这两个概念可以用下面两句话来概括:面向对象编程是一种编程范式或编程风格。它以类或对象为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。 面向对象编程语言是支持类或对象的语法机制,能方便地实现面向对象编程四大特性(抽象、封装、继承、多态)的编程语言。一般来讲,面向对象编程都是通过使用面向对象编程语言来实现的,但是,不使用面向对象编程语言,我们照样可以进行

2020-12-03 16:26:01 722 2

原创 MySql事务隔离

事务就是保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的。MySQL是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如MySQL原生的MyISAM引擎就不支持事务,这也是MyISAM被InnoDB取代的重要原因之一。事务具有ACID(原子性Atomicity、一致性Consistency、隔离性Isolation和持久性Durability)特性,今天我们主要谈一下“隔离性”。当数据库上有多个事务同时执行的时候,就有可能出现脏读、不可重复读、幻读的问题,为

2020-11-24 20:18:39 93

原创 Docker

docker默认安装yum install docker启动docker:systemctl start docker通过运行hello-world镜像来验证是否正确安装了Docker Engine-Community:docker run hello-world镜像删除参考文章:https://www.cnblogs.com/telwanggs/p/10776822.html...

2020-11-16 19:55:04 80

原创 Scan扫描

在平时线上Redis维护工作中,有时候需要从Redis实例成千上万的key中找到特定的前缀的key列表来手动处理数据,可能是修改它的值,也可能是删除key。redis提供了一个简单粗暴的指令keys用来列出所有满足特定正则字符串规则的key。实现代码如下:Redis:0>set codehole1 aOKRedis:0>set codehole2 bOKRedis:0>set codehole3 cOKRedis:0>set code1hole aOKRedis

2020-11-08 23:01:14 2676

原创 GeoHash的实现

Redis在3.2版本以后增加了地理位置GEO模块,意味着我们可以使用Redis来实现滴滴打车“附近的车辆”、外卖中“附近的餐馆”的功能。1.数据库实现方式地图元素的位置数据使用二位的经纬度来表示,经度范围(-180,180],维度范围(-90,90],维度正负以赤道为界,北正南负,经度正负以本初子午线为界,东正西负。如果现在元素的经纬度坐标使用关系数据库(元素id,经度x,维度y)存储,该如何计算“附近的人”呢?也就是给定一个元素的坐标,然后计算这个坐标附近的其他元素,按照距离进行排序,该如何

2020-11-05 15:38:27 439

原创 SQL语句执行原理

假设我们有个最简单的表,表里只有一个ID字段,再执行下面一条查询语句:mysql> select * from T where ID=10;我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在MySQL内部的执行过程。为了解释这个问题,我们首先看一下MySQL的基本架构示意图,从中我们可以清楚的看到SQL语句在MySQL的各个功能模块中的执行过程。1.MySQL的逻辑架构图MySQL的逻辑架构图如下图所示:大体上来说,MySQL可以分为Server层和存储引擎层两部分

2020-06-26 13:47:00 1855

转载 OpenResty原理剖析及应用

最近在京东零售技术公众号上看到了一篇关于OpenResty原理相关的文章,写的很不错,基本上把OpenResty的原理、优缺点、适用场景都讲清楚了,推荐一下。原文地址:https://mp.weixin.qq.com/s/QwsFADXa0fcZ0njKgaMvMg...

2020-03-16 18:00:26 1099

原创 幂等性

幂等性在我们的实际开发中是比较常见的,例如转账提现、订单发货系统等。今天,我们就分这两种场景对幂等性进行讨论:1.转账提现假如让我们实现支付宝和银行的转账提现需求,你会怎么做呢?首先我们看一下示意图:用户登录支付宝发起提现请求,支付宝调用银行的出款接口,再将相关记录落入数据库。正常情况下,这个流程没有问题,可是如果有一天银行的出款接口超级慢,或者干脆挂掉了,应该如何处理呢?我们...

2020-02-22 16:09:05 699

原创 分布式开发-Spring Cloud

按照现今互联网的开发,高并发、大数据、快响应已经是普遍的要求。为了支持这样的需求,互联网系统也开始引入分布式的开发。为了实现分布式的开发,Spring 推出了一套组件,那就是Spring Cloud。当前Spring Cloud已经成为构建分布式微服务的热门技术,它并不是自己独自造轮子,而是将目前各家公司已经开发的、经过实践考验较为成熟的技术组合起来,并且通过Spring Boot风格再次封装,从...

2020-02-16 22:16:29 502

原创 Spring 5新框架——WebFlux

目录1.基础概念1.1 Reactor模型1.2 Spring WebFlux概述1.3 WebHandler接口和运行流程2.开发WebFlux服务端2.1 依赖导入2.2 开发持久层2.3 开发服务层2.4 开发控制层2.5 配置服务2.6 客户端开发——WebClient3.深入WebFlux服务端开发3.1 类型转换器——Converte...

2020-02-11 11:21:33 1704 1

原创 Spring定时任务

在企业的实际生产中,可能需要使用一些定时任务。在Spring中使用定时器是比较简单的,首先在配置文件中加入@EnabelScheduling,就能够使用注解驱动定时任务的机制,然后可以通过注解@Scheduled去配置如何定时。我们先在Spring Boot的启动类中加入@EnabelScheduling注解,然后开一个服务类,代码如下:package com.martin.config...

2020-02-06 17:19:42 183

原创 Spring异步线程池

在Spring中存在一个AsyncConfigurer接口,它是一个可以配置异步线程池的接口,实现源码如下:package org.springframework.scheduling.annotation;import java.util.concurrent.Executor;import org.springframework.aop.interceptor.AsyncUnca...

2020-02-05 22:45:18 907

原创 安全——Spring Security

目录1.简单安全认证1.1 简单实现1.2 实现原理2.使用WebSecurityConfigurerAdapter自定义2.1 自定义用户服务信息2.1.1 使用内存签名服务2.1.2 使用数据库定义用户认证服务2.1.3 使用自定义用户认证服务2.2 限制请求2.2.1 配置请求路径访问权限2.2.2 使用Spring表达式配置权限访问2.2.3...

2020-02-05 21:22:19 526

原创 文档数据库-MongoDB

目录1.配置MongoDB2.使用MongoTemplate实例2.1 用户POJO2.2 Controller2.3使用MongoTemplate操作文档Redis的执行速度远超关系型数据库,可以极大地提高系统的性能,但是它有一些致命的缺陷,其中最为严重的就是计算功能十分有限,例如,在一个10万数据量的List中,我只需要满足特定条件的元素,这时我们需要先把元素取出,然后...

2020-02-04 14:58:45 339

原创 Spring Boot整合Redis

目录1.spring-data-redis项目简介1.1 spring-data-redis项目的设计1.2 RedisTemplate1.3 Spring对Redis数据类型操作的封装1.4 SessionCallback和RedisCallback2.Spring Boot中配置和使用Redis2.1 配置Redis2.2 操作Redis数据类型2.2.1 ...

2020-01-21 17:03:33 290

原创 Nginx进程模型

目录1.Nginx管理/工作进程模式2.“惊群”问题1.Nginx管理/工作进程模式为了支持现在流行的多CPU和多核架构,Nginx使用了管理进程和工作进程的设计。架构设计如下图所示:管理进程为工作进程的父进程,负责外部指令的接收,工作进程的状态监管,负载均衡等;工作进程负责客户端请求的处理和响应,工作进程一般是按照CPU的核数配置的,并且可以和处理器一一绑定,降低进程间切...

2020-01-19 17:46:40 367

原创 Lua协程

目录1.什么是协程1.1 进程和线程1.2 协程1.2.1 协程挂起与唤醒1.3 进程、线程和协程的区别2.Lua协程协程是追求极限性能和优美的代码结构的产物,协程允许我们写同步代码的逻辑,却做着异步的时,避免了回调嵌套,使得代码逻辑清晰。1.什么是协程1.1 进程和线程在了解什么是协程之前,我们先要了解什么是进程和线程。进程是应用程序的启动实例,比如我...

2020-01-14 16:19:56 1273

原创 OpenResty高性能压测

目录1.ab工具2.环境部署及压测2.1 Openresty压测2.2NodeJS压测2.3Java压测2.4 Python压测3.结果分析OpenResty基于高性能的Nginx,其实现采用了“小众”的开发语言Lua,社区相对较小,知名度较低。实际上,OpenResty的开发效率和运行效率都超过了竞争对手。下面,以测试案例对比目前较为流行的Web开发环境:No...

2020-01-13 19:55:16 2401

原创 Linux上部署Flask Web应用

在安装好Python3的前提下执行以下步骤。1.安装虚拟环境pip install virtualenv2.创建虚拟环境virtualenv ~/code/python/flask-venv此时有可能出现command not found....这是因为没有配置环境变量。首先查找virtualenv 命令的安装目录:[root@VM_0_26_centos f...

2020-01-13 18:28:48 2281 4

转载 nodejs--hello world入门

最近在学习node.js.1.windows 上64位安装下载:64 位安装包下载地址 :http://nodejs.cn/download/安装完成后,创建应用。2.创建第一个应用创建步骤:引入required模块:可以使用require指令来载入Node.js模块 创建服务器:服务器可以监听客户端的请求,类似于Apache、Nginx等http服务器。 接受请求与响应...

2020-01-12 22:53:07 753

原创 Linux中安装部署OpenResty应用

目录1.安装OpenResty应用2.新建项目3.启动Nginx1.安装OpenResty应用首先我们需要在Linux中安装OpenResty,安装步骤参考官网:http://openresty.org/cn/installation.html。官方推荐我们使用官方预编译包来进行安装,因此真正的安装步骤是参考:http://openresty.org/cn/linux-pack...

2020-01-07 20:00:17 1183

原创 Idea 搭建Lua开发环境

1.Lua是什么1993年在巴西里约热内卢天主教大学诞生了一门编程语言,发明者是该校的三名研究人员,他们给这门语言取了一个浪漫的名字——Lua,在葡萄牙语里代表美丽的月亮。Lua语言正如它的名字所预示的那样成长为一门简洁、优雅且富有乐趣的语言。Lua从一开始就是作为一门方便嵌入其他应用程序并可扩展的轻量级脚本语言来设计的,因为一直遵从简单、小巧、可移植、快速的原则,官方实现完全采用ANSI...

2019-12-18 14:52:51 7226 7

原创 Spring数据库事务处理

目录1.Spring声明式事务1.2 声明式事务约定1.3 @Transactional源码分析1.4 Spring事务管理器2.隔离级别2.1 数据库事务特性2.1.1 第一类丢失更新2.1.2 第二类丢失更新2.2 详解隔离级别2.2.1 未提交读2.2.2 读写提交2.2.3 可重复读2.2.4 串行化2.2.5 使用合理的隔离级别...

2019-11-07 23:35:32 1261 1

原创 Spring Boot整合MyBatis

目录1.MyBatis的配置2.Spring Boot整合MyBatisMyBatis已经成为移动互联网时代的主流持久层框架,在移动互联网和一些新兴的项目中MyBatis的占有率不断升高。MyBatis是一个不屏蔽SQL且提供动态SQL、接口式编程和简易SQL绑定POJO的半自动化框架,它的使用十分简单,而且能够非常容易定制SQL,以提高网站性能。MyBatis是基于一种SQL到P...

2019-11-03 22:26:58 116

原创 Spring Boot全注解下的IOC

目录1.IOC容器简介2.装配Bean2.1 通过扫描装配Bean2.2 自定义第三方Bean3.依赖注入4.生命周期5.使用属性文件6.条件装配Bean7.Bean的作用域8.@Profile9.引入XML配置的Bean10.Spring EL表达式IOC(控制反转)是Spring的核心,可以说Spring是一种基于IOC容器编程的框架。因为S...

2019-11-02 20:24:14 361

原创 ByteBuf

目录1.ByteBuf类1.1 ByteBuf的工作原理1.2 ByteBuf的使用模式2.ByteBuf实例2.1ByteBufAllocator2.2 Unpooled缓冲区2.3 ByteBufUtil类3.小结我们知道,网络数据的基本单位总是字节。Java NIO提供了ByteBuffer作为它的字节容器,但是这个类使用起来相当复杂复杂繁琐。Net...

2019-10-27 09:27:45 447

原创 传输

目录1.案例研究1.1 使用Java的OIO和NIO实现1.2 Netty使用OIO和NIO2.传输API3 内置的传输3.1 NIO-非阻塞IO3.2 Epoll-用于Linux的本地非阻塞传输3.3 用于JVM内部通信的Local传输3.4 Embedded传输4.小结本章中,我们将学习Netty传输相关的通用的API,并通过和JDK的对比来证明它的...

2019-10-23 20:45:05 163

原创 Netty的组件和设计

目录1.Channel、EventLoop和ChannelFuture1.1 Channel接口1.2 EventLoop接口1.3 ChannelFuture接口2.ChannelHandler和ChannelPipeline2.1 ChannelHandler接口2.2 ChannelPipeline接口2.3 编码器和解码器2.4 抽象类SimpleCha...

2019-10-21 22:45:00 124

原创 Netty快速入门

目录1.编写Echo服务器1.1 ChannelHandler和业务逻辑1.2 引导服务器2.编写Echo客户端2.1 通过ChannelHandler实现客户端逻辑2.2 引导客户端3. 编译运行4.小结本章我们将展示如何构建一个基于Netty的客户端和服务器。应用程序非常简单,客户端将消息发送给服务端,而服务器再将消息回送给客户端。开发环境搭建步骤我们直接跳...

2019-10-20 10:26:44 144

原创 代理模式

目录1.游戏代练2.代理模式2.1 代理模式的优点2.2 代理模式的扩展2.2.1 普通代理2.2.2 强制代理3.动态代理4.最佳实战1.游戏代练现在的游戏代练公司非常多,我们可以把自己的账号交给代练人员,由他们去帮我们升级打怪。我们来修改一下类图:实例代码如下:IGamePlayer接口:public interface IGamePl...

2019-10-13 17:11:59 114

原创 建造者模式

目录1.变化是永恒的2. 建造者模式的应用2.1 优点2.2 使用场景1.变化是永恒的在模板方法模式中,我们的模板方法是按照固定的顺序进行执行的。假如我们顺序是可以调整的,有些方法可能执行,有些方法可能不执行,又该如何设计呢?我们以制造汽车的过程为例,假如汽车形式分为启动、停止、鸣喇叭和引擎声等几个过程,而不同品牌的汽车,执行过程又不尽相同,此时我们可以在汽车模型类CarM...

2019-09-24 22:56:06 128

原创 模板方法模式

1.模板方法的定义模板方法模式是定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式的通用类图如图所示:AbstractClass叫做抽象模板,它的方法分为两类:基本方法:由子类实现的方法,并且在模板方法中被调用。 模板方法:可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,...

2019-09-22 20:13:52 88

原创 工厂模式

目录1.工厂方法模式1.1女娲造人的故事1.2 工厂方法模式的应用1.2.1 优点1.3 工厂方法模式的扩展1.3.1 缩小为简单工厂模式1.3.2 升级为多个工厂类1.3.3 延迟初始化1.4 最佳实战2.抽象工厂模式2.1女娲的失误2.2 抽象工厂模式的应用2.2.1 优缺点2.2.2 使用场景1.工厂方法模式1.1女娲造人的故事...

2019-09-21 23:57:41 164

查询的数据分页 JAVAWEB

将查询到数据库的大量数据,在页面中实现分页显示……

2013-09-10

PL/SQL工具

为我们操作ORACLE数据库提供了 可视化的操作界面 使用起来非常的方便

2013-09-10

学生信息管理系统 功能强大

学生信息管理系统,有三个用户:学生,管理员,老师;管理员对系统进行必要的为胡。学生有查看信息飞躬耕。

2009-12-05

空空如也

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

TA关注的人

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