自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随心而笑

热爱生活,热爱学习

  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spring统一异常管理

在基于Spring、SpringMVC的Java Web项目,我们需要处理各层抛出的异常,并对其进行处理,而不能让这种异常直接抛到页面,造成非常不好的用户体验。 一般方式是,在编码过程中,认为会产生异常的部分,我们用try{}catch语句进行异常捕获,并根据异常类型,返回对应的视图或Json数据。这是一种最直接,却不那么便捷和有效的方式,例如它不能捕获Controller层抛出的部分非逻辑代

2017-04-11 14:46:05 3081

原创 fileupload插件调用upload.parseRequest(request)解析得到空值问题

在基于Spring、SpringMVC的Java Web项目,我们需要处理各层抛出的异常,并对其进行处理,而不能让这种异常直接抛到页面,造成非常不好的用户体验。 一般方式是,在编码过程中,认为会产生异常的部分,我们用try{}catch语句进行异常捕获,并根据异常类型,返回对应的视图或Json数据。这是一种最直接,却不那么便捷和有效的方式,例如它不能捕获Controller层抛出的部分非逻辑代

2017-02-19 22:36:56 41151 19

原创 IDEA下从零开始搭建SpringBoot工程

SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: (1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形式上来说,SpringBoot完全抛弃了繁琐的XML文件配置方式,而是替代性地用注解方式来实现,虽然本质来说,是差不多的(类似包扫描,注解扫描,类加载之类)。 (2)SpringBoot集成

2017-02-15 20:00:14 195250 61

原创 Java设计模式之适配器模式

适配器模式,其一般应用场合为系统打补丁。可以用以下这个例子说明:你家的自来水系统(原系统)水管直径都是5cm,原来你家的洗衣机进水口也是5cm,刚好可以将家里的水管接入到洗衣机里,这样用着挺好。可突然有一天,你家原来的洗衣机坏了,市面上能买到的洗衣机进水口都是3cm(新业务)的,这怎么办呢?一般情况下,我们不会把家里运行良好的自来水系统管道来个大改造来适应你这个新洗衣机,而是买个转接器(适配器),一

2017-01-18 16:23:45 815

原创 Shiro的两种配置方式

Apache Shiro是一款Java 安全框架,可以用于完成认证、授权、加密、会话管理、与Web集成、缓存等功能。根据官方文档,我这里列举出两种常用的配置方式,一是ini文件配置,二是spring xml文件的配置方式。 二者的配置,基本都是针对Shiro的以下几个常用组件:securityManager,cachManager,Realm,以及对应的链接拦截规则(urls)。 1.

2017-01-10 18:01:04 7146

原创 决策树分类器-Java实现

决策树模型,其基本思想类似于if else的结构,即满足什么条件则将它判定为某一类,而这里的决策树的深度就类似于if else的深度。 决策树的问题焦点在于,对于一个拥有多维数据特征的数据点,如何选择合适的分类依据。例如一只鸡(两条腿,有翅膀,没有脚蹼。。。),一只鸭(两条腿,有翅膀,有脚蹼。。),等等,现在来了一只奇怪的生物(两条腿,有翅膀,没有脚蹼。。),如果先根据腿或翅膀来判断的话,根本

2017-01-05 15:22:09 4056 1

原创 KNN分类器-Java实现

KNN,即K近邻算法。其基本思想或者说是实现步骤如下: (1)计算样本数据点到每个已知类别的数据集中点的距离 (2)将(1)中得到的距离按递增顺序排列 (3)选取(2)中前K个点(即与当前样本距离最小的K个已知类别的数据点) (4)统计(3)中得到的K个点所在类别的出现频率 (5)返回(4)中出现频率最高的类别作为样本点的预测类别 在给出具体实现代码之前,说明一点

2017-01-05 14:42:35 2351

原创 Java图片读取之BufferedImage得到像素矩阵的两种方式

最近在尝试着采用Java在图像处理领域实践一下常用的机器学习算法。首先涉及到的是如何将一副图片读取到一个像素矩阵中(Java中就是一维或二维数组中)。在实践过程中,通过测试代码,我发现基于BufferedImage可以有两种获取像素矩阵的方式,但需要注意像素点的保存顺序问题。 具体表现在:本例中的图片是一副彩色图片(博客头像),大小为425*292,即宽度(Width)为425,高度(Heig

2016-12-29 16:19:35 35115 2

原创 微信开发之发送消息接口

发送消息,是指用户公众号向用户发送相应形式的消息。根据微信开发文档,由以下四种形式:被动回复,群发接口,客服消息接口以及模板消息接口。本文将基于Java语言以及个人微信测试号,说明被动回复、客服消息接口以及模板消息接口的使用实现,群发接口并未涉及。 1. 被动回复 被动回复只能应用于在接收到用户的互动数据之后,才能向用户发送消息。这一部分较为简单,正式进行微信开发的第一步就是,在公众号中基本

2016-12-23 16:53:57 37277 4

原创 Java网络请求(get/post)工具类实现的两种方式

基于HttpClient实现基本思路都是一样的,通过HttpResponse实例获得请求返回的数据体,具体数据封装在HttpEntity对象中。/** * Created by Song on 2016/11/28. * 基于HttpClient提供网络访问工具 */public final class NetUtil { public static CloseableHttpCl

2016-12-23 10:38:18 8832

原创 微信调试之页面缓存问题

在微信开发时,常常通过微信公众号菜单或微信扫一扫进入移动页面,这个时候如果你修改了对应的CSS或者JS文件,然后在微信里访问修改过后的页面,往往页面效果还会停留在之前的某个版本上,这就是微信页面缓存问题。很早就碰到过这个问题,现在我把有效的两种解决方式写在下面: (1)直接在引用改动频繁的CSS文件或JS文件的链接后面,增加一个无用参数,如这里的saasd,后面的值如果是JSP里面可以直接用随

2016-12-21 15:38:50 7350 2

原创 Java Properties文件读写设计

凡是中文乱码问题,都是字符读写的编码格式不统一的问题。 一般情况下,便于统一字符编码格式,所有文件读写格式均设为utf-8模式,这些地方包括数据库字符存储格式,源代码文件编码格式,资源文件编码格式,前端页面编码格式,网络IO流字符编码格式等。 鉴于以上前提,本文着重关心的是properties资源文件的读写。下面所展示的封装类功能包括: (1)读取资源文件中的值(处理了同一个资源文

2016-11-14 21:21:06 1937

原创 微信开发之客服消息接口使用异常

微信开发,参考其官方接口文档微信开发者文档,其中消息管理部分定义了后台与微信用户的消息交互接口。 通常情况下,用户在公众号界面上的操作,包括发送消息,点击菜单等,对后台而言,都可将之视为一次简单的请求,作为请求的响应,后台程序,可以直接向用户返回各种形式的消息,这种向用户发送消息的形式被称为发送被动响应消息。然而有另外一种情况,即用户的操作并不是基于公众号界面,例如,用户在网页上抽奖或者消

2016-11-12 15:29:17 10595

原创 微信开发之微信支付相关算法实现

微信开发中,涉及到微信支付流程较为繁琐。其中以微信红包为例,参考官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3。调用微信支付链接中,有以下三个字段,需要依据相关算法要求生成。分别是签名(sign),订单号(mch_billno)以及随机字符串(nonce_str)。下面用J

2016-11-08 22:33:32 6746

原创 Servlet Mapping 中/ 和 /*的区别

首先它们的共同点在于:作用都是用于拦截http://ip:port/context下的所有请求 不同点在于:(1)/ 模式下,Servlet不会拦截 .jsp(仅限于此,.html仍会被拦截)格式的请求;而 /* 模式才是真正意义上的拦截所有形式的请求。 (2)在 /*模式下,通过调用HttpServletRequest 对象的getPathInfo()方法,将得到不包含context名称的访问

2016-11-07 22:13:35 7653 1

原创 Java设计模式之策略模式

策略模式是一种及其简洁明了的模式,下面直接摆出它的定义: Define a family of algorithms, encapsulate each one, and make them interchangeable. 即定义并封装一组算法,并保证他们可以相互替换。 其含义在于,不同的策略之间是相互平等的,可以相互替代,这一点可以由接口或抽象类实现。而其封装性,则体现在类似代

2016-10-28 20:14:42 501

原创 Java设计模式之访问者模式

访问者模式常用于:业务规则要求遍历多个不同的对象。基于这一点,我们来理解访问者模式,就要容易许多。 其定义为:Represent an operation to be performed on the element of an object structure. Visitors lets you define a new operation without change the cla

2016-10-28 16:36:24 656

原创 Java enum关键字用法小结

enum 指枚举类型,但其与C语言的用法,是有很大不同的。在C语言中,我们一般用enum来定义一组相关的常量。而在Java中,enum能做的事,可远远不止于此。 要了解Java中的enum如何用,只需要明确一点,每个enum元素都是其类的static final实例。除了一些细节不同之外,我们几乎可以把enum修饰的代码块就看做是一个普通的类,而其中的元素就是其static final的实例对

2016-10-25 10:12:47 4015 1

原创 Java设计模式之责任链模式

责任链模式的设计思想,在于采用“链传递”的模式,将同一类请求,交由一条“责任链”上的多个功能模块进行处理,每个功能模块作为责任链上的一环,请求在链上按照既定顺序依次传递,直到找到一个能够处理该请求的功能模块。在这种模式下,我们能够迅速的在一条责任链中扩展出新的环,从而适应项目对同一类请求的新的处理要求。一种典型的应用环境是,对web应用,通常有VIP用户和普通用户的注册请求,其实这同属于一种请求,只

2016-10-23 21:37:50 440

原创 Java设计模式之命令模式

命令模式下的Java功能模块划分主要有以下三个部分,一是调用者,二是命令,三是执行者。通常情况下,调用者通过执行其action()方法,完成某一功能,而action()方法的具体实现,由具体的命令类和执行者类来实现。这种模式要实现的功能在于,对功能模块的封装,使得上层调用者仅需根据命令的不同,来执行命令,而不需要知道命令实现的细节。 首先来看命令模式的类图关系: 类图可以这样来解释:最底

2016-10-21 21:17:51 407

原创 多线程IO阻塞中断

关于Java多线程IO阻塞如何中断的问题,基于一个基本条件,关闭任务发生阻塞的底层资源问题,可以中断该多线程任务。对于IO阻塞问题,给出了两个示例,一个是Socket IO,关闭掉Socket IO之后确实可以中断;另一种是System.in ,这种情况下关闭System.in,仍然不能使线程任务发生中断。测试代码如下(这种情况下,只能使用nio才可以):/** * Created by Song

2016-10-18 16:22:38 1515

原创 java并发临界资源管理

所谓的并发,一般是指基于多处理器硬件环境的,允许系统在同一时刻执行多件不同的任务逻辑,在单处理器硬件环境下,一般是按照时间片轮转的调度方式,实现宏观意义上的并发,而事实上,在同一个时间点上,仍然只有一件任务在运行,我习惯把这种并发看成“伪并发”,以下所讲的并发临界资源管理,是基于多CPU硬件环境的。即在同一时刻,正在运行的不同CPU可能会访问一些共用的资源,而临界资源管理需要做的就是保证,这些资源的

2016-10-16 16:27:22 2303

转载 MySQL 用户管理

MySQL添加用户、删除用户与授权 MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户  1.1 登录MYSQL:  @>mysql -u root -p  @>密码  1.2 创建用户:  mysql> insert into mysql.user(Host,User,Password) values(“localhost”,

2016-10-11 15:21:46 292

原创 java设计模式之代理模式

在代理模式中,主要有两类角色,一是被代理类(RealSubject),二是代理类(Proxy),他们都为同一个抽象主题接口(ISubject)的导出类。从功能上来说,被代理类在设计时,关注该类的核心功能,而代理类则主要关注处理不同代理者之间不同功能的差异或是一些准备工作。打个比方说,客户(被代理类)只需要阐明自己的官司起因原由以及个人诉求,而交由律师(代理类)处理文件呈交等一系列法律程序问题。一个法

2016-10-09 21:29:42 288

原创 CentOS下搭建java web运行环境

之前在自己的虚拟机和为实验室合作的公司所购置的云服务器上搭建了两次java web环境,现在自己也购置了一台云服务器,反复用到这些,就决定把这些步骤都写下来,免得每次都要重新去找那些命令。至于选择CentOS的原因,我的理由是公司项目大多采用的是RedHat版本的Linux作为服务器系统,而RedHat是收费的(当然你也可以破解,然而也是基于CentOS),所以因为没钱,又想基本和大部分公司的项目发

2016-10-08 20:04:20 5819 2

原创 java interface 的几点默认规则

interface中定义的方法和成员变量,默认为public访问权限,且仅能为publicinterface中的成员变量默认为public static final类型,可通过接口名或者实现类名或在实现类中直接调用。一个定义接口的java文件中,interface最多只有一个public,可包含多个不含访问权限修饰词的接口,这些接口的访问权限为包内访问。不能用protected以及private

2016-10-06 15:54:16 7526 1

原创 微信开发之access_token之坑

首先不得不提到access_token的分类,一是普通access_token,二是网页授权access_token。其中前者是用于调用微信提供的各种借口,作为开发者的调用凭证,一般有效期为7200S,获取次数受限;另一种是第三方网页若需要使用用户微信账户登录,需要获取该access_token从而来获取用户微信账户信息。这个一定得区分开。 另外获取用户微信账户信息也有两种情况,一是普通的

2016-09-21 21:32:37 25439 4

原创 Median of Two Sorted Arrays

**question:**There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1: nums1

2016-09-11 15:41:40 380

原创 java设计模式之模板方法模式

定义:Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s stuct

2016-09-06 19:20:08 270

原创 java自增策略小陷阱

首先,来一段小程序,我们先猜猜运行结果是怎样?/** * Created by Song on 2016/8/29. * 自增长测试 */public class Main { public static void main (String [] args){ int num = 0; for (int i =0; i<10;i++){

2016-09-01 16:38:53 834

原创 java设计模式之抽象工厂模式

定义:*Provide an interface for creating families of related or dependent objects without specifying their concrete classes. 即为一组相关或相互依赖的对象提供一个实例化接口,而且无需指定他们的具体类。说白了,相对于之前提到的工厂方法模式,抽象工厂模式在创建对象实例时无需传入任

2016-09-01 11:07:44 554

原创 java设计模式之工厂方法模式

**定义:**Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. 也就是说,我们定义一个接口用于创建对象,但让子类去决定实例化哪一个

2016-08-31 17:09:16 271

原创 java设计模式之装饰模式

定义:Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality. 简而言之就是,在保持同一个功能接口不变的情况下动

2016-08-31 15:31:13 386

原创 java设计模式之观察者模式

定义:该模式也成为发布订阅模式,定义如下: Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. 也就是说,在对象之间建立起一种一对多的关系使得该对象自身状态发生

2016-08-30 21:30:18 348

原创 java设计模式之原型模式

首先来看其定义specify the kinds of objects to create using a prototypical instance, and create new objects by coping this protype。一句话总结就是采用复制已有对象实例来产生新的对象实例就被称为原型模式。 java系统中,一个类可以通过复制实现生成新的对象,必须继承Cloneab

2016-08-29 21:13:46 388

转载 IntelliJ IDEA 设置 自己的live template

具体步骤:1、点击File–》Setting–》Live Template,点击右侧的+号,选择Template Group 2、输入MyGroup(你也可以输入其他自定义的名称),然后点击OK。3、选中MyGroup之后,再次点击右侧的+号,选择Live Template4、点击第四步的Define,选择EveryWhere(就是在哪些文件中生效),也可以值选择相应的文件中http://ima

2016-08-29 15:57:40 10394

原创 java设计模式之单例模式

单例模式是最为简单地一种模式,其定义为:Ensure a class has only one instance, and provide a global point of access to it. 一句话就是说,确保某一个类仅仅只有一个实例化对象,并提供全局访问接口。 一个符合单例模式的类,其类图通常如下: public class Singleton { priva

2016-08-29 15:51:47 449

原创 java设计模式大纲

根据书籍《设计模式之禅》,个人在学习基于java的相关设计模式,并将学习中的心得与个人理解写于此处,希望大家批评指正。(后面逐步同步所有学习感想链接)单例模式工厂方法模式 抽象工厂模式模板方法模式建造者模式代理模式原型模式中介者模式命令模式责任链模式装饰模式策略模式适配器模式迭代器模式组合模式观察者模式门面模式备忘录模式访问者模式状态模式解释器模式享元模

2016-08-29 14:56:35 591

原创 java web --fileupload插件网页文件管理

导言:在实际web 项目中,我们常常会碰到这种情况,在后台管理平台上,后台管理人员需要上传一些文件,例如促销活动图片以及活动文案文件到服务器上,然后推广到产品宣传首页,完成动态部署产品相关销售活动的功能。通常,在大流量情况下,我们会考虑把文件存放到单独的文件服务器上,利用第三方分布式文件系统完成相关文件服务器的部署工作,例如我个人做过利用FastDFS+Solr+zeroMQ框架完成了从服务器端到客

2016-08-26 11:03:58 1598

原创 爬虫入门--按关键字爬取网络图片

网络爬虫第一站,我参考一些资料,写下了个人的第一个简单地网络爬虫程序,麻雀虽小,五脏俱全。 该爬虫程序的功能是,根据输入的图片关键字以及所要的图片数量,从百度图片上下载设定数量的对应主题图片,并保存到本地对应文件夹中。开发过程中涉及到的网络爬虫知识,主要有以下几个方面,一是python基础知识,二是python urllib2库的使用,三是实际爬取过程中出现的各种网络错误及解决方法,四是win

2016-08-26 10:41:56 2862 2

NI系列软件破解注册机

安装完成NI旗下软件之后,运行该注册机,选中对应产品,右键激活即可

2017-04-14

多功能数字钟FPGA完整工程

多功能数字钟代码 基于Basys2实验板 ISE开发环境 verilog 编程语言 实验已经下载验证通过

2013-12-22

空空如也

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

TA关注的人

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