自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿笨爹的风雨拼搏路

如果连对象都找不着的话,还怎么面向对象?

  • 博客(16)
  • 收藏
  • 关注

原创 SpringBoot配置文件中文乱码问题的简便解决方案

SpringBoot配置文件中文乱码问题的简便解决方案在开发过程中我经常遇到需要在配置文件中设置中文的场景,如果让Sring或SpringBoot直接读取这些配置项的值,就会遇到中文乱码的问题。原因是Spring和SpringBoot都是通过JDK的Properties类载入*.properties类型的配置文件的,而Properties类会默认以ISO-8859-1的编码方式对配置文件进行解...

2018-07-23 17:13:42 9045 4

原创 redis执行Lua脚本报“attempt to compare number with string”错误的解决方法

最近在一段项目代码里执行一个redis脚本,脚本的作用是获取一个list键中的元素个数,并与设定值(输入参数)比较,如果元素个数小于设定值则返回。测试时发现该脚本会报"attempt to compare number with string"错误,简化的脚本如下:localhost:6379> eval "local key_len = redis.call('LLEN', KEYS...

2017-02-10 10:16:51 34506

原创 shell '++'运算符出错和let: not found错误的解决

今天将公司服务器上的脚本拿到自己笔记本上运行时出错,set -x追踪发现是在一个变量的自增运算时发生错误,出错部分的脚本大概是这样:#! /bin/sh param=0 echo $((param++))错误信息$ ./test.sh ./test.sh: 3: ./test.sh: arithmetic expression: expecting primary: ...

2017-02-08 09:13:53 8296 1

原创 Java设计模式(九)单例模式

在很多场景中,我们需要控制某些类在系统中只存在一个实例,如线程池、资源管理器等,这就需要用到单例设计模式。单例模式能够将类的实例化过程封装起来加以控制,确保只产生一个实例对象,并向整个系统提供这个实例。实现单例模式最好的方法就是让类自己负责产生并保存它的唯一实例,使用者只能获得这个实例的引用而不能创造新的实例。

2016-08-26 16:54:13 753

原创 玩转经典算法之字符串匹配(一) 问题引入和朴素的匹配算法

在文本编辑中,经常遇到要在一段文本中找出一个字符串的全部出现位置的情况,这就需要用到字符串匹配算法,典型的情况是,给定一段正在编辑的文本,用户提供一个特定的单词,然后程序需要找出这个单词在文本中的出现位置。用户给定的单词或字符串被称为模式,因此字符串匹配又被称为模式匹配。

2016-06-20 09:43:18 671

原创 Java设计模式(八) 外观模式详解

上一篇博文我们介绍了面向对象的程序设计思想中的依赖倒转原则和迪米特法则,本文介绍的外观模式正式这两个原则的最佳体现。现实中存在的许多高级系统(事件)都是由许多复杂的小系统(事件)组成的。比如理财就可以看作是一个高级系统,用户资金的投资渠道包括股票、银行、保险和不动产等,那么投资股票、银行、保险和不同产就是构成理财的小系统。一般的用户很难对股票、银行等所有投资渠道进行深入的了解,由用户自己进行理财风险较大,因此很多人选择专业的理财机构进行托管理财。这样,用户不需要了解股票、银行等金融机构的行情,只需购买相应的

2016-06-16 10:54:35 676

原创 Java设计模式(七)依赖倒转原则与迪米特法则

今天我们先介绍两个面向对象的程序设计中十分重要的两个设计原则:依赖倒转原则和迪米特法则。

2016-06-16 09:32:25 1337

原创 Java设计模式(六) 模版方法模式详解

在生活中存在着大量在某一细节层次上实现步骤相同的一些事物或过程,但是这些事物的个别或全部步骤在更详细的层次上的具体实现可能不同。举个简单的例子来说:包饺子和包混沌都具有和面、拌馅、动手包、下水煮这几个步骤,但它们的每个步骤中既有相同的元素,也有各自的特点。那么在实现这些事物时,为了提高代码的复用性、便于代码的修改和避免重复编码,我们就需要用到模版模式。

2016-06-14 23:00:49 476

原创 JavaSE学习随笔(一) Cloneable接口源码分析与技术细节

Cloneable接口是Java开发中常用的一个接口, 它的作用是使一个类的实例能够将自身拷贝到另一个新的实例中,注意,这里所说的“拷贝”拷的是对象实例,而不是类的定义,进一步说,拷贝的是一个类的实例中各字段的值。本博文将从Cloneable接口的源码入手,对其技术细节和使用方法进行详细的介绍。

2016-06-05 17:12:26 8472 8

原创 Java设计模式(五) 原型模式详解

在开发过程中,有时会遇到为一个类创建多个实例的情况,这些实例内部成员往往完全相同或有细微的差异,而且实例的创建开销比较大或者需要输入较多参数,如果能通过复制一个已创建的对象实例来重复创建多个相同的对象,这就可以大大减少创建对象的开销,这个时候就需要原型模式。

2016-06-04 16:22:49 9690 1

原创 Java设计模式(四)代理模式详解

在实际开发过程中,我们常遇需要到为一个对象在不同的地址空间创建局部代理的情况,比如说一个Web服务器可能被不同的应用使用,我们就需要在每一个应用下都创建一个WEB服务器的局部引用。又或者在创建一些开销很大的对象实例时,就需要使用虚拟代理优化性能。比如打开网页时,网页中的图片总是先先出现图片框,然后在逐渐显示出图片,此时就是用虚拟代理替代了真实的图片,仅存储了图片的路径尺寸等信息。要想实现上功能,就要用到代理模式。

2016-06-04 12:19:14 522

原创 情人节写给女朋友的小程序

今天是5情人节哈,再不解风情的人也得向女友表示表示。作为一个程序员,示爱的时候自然也要用我们自己的方式。这里给大家上传一段我在今年情人节的时候写给女朋友的一段简单的Java Swing代码,主要定义了一个对话框,让女友选择是不是喜欢自己。如果她选了“是”,皆大欢喜,如果她想选“不”,哼哼。。。看一下截图吧。

2016-05-20 09:22:08 28838 8

原创 Java设计模式(三)装饰模式详解

在开发过程中经常遇到为已有模块添加新的功能或者对某个模块进行包装等操作。我们可以用继承来实现这一目的,但是更合适的途径是采用装饰设计模式对已有模块进行功能增强。装饰设计模式可以动态的为一些对象添加额外的职能,就增加功能来说,装饰设计模式比增加子类更加灵活,本篇博文就将对装饰设计模式进行详细地介绍。

2016-05-16 12:19:27 814

原创 Java设计模式(二)策略模式详解

在上一篇博客中我们介绍了工厂模式中的简单工厂和工厂方法模式,它们较好的解决了对象的创建问题,降低了代码各模块之间的耦合性,方便了系统的改进和升级。但是,在一些需要经常改动的应用中,工厂模式需要频繁改动工厂类,以致代码需要频繁编译和部署,所以工厂模式在此场景下不是最好的方式。为了解决这个问题,GoF总结出了策略模式,本文将用一个超市收费系统详细说明策略模式的思想和实现

2016-05-14 10:36:59 625

原创 Java设计模式(一) 设计模式初探——简单工厂和工厂方法模式

在面向对象的编程中,创建对象是最基本也是最常用的一种操作,合理的对象创建方法对提高代码的复用性和降低模块之间的耦合来说极其重要,而工厂模式就是专门为合理创建对象而提出的。在GoF总结的23种常用的设计模式中,工厂模式就有3种,分别为简单工厂、工厂方法和抽象工厂,本文将结结合简单的例子对面向对象的编程、简单工厂模式和工厂方法模式进行较为详细介绍,并给出完整的代码示例,至于抽象工厂方法,我将在后续的博客中进行详细地介绍。

2016-05-13 10:15:17 3590

原创 PCA主成分分析的原理解析

原始数据中各个元素之间并不能保证完全相互独立,而这些相互关联的元素则会产生大量的冗余信息,甚至造成维度灾难,而主成分分析(principle component analysis, PCA)则是解决这一问题的一种经典算法。其目的是希望用较少的元素去解释原数据最独特的特征,并保证各个变量间的独立性。PCA选出的变量往往要远小于原数据的维度,因此PAC实际上是一种经典的数据降维和特征选择算法。

2015-10-23 20:17:16 1545 1

空空如也

空空如也

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

TA关注的人

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