自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何在mac上录屏(并且录制到屏幕内部声音)完美解决方案

文章目录前言一、quicktime player+Soundflower方案解决quicktime player 不能录制系统声音的缺陷在quicktime player选择刚配置的音频二、iShot+Soundflower方案总结前言一直想找一款在mac录屏的软件,直到今天才有了完美的解决方案,总所周知,mac上有自带的录屏软件(quicktime player),这款软件简单,但是因为其不能录制屏幕内部的声音而不被新手使用。而其他录屏软件大部分需要付款,大部分开源的也不能录制屏幕内部的声音。接下来

2021-04-07 15:24:52 31999 5

原创 Http压测工具WRK

文章目录一、系统性能的维度1.1 延迟1.2 吞吐量1.3 系统容量二、wrk2.1 安装2.2 使用三、总结3.1 wrk优势3.2 wrk劣势一般我们压测的时候,需要了解衡量系统性能的一些参数指标,一下就先从指标开始介绍一、系统性能的维度1.1 延迟简单易懂。green:一般指响应时间95线:P95。平均100%的请求中95%已经响应的时间99线:P99。平均100%的请求中99%已经响应的时间平均响应时间:所有请求的平均响应时间最大响应时间:所有请求中最大的响应时间1.2 吞吐量

2021-02-20 17:14:20 879

原创 [system] systemd详解

文章目录systemd由来概述查看版本号兼容性系统管理systemctl 管理系统。systemd-analyze 查看启动耗时。hostnamectl 看当前主机的信息。localectl 查看本地化设置。timedatectl 查看当前时区设置。loginctl 查看当前登录的用户。资源Unit含义资源Unit存放的目录常用命令Unit管理Unit状态Unit状态详解查看unit详细配置命令enable /disable / mask /unmask详解查看系统上的unit查看已经启动unit查看

2020-12-03 16:55:12 1855

原创 协变和逆变以及泛型

协变和逆变以及泛型涉及知识引用相关LSP(Liskov Substitution Principle)里氏替换原则泛型泛型的作用有界泛型协变和逆变定义返回值协变和参数逆变不可变的例子java中协变和逆变泛型中的通配符代码举例`什么是泛型,泛型中协变和逆变又是什么?Number num = new Integer(1) ; //编译正确ArrayList list = new ArrayList(); //编译错误为什么同样的 Integer对象能被Number实例化, 而 ArrayList不可

2020-09-25 17:37:01 520

原创 异常

异常异常分为两种异常按照处理方式进行分类unchecked exception如何在代码中定义一个异常并且抛出去在抽象方法中抛出异常的情况try catch finallytry with resources自定义异常异常不能当做程序跳转异常也是java中的类所有异常的父类是:Throwable异常分为两种Error :系统级别的错误,我们处理不了,不需要关心Exception:因为应用程序导致的异常,这个是可以处理的异常按照处理方式进行分类checked exception:语法要求

2020-09-18 17:09:36 1413

原创 特殊类

特殊类成员内部类局部内部类匿名类总结枚举非公有类内部类匿名类成员内部类成员内部类,是在类中直接定义类成员内部类,不可以包含任何静态的成分(除了final static 的基本数据类型变量)。可以有访问控制符成员内部类有外部类的引用,可以访问外部类的private的属性和方法。外部类也能访问内部类私有的属性方法局部内部类访问外部类的对象的成员属性的完整写法: 类名.this.属性/方法局部内部类在类外部(在其他类里面)创建内部类对象,需要指定引用是谁,语法:Phone phone = n

2020-09-18 17:08:48 457

原创 静态与静态内部类详解

这里写目录标题java的生命周期1. 加 载2. 连接3. 初始化4. 使用5. 类卸载静态代码、变量、方法静态变量静态方法静态代码块静态内部类内部类相关问题静态内部类,为什么每次实例化是不同的对象java静态内部类的延迟加载,以及内部类里面的静态元素的加载时机java的生命周期java的生命周期为:装载、连接、初始化、使用和卸载1. 加 载一个java类的代码,经过编译之后生成一个后缀为.class的文件,java虚拟机能识别这种文件。java的生命周期就是class文件从加载到消亡的过程。

2020-09-10 17:44:33 1928

原创 枚举、接口、抽象类

枚举、接口、抽象类objectnativehashCode 与equalsequals与==反射Class类获取当前实例的class对象通过反射获取类的成员变量通过反射获取类的方法通过反射访问类的私有属性和私有方法String... 语法糖枚举接口有方法的接口接口不能创建实例,那它方法里面的this是什么?抽象类抽象类比普通类和接口有什么优势object万类之祖,没有成员变量nativejava中有很多native方法,尤其是自带的类库里面。native的意思是这个方法没有方法体,它的方法实际

2020-09-04 17:39:26 427

原创 继承与多态

继承与多态@sincemain方法String对象的特点StringBuilder继承继承组合覆盖(继承的终极奥义)supersuper调用父类构造方法重载和重写的区别多态继承中父类与子类的引用赋值关系关于继承中多态的模式动态多态:覆盖静态多态:重载instanceof 操作符继承里面的静态方法访问修饰符final@since在Java源代码中,代表当前方法需要java几的版本使用main方法main方法只是一个静态的,有String[] 做参数的,没有返回值的方法。 它的特殊性在于java可以把m

2020-08-28 18:30:00 385

原创 java方法详解

java方法详解方法方法是什么关于方法的参数传递关于方法的局部变量,参数,以及实例的生命周期关于方法里面的this方法重载(overload)重载参数匹配规则构造方法构造方法的重载静态变量静态方法如何引用静态变量或者静态方法静态方法的重载静态代码块构造方法与静态方法的组合使用包名 + 类名 = 类的全限定名。也可以简称为类的全名方法方法是什么类通过成员变量和方法描述世界,成员变量是描述一类事物的属性,是数据;方法是描述一类事物的行为和功能,是对数据的操作。方法中的代码可以通过操作一个对象的成

2020-08-20 17:06:47 233

原创 node+vue+es6的环境中如何导入外部js插件

node+vue+es6的环境中如何导入外部js插件一、通过npm导入问题二、本地导入问题三、在index.html文件中用常规的js引入总结vue的nextTick方法jquery判断元素是否存在通过 class选择器,去给dom添加事件在node + vue中经常需要导入外部的js组件进行引用。今天给大家演示下常规的导入一、通过npm导入在终端命令中用npm下载自己需要的js包 npm install layui-laydate在代码中 <input nam

2020-07-24 18:07:49 1077

原创 mysql安装

本文讲述如何在mac中安装mysql8.0 并将其设置成开机自启一、安装HomebrewHomebrew 是Mac OS的软件包管理器,它可以自动安装软件的依赖包,非常便捷。我们将使用Homebrew来安装mysql8.0。如果还没有安装Homebrew,将以下命令粘贴至终端进行安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"二、安装mysq.

2020-07-22 14:35:52 194

原创 类、对象、引用与内存详解

对象对象的创建 Merchandise m1 = new Merchandise(); // >> TODO 使用new操作符,可以创建一个类的实例/对象(instance/object) // >> TODO 使用new创建一个类的实例后,类中定义的每种变量会被赋予其类型的初始值点操作符点操作符是用来访问/操作前面实体的属性的数据类型基本数据类型/引用数据类型什么是基本数据类型什么是引用数据类型除了基本数据类型,其他都是引用数据类型,比

2020-07-14 14:38:35 1183

原创 BCNF(巴斯范式)与反范式设计

BCNF与反范式设计BCNF(巴斯范式)反范式设计反范式存在的问题和适用场景数据仓库和数据库在使用上的区别总结反范式设计是什么,有了范式设计,为什么还需要反范式设计。反范式设计适用的场景是什么?存在什么问题3NF有什么不足?除了3NF,我们为什么需要BCNF。BCNF(巴斯范式)有如下仓库warehouse_keeper表, 一个仓库只有一个管理员,同时一个管理员也只能管理一个仓库候选键:(管理员,物品名) (仓库名,物品名)主键:(仓库名,物品名)主属性:仓库名,管理员和物品名非主

2020-07-09 16:51:01 1500

原创 数据库的范式设计

范式设计:数据表的范式有哪些,3NF指的是什么?范式设计准备知识函数依赖部分函数依赖完全函数依赖传递函数依赖什么是范式范式的级别范式定义的元素例子从1NF到3NF1NF2NF3NF总结很多时候,当数据库运行一段时间后,我们才发现数据表设计的有问题。重新调整数据表的结构,就需要做数据迁移,还有可能影响程序的业务逻辑,以及网站的正常访问。所以在开始设置数据库的时候,我们就需要重视数据表的设计范式设计准备知识函数依赖解释:∀ -->代表任意的 。依赖:R(U)是 自变量集U上的关系集合 [

2020-07-03 16:02:18 607

转载 JupyterLab的安装

本文转载自https://sspai.com/post/53308 ,并将其步骤丰富由于本人是mac,所以展示mac的安装方式第一步、安装conda官方提供了conda, pip, 和 pipen 的安装方式。其中pip的方式,我试了很长时间,能安装成功,但是启动报错,看了两个小时,解决不了,果断换种方式conda 被官方推荐为最佳的安装方式下载conda 安装器去官网下载co...

2019-12-27 15:50:27 2095 3

原创 设计模式、面向对象八:如何利用基于充血模型的DDD开发一个虚拟钱包系统?

钱包业务背景一般具有支付、购买功能的应用,都支持钱包的功能。应用为每个用户开设一个系统内的虚拟钱包账户,支持用户重置、提现、支付、冻结、透支、转账、查询账户余额、查询交易流水。一般来讲,每个虚拟钱包账户都会对应用户的一个真实的支付账号,有可能是银行卡账户,也有可能是三方支付账户(支付宝、微信钱包)。钱包的五大核心功能的业务充值用户通过三方支付渠道,把自己银行卡账户内的钱,充值到虚拟...

2019-11-29 15:21:55 602

原创 设计模式、面向对象七:贫血模型与充血模型

前景我们都知道,现在很多项目都是基于贫血模型的MVC三层框架。虽然这种开发模式已经成为了标准的web项目的开发模式,但是它却违反了面向对象的编程风格,是一种彻底的面向过程的编程风格,因此有人称之为反模式。什么是MVCMVC三层架构中,M表示Model, V表示View,C表示Controller。将整个项目分为三层:展示层、逻辑层、数据层。不过很多项目也不会100%遵从MVC固定的分层方式...

2019-11-28 18:25:52 953 1

原创 设计模式、面向对象六:继承与组合

继承继承是面向对象的四大特性之一,用于表示类之间的is-a关系,可以解决代码复用的问题,支持多态。继承的缺点继承层次过深、过复杂化,会影响到代码的可维护性。举例:假设我们要设计一个关于鸟的类。将鸟类这样的一个抽象的事物概念,定义为抽象类AbstractBird所有更细分的鸟,比如麻雀、鸽子、等都继承这个抽象类问题:大部分鸟会飞,我们可以在AbstractBird抽象类中,定义...

2019-11-27 09:34:40 283

原创 设计模式、面向对象五:基于接口而非实现编程

基于接口而非实现编程,是一条设计原则,它先于很多编程语言诞生,是一条比较抽象、泛化的设计思想。 这条原则中的接口,可以理解为编程语言中的接口或者抽象类。基于接口而非实现编程的优势可以提高代码质量,因为应用这条原则,可以将接口和实现相分离,封装不稳定的实现,暴漏稳定的接口。上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本不需要改动,以此来降低...

2019-11-26 11:46:36 483

原创 设计模式、面向对象四:接口和抽象类的区别

参考文献:极客时间,王争 设计模式之美抽象类什么是抽象类以一段经典的抽象类使用场景(模板设计模式)来举例。Logger是一个记录日志的抽象类FileLogger和MessageQueueLogger继承Logger分别实现不同的日志记录:记录日志到文件中和记录日志到消息队列中。FileLogger和MessageQueueLogger两个子类复用了父类Logger中的na...

2019-11-21 17:27:20 181

原创 设计模式、面向对象三:面向过程变成与面向对象编程的区别

什么是面向过程编程?什么是面向过程编程语言相较于面向对象编程以类为组织代码的基本单元,面向过程编程则是过程(或方法)作为组织代码的基本单元。它最主要的特点就是数据和方法相而分离。比如下面的以c语言编写的代码。struct User { char name[64]; int age; char gender[16];};struct User parse_to_user(...

2019-11-19 15:18:10 287

原创 设计模式、面向对象二:面向对象四大特性

四者的理解封装封装也叫做信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式来访问内部信息或者数据。它需要编程语言提供权限访问控制语法来支持。例如Java中的private、protected、public关键字封装存在的意义保护数据不被随意修改,提高代码的可维护性仅暴露有限的必要的接口,提高类的易用性抽象如果说封装主要讲如何隐藏信息、保护数据...

2019-11-14 18:36:16 87

原创 设计模式、面向对象一:面向对象

什么是面向对象编程?面向对象编程是一种编程范式和编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石什么是面向对象编程语言?面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便的实现面向对象编程四大特性(封装、继承、抽象、多态)的编程语言如何判定一个编程语言是否是面向对象编程语言?如果按照严格的定义,需要有现成的语法...

2019-11-12 11:46:20 163

原创 设计模式开篇

参考文献:极客时间–>王争 设计模式为什么要学习设计模式应付面试告别别人吐槽的辣鸡代码提高复杂代码的设计和开发能力读其他源代码,学框架是事半功倍为职场发展做铺垫判断代码好坏的标准易维护性、可读性、可扩展性、简洁性、可复用性、可测试性等编程方法论面向对象现在主流的编程范式或者编程风格有三种,面向过程、面向对象、函数式编程,面向对象是最主流的。面向对象编程因为具...

2019-11-08 15:25:59 131

原创 数据结构与算法、第八篇:递归

参考文献https://blog.csdn.net/rocling/article/details/81193431极客时间王争:数据结构与算法一、什么是递归递归,就是一个函数直接或间接调用自身的一种方式,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模大小的问题来求解。举例递归----->查字典当你要查一个词,发现这个词的解释中的某个词依旧不懂,于是你开始查第二...

2019-11-07 18:26:46 364

转载 SpringMVC国际化配置

一、什么是国际化:国际化是设计软件应用的过程中应用被使用与不同语言和地区  国际化通常采用多属性文件的方式解决,每个属性文件保存一种语言的文字信息,  不同语言的用户看到的是不同的内容二、springmvc.xml的配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springfram...

2019-11-06 14:33:33 166

转载 【Spring容器】项目启动后初始化数据的两种实践方案

早期业务紧急,没有过多的在意项目的运行效率,现在回过头看走查代码,发现后端项目(Spring MVC+MyBatis)在启动过程中多次解析mybatis的xml配置文件及初始化数据,对开发阶段开发人员反复启停项目造成很大的时间浪费,也即是下面的第一种方式。1.Servlet方式@Componentpublic class InitDataServlet extends HttpServle...

2019-11-06 14:26:34 221

转载 java注解-最通俗易懂的讲解

Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来介绍专业名词。比如:Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java...

2019-11-06 14:19:01 197

原创 java压缩解压文件

tar打包、解包在java的JDK中没有原生的tar归档类,需要下载开源的包: commons-compress-1.0.jar,所以下载jar包,可以到www.findjar.com搜索并下载。//打包归档输出流org.apache.commons.compress.archivers.tar.TarArchiveOutputStream//解包归档输入流org.apache.com...

2019-10-30 16:28:23 467

原创 1024

1024,嗯,写一篇文章得个徽章,~~~~~~

2019-10-24 17:54:49 3884

原创 数学思想:4、数学归纳法

数学归纳法什么是数学归纳法对于某些使用迭代法或者递归的代码,验证的时候可以避免一步步的计算,直接从理论上证明某个结论,节约大量的计算资源和时间,这就是数学归纳法。数学归纳法的步骤证明基本情况(通常是 n = 1 的时候)是否成立假设n = k - 1 成立,再证明 n = k 也是成立的(k 为任意大于1的自然数)数学归纳和递归的关系递归调用的代码和数学归纳法的逻辑是一致的,只...

2019-10-16 15:57:14 885

原创 关于博客断更

近期反省最近一个月,过得有点浑浑噩噩,因为在公司也没什么事做,每天闲着刷知乎刷微博,长久下来 惰性就来了,我也如真香一样,写了几天博客就断更了一个月,辜负了我当初的期待。其实芸芸众生,工作日复一日,大家估计都和我一样,坚持不了几天,在原地踏步(大神与肝帝除外),所以这次立个flag,每周至少更新一篇博客(篇数大的,篇数少的不算),让我们一起进步吧。立此贴为证!...

2019-10-15 14:09:34 170 2

原创 第八篇、linux中配置安装jvisualvm监听工具

介绍jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。并且使用图表的方式监控java程序、还具有远程监控能力。配置在你的tomcat的bin目录下 startup.sh,在最后一行的前面(这个是重点,如果加在最后一行是无法读取的)export CATALINA_OPTS="$CATALINA_OPTS # 主机的地址,指的是你的...

2019-09-06 15:30:18 1567

原创 第五篇、netstat命令的用法

netstat命令的介绍Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。比如你可以确认你系统的某个服务有没有起来,或者查看某个端口有没有打开。命令的用法列出所有的连接netstat -aProto 指用了什么协议Recv-Q 指这个连接接收了多少数据...

2019-09-06 10:43:27 294

转载 第七篇、linux中tomcat的单机多实例的配置部署

转载自:https://www.cnblogs.com/mafly/p/tomcat.htmlTomcat 从何而来?先说 Tomcat 这一单词解释,如果你不是一个开发者,当然它在美国口语中并非是褒义词;如果你是开发者,那你一定听过 Web 应用服务器、Sun 公司和 Tomcat 。如你所知道那样,牛逼的公司总是推动这个世界的发展,并建立一个又一个标准,当然,在软件界 Sun 公司绝对...

2019-09-03 16:13:37 359

转载 一个tomcat有几个jvm

转载自https://blog.csdn.net/kyfxbl/article/details/119675351、一个tomcat是一个进程,其中有很多线程(与有多少个application无关)2、一个tomcat启动一个JVM,其中可以有很多application3、一个tomcat中部署的多个app,虽然同处一个JVM里,但是由于无法相互调用,所以也可以认为是分布式的Quest...

2019-09-03 16:11:13 595

原创 链表CODE:反转链表

链表反转实现效果输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL实现代码 public LinkNode reverseList(LinkNode head) { LinkNode prev = null; //翻转后新的链表 LinkNode c...

2019-08-28 14:36:18 126

原创 链表CODE:链表的实现

链表实现的技巧:理解指针或引用的含义将变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到变量。java与指针对应的是引用警惕指针丢失和内存泄漏指针操作的时候一定要注意顺序,比如:p->next = x; // 将 p 的 next 指针指向 x 结点;x->next = p->nex...

2019-08-23 18:16:11 159

原创 数组CODE:动态数组

package com.wendao.test.array;import javax.validation.constraints.Max;import java.util.Arrays;public class ArrayList<E> { //数组中元素的数量(不是数组的长度,也不是数组中最后一个元素的下标) private int size; /...

2019-08-22 15:35:48 212

空空如也

空空如也

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

TA关注的人

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