自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java动态代理如何使用

之前学习大话设计模式的时候就了解了代理模式,客户端显示执行的是代理的方法,其实代理实体真正执行的是被代理实体的方法,被代理实体在自己的方法中辛辛苦苦完成的功能被代理实体简单的一个调用就被实现了,这样其实就是给别人做了嫁衣。当时了解到的是静态代理模式,现在说说动态代理模式,相对而言,动态代理模式降低了耦合度,更方便了操作。并且在运行的时候才切入改变类的方法,而不需要预先定义它。代码:游戏玩家接口:public interface IGameplayer { public void l

2020-05-19 10:33:40 322 3

原创 GitLab中prometheus服务timeout超时(down)

报错down: prometheus: 1s, normally up, want up; run: log: (pid 1141) 78720s虽然prometheus服务宕机,但此时git服务器是可以登录的,操作并没有什么异常。GitLab通过Prometheus提供开箱即用的监控功能,可以轻松访问GitLab服务的高质量时间序列监控。查找错误sudo gitlab-ctl tail prometheus绿色框中的显示正常,那么我们只需要根据红框后面的错误提示进行操作即可。错误提示:

2020-05-15 15:56:25 8180 4

原创 GitLab502--postgresql服务timeout超时(down)

报错截图 因为服务器宕机,再启动gitlab时,只有postgresql服务没有正常运行。之后打开gitlab地址尝试进入,发现报错502。查找错误 查看gitlab中某一个服务错误日志代码:sudo gitlab-ctl tail 服务名称执行代码:sudo gitlab-ctl tail postgresql显示的错误结果:2020-05-14_08:46:28.64046 FATAL: bogus data in lock file “postmaster.pid”: "/opt

2020-05-14 21:28:07 7945 2

原创 Uncaught (in promise) SyntaxError: Unexpected token * in JSON at position 0--问题解决

背景:在敲前端项目时,使用到了sessionStorage,由于里面存储的包含中文汉字。所以在提取使出现了问题。问题:我在提取sessionStorage中的值时,使用的语句如下JSON.parse(sessionStorage.getItem('key'))出于习惯,我将提取到的sessionStorage里的value值又进行了JSON.parse转换。后来进...

2020-04-24 17:40:55 67550 4

原创 为什么sql语句中where后面不能直接跟分组函数?--详解

当我们错误的使用分组函数之后,mysql会报错,提示“Invalid use of group function”,这就是今天要说的问题:where后面不能直接跟分组函数。分组函数有五种count、sum、avg、max、min为什么他们不能跟在where后面?这几个函数在使用时一般都和group by联合使用,原理是先分组在进行函数计算。当然我们在平常使用时,有这种情况。...

2020-04-12 20:34:09 10269 11

原创 Vue-cli框架中计时器学习--制作倒计时

最近学习用到了计时器,因为之前学过js的计时器,有些基础,所以写了一部分,但语法方面有些问题。之后开始查资料,解决问题后记录下。首先在data数据区域声明一个time值data () { return { time: 5 }}在methods方法中构建一个TimeWatch方法methods: { TimeWatch () { const ...

2020-03-20 10:25:33 513 4

原创 Spring Boot Configuration Annotation Processor not configured 问题解决

问题背景:进行Spring Boot配置文件部署时,发出警告Spring Boot Configuration Annotation Processor not configured,但是不影响运行。问题解决方案:在pom.xml文件中引入依赖<dependency> <groupId>org.springframework.boot&l...

2020-01-21 16:22:08 103477 39

原创 Redis安装包下载、Jedis连接jar包下载

Redis安装包下载链接:https://pan.baidu.com/s/103uvg0wxBFVH0GaoKZqImQ提取码:42heJedis链接Redis的jar包commons-pool2-2.8.0.jar下载和jedis-3.1.0.jar下载链接:https://pan.baidu.com/s/1PwqQCf9kWmj17Vac0yIysA提取码:2i...

2020-01-16 17:31:42 1972 8

原创 三步实现Jedis连接Redis

一、首先下载Redis,解压后无需安装即可使用。运行Redis服务器端redis-server.exe和Redis客户端redis-cli.exe二、打开Java开发工具,导入jar包commons-pool2-2.8.0.jarjedis-3.1.0.jar三、输入Jedis连接代码 public void test(){ //获取连接 ...

2020-01-16 17:25:17 313 7

原创 Windows10清空局域网缓存密码,用其它账号密码登录

当我们访问过某一个共享的服务器之后,当再次进入时,就不用输入账号密码了。但是当我们想以不同的身份进入时,就想要删除系统已经缓存的账号密码,此时就需要弹出输入账号密码的窗口。解决办法1.搜索“cmd”,右键以管理员身份运行2.输入net stop workstation, 回复输入y3.在输入net start workstation现在再进入服务器就会...

2020-01-11 11:35:08 4785 9

原创 Tomcat部署项目三种方式 附详细步骤直白易懂

更改web项目路径方法1.将项目放在webapps目录下直接将整个项目文件放在tomcat文件中的webapps目录下即可运行tomcat后,打开网页输入网址不更改web项目路径方法2.配置conf/server.xml文件打开tomcat文件,进入conf目录,打开server.xml配置文件在标签体中配置 'Context docBase="…" path=...

2020-01-07 16:19:28 7159 6

原创 软件开发编码规范总结

意 义1. 一个软件的生命周期中,80%的花费在于维护,代码规范降低了金钱成本和时间成本;2. 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护,代码规范减少了工作交接过程中的交流成本。3. 规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的设计和代码,节约了时间,提高了工作效率。4. 良好的编码规范可以有效避免一些低级错误,赢得同事的夸奖和上司的认...

2020-01-05 15:33:09 11944 5

原创 一张图说明--桥接模式与NAT模式的差别

不废话,直接上一张简单清晰的对比图 桥接模式里虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络。如上图所示的局域网中添加了一台新的、独立的计算机一样。宿主机与vm虚拟机是平级关系。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问...

2020-01-05 10:39:05 14053 13

原创 Java线程的等待与唤醒

生产者和消费者必须使用同步代码块包裹起来,保证等待和唤醒只能有一个执行,同步使用的锁对象必须保证唯一Thread中重要方法void wait() 在其他线程调用此对象的notify()方法或notifyall()方法前,导致当前线程等待void notify() 唤醒在此对象监视器上等待的单个线程后,会继续执行wait方法之后的代码void notifyAll() 唤醒...

2019-12-23 17:17:52 749 8

原创 最新JMeter版本对Google谷歌网页的录制详细步骤

困扰了几天的问题终于解决了,之前在网上查jmeter录制网页的操作,给出的大部分都是老版本的jmeter录制,还有控制台。虽然步骤很详细,但还是有出入。用那种方法录制的成品并没有正确显示所希望的网页录制结果,而且jmeter还会报错,错误提示:ERROR o.a.j.p.h.p.Proxy: [xxxxx]。之后了解到Google插件可以录制完直接生成.jmx文件,直接导入jmeter即可。步...

2019-12-14 11:56:51 1613 14

原创 Java中List、Set单列集合的特点及使用

单列集合框架 Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素。List和Set是它的子接口List:是有序的集合,存储和取出元素顺序相同。允许存储重复的元素。有索引,可以使用普通的for循环Set:不允许存储重复元素。没有索引(不能使用普通的for循环遍历)。List详...

2019-12-13 14:13:25 967 6

原创 Java内部类分类及使用

概念:如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。内部类可以随意访问外部类,外部类只有借助内部类对象才能访问内部类。内部类分类:1.成员内部类2.局部内部类3.匿名内部类(属于局部内部类)成员内部类创建//外部类public class Body{ //内部类 Public class Heart{ ...

2019-12-12 21:59:05 185 7

原创 String与StringBuilder详解

字符串是一个常量,他们的值在创建之后不能改变。字符串缓冲区支持可变的字符串。因为String对象是不可变的,所以可以共享。String字符串地城是一个被final修饰的数组,不能改变,是一个常量。private final byte[] value;进行字符串的相加,内存中就会有多个字符串,占用空间多,效率低下string s="a"+"b"+"c"="abc";创建一个"...

2019-12-09 10:58:15 317 4

原创 图文结合java的内存划分

java的内存需要划分为5部分1.栈:存放的都是方法中的局部变量。(方法运行一定在栈中)局部变量:方法的参数,或者是方法{}内部的变量作用域:一旦超出作用域(出了大括号),立刻从栈内存中消失2.堆:凡是new出来的东西,都在堆当中堆内存里面的数据,都有默认值,规则:如果是整数 默认为0如果是浮点数 默认为0.0如果是字符...

2019-12-01 21:43:31 190 5

原创 CSS标签的权重优先级

优先级身为CSS中的三大特性之一,可以说是非常重要的。当我们给本标签的样式或者他的类名、ID以及他的父级上的样式上规定了一样的属性,那么该标签在页面上按照谁规定的来显示?这需要分两种情况分析。选择器相同这种情况下,就需要我们了解下CSS的另一个特性----层叠性层叠性:重复出现的style属性,就近原则,谁离得标签近,就最后显示谁的style属性选择器不同当标签选择...

2019-11-28 22:03:31 1247 12

原创 性能测试工具Apache JMeter简介

JMeter是什么Apache JMeter 是Apache组织的开放源代码项目,是用Java开发的一个应用,用来进行压力测试和性能测量的。JMeter最开始只能进行Web应用测试但后来扩展到其它测试领域。JMeter能够很好的支持各种常见接口,如HTTP(S)、WebService、JDBC、JAVA、FTP等,并以多种形式展现测试结果。1.JMeter可以用于对静态的和动态的资源的性能...

2019-11-27 21:09:16 818 5

原创 jmeter安装报错Not able to find Java executable or version. Please check your Java installation.

错误提示解决步骤1.我的电脑右击属性2.选择高级系统设置,3.在高级中选择环境变量4.给系统变量中的path添加%SystemRoot%\system32和%SystemRoot%重新运行即可...

2019-11-24 10:18:06 739 8

原创 JavaScript中事件的追加与移除

JavaScript中本来是不支持事件的追加和移除的,但是我们可以通过自己的编写代码来实现。这用到了闭包那闭包是什么?闭包就是内部函数用到了外部函数的参数或变量 外部函数的返回值是内部函数的调用接下来是代码 var eventHelper = (function () { var kv = {}; ...

2019-11-12 11:17:36 252 6

原创 使用SqlParameter时参数为什么要设置长度

SqlParameter的作用是用来传参,以及防止sql语句注入的。以前在连接数据库时,我都是像这样做的。new SqlParameter("@name",name)//D层代码public class Dao { private SQLHelper sqlhelper; public Dao() { sq...

2019-10-22 11:39:14 801 5

原创 C#利用第三方平台实现短信验证消息功能

在最近合作开发过程中有用到验证码验证信息这个功能的需求,于是开始找短信服务的第三方平台,最后找到了网建短信通平台。其实实现过程很简单,先在该平台上注册用户后,它会给你五条免费的短信可使用。我们要连接第三方平台就需要它的API接口,接口代码在他的官网平台上已经给出,我用的是C#的,如下图所示。//需要用到的命名空间using System.Net;using System.IO;usin...

2019-08-17 14:58:31 698 14

原创 MSI与ZIP后缀文件区别

MSI 文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。通过安装给出的提示,用户只需要进行选择即可,各种配置文件都是已经安装好的,适合刚接触的人使用。ZIP 文件是压缩文件,需要自己配置,同一个下载软件的ZIP文件要比MSI文件大。...

2019-08-03 16:08:57 3524 8

原创 机房重构七层总结

UI层:表现层与用户进行交互的,可以通过注释让用户看得懂我这段代码是用来干什么的,进行功能展示,具体功能是如何操作的那就是后面层的是了。而且这一层尽量减少判断,所谓人活一张脸,树活一张皮,代码也是,U层就一定要干净整洁,那必不可少的判断可以通过传参给B层来处理Facade层:外观层用来连接U层和B层,用来提供一个一致界面的,减少耦合。BLL层 :业务逻辑层针对具体问题的操作,对数据业务逻辑...

2019-08-02 10:14:40 220 7

原创 C#限制控件内容只允许输入数字

找到该控件的KeyPress事件,在该事件内写入代码即可完成 if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键 if (e.KeyChar == (char)46) e.KeyChar = (char)0; if (e.KeyChar == (char)44) ...

2019-08-01 09:22:23 804 4

原创 c#在有无Picture控件下设置button、label等控件的背景色为透明

Label透明设置1.无picture控件更改Label属性BackColor为Transparent2.有picture控件①更改Label属性BackColor为Transparent②在需要运行的事件中填写代码Label.Parent=Picture;Button透明设置1.无picture控件更改Label属性BackColor为Transp...

2019-07-31 16:55:42 472 6

原创 清空窗体内控件内容的代码(已封装)

目的:新建一个清空类,进行打包,想要随时可以调用清空的代码,减少代码冗余。在C#Windows窗体中,如果不用容器,单纯的以窗体为整体来清空控件内的文本信息,我没有尝试成功,最后还是用到了Panel容器控件 public void Clear(Panel panel) { //清空的是容器上的控件 foreac...

2019-07-31 16:27:23 1355 6

转载 存储过程作用以及优缺点

一、什么是存储过程:存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。二、为什么要用存储过程呢?存储过程真的那么重要吗,它到底有什么好处呢?存储过程说白了就是...

2019-07-21 10:33:50 1344 12

原创 当前上下文中不存在名称“ConfigurationManager”---解决办法步骤详解

在c#源代码中使用 ConfigurationManager 这个类,虽然引用了using System.Configuration这个包,但是编译时还是报错:错误 CS0103: 当前上下文中不存在名称“ConfigurationManager”。解决方法: 右键当前项目引用 点击添加引用 点击程序集 并找到Sys...

2019-06-18 10:30:21 5110 6

原创 详谈归并排序时间复杂度过程推导----软考

归并排序方法就是把一组n个数的序列,折半分为两个序列,然后再将这两个序列再分,一直分下去,直到分为n个长度为1的序列。然后两两按大小归并。如此反复,直到最后形成包含n个数的一个数组。归并排序总时间=分解时间+子序列排好序时间+合并时间无论每个序列有多少数都是折中分解,所以分解时间是个常数,可以忽略不计。则:归并排序总时间=子序列排好序时间+合并时间如果假设一个序列有n个数的排序时间...

2019-04-29 11:57:24 6559 21

原创 详谈直接插入排序、冒泡排序时间复杂度过程推导----软考

想了解时间复杂度首先要将排序过程弄懂。直接插入排序首先有一组n个数的数组。我们进行升序排列。先选前两个数进行比较,进行升序排列组成一个有序序列。然后每次从数组后面的无序序列中拿一个数进行比较。找到合适位置插入。最好情况数组本来就是升序数组,每趟排序只需要做一次比较,并且不需要移动元素。n个元素就只需要比较n-1次即可。举例说明:1、2、3、4、5、61与2比较,2...

2019-04-29 10:04:54 1789 6

原创 程序(进程)在操作系统中是如何存储、分配空间的

一段高级的程序语言代码要经过编译、链接、装入才能进入内存,程序运行时创建进程链接:将编译后的目标模块链接成一个可执行程序。有静态链接和动态链接之分。静态链接:在程序运行前,将目标模块链接成一个完整的装入模块需要做的两个任务:1.修改逻辑地址 2.变换外部调用符号优缺点 优点:...

2019-04-17 10:27:43 9274 6

原创 线程、进程、程序的根本区别与联系

进程与程序的区别:程序是静态的,进程是动态的程序是永久的,进程是暂时存在的程序是指令的集合,进程是包括了正文段、用户数据段和进程控制块的实体程序是一个名词。进程是一个动词,是一段过程。进程与程序的联系:进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序的代码一个程序可以对应多个进程。同一个程序可以在不同的数据集合上运行,因而构成若干个不同的进程...

2019-03-10 09:09:40 1715 15

原创 原型模式(创建型模式)深复制与浅复制区别

定义原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象浅复制:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然只想原来的对象。通俗的来说:对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用,不复制引用的对象。深复制:把引用的变量指向复制的新对象,而不是原有的被引用的对象。通俗的来说:对值类型的成员变量进行值的复制,...

2019-02-19 09:00:54 813 21

原创 实例化对象与堆、栈的关系

以C#代码来举例讲实例化首先创建一个person,里面有sex属性class person{ private string sex; public string Sex { get {return sex;} set {sex=value;} }}当我实例化person类为p,给属性赋值时Person p=ne...

2019-02-17 20:30:07 1707 14

原创 IList、List、ArrayList区别

背景最近在学习大话设计模式时,遇到了关于list的一系列问题,于是就想搞清楚。 List与IList区别IList是一个接口,定义了一些方法List是一个泛型类,它已经实现了IList定义的那些方法如果只是作为集合数据的承载体,那么这两个是没有区别的。但是一旦与方法联系起来,IList就不能使用了。因为IList是一个接口,里面并没有多少可调用的方法。而List使用就非...

2019-01-22 21:31:07 618 30

原创 C#中特殊的引用类型string不同方面

下面对比来看区别string string s1 = "aaaa"; string s2 = s1; Console.WriteLine("s1:" + s1); Console.WriteLine("s2:" + s2); s1 = "bbbb"; ...

2019-01-20 10:02:21 808 16

空空如也

空空如也

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

TA关注的人

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