自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式之总览

1 设计模式的分类设计模式一般来说可以分为三大类:创建型模式、结构型模式、行为型模式。具体来说,可以有如下细分。创建型模式有:单例模式简单工厂、工厂方法、抽象工厂模式建造者模式原型模式结构型模式:适配器模式装饰器模式桥接模式组合模式享元模式代理模式外观模式行为模式:观察者模式模板方法模式命令模式状态模式责任链模式解释器模式终结者模式访

2017-11-20 19:59:59 450 1

原创 Spring中的@Responsebody和@RequestParam

一、前台向后台传参数的方式前台传参数的三种方式: 路径传参数、get传参数、body传参数(post)1. 路径传参数,用@PathVariable@RequestMapping(value = "user/login/{id}/{name}/{status}")@ResponseBodypublic User login(@PathVariable int id, @PathV...

2018-11-18 18:32:52 910

原创 java代码规范

一、常见的编码规范日志打印用 log.error(msg,  e),需要将程序捕获的异常也打印处理 当方法的返回值为List对象的时候,如果程序执行出错不建议return null; 也不建议返回一个空的List,建议使用Collection.emptyList() 循环中至多使用一个break,一个continue,避免程序写的太复杂,降低可阅读性。 不要在程序中直接抛出一个Excep...

2018-11-18 17:38:13 189

原创 java项目开发过程过程的一些约定

 一、项目目录的约定一般来说,项目可以按照功能模块来划分目录,或者按照其所属层级划分目录两种方式。一个功能模块应当可以划分为以下几个层级:entity   数据库对应实体 bean     其他实体,例如请求、响应对象实体 mapper   mybatis对应的数据库接口 controller 页面请求转发控制层,接受请求,响应请求,不做业务处理 service  服务接口,包...

2018-11-18 17:13:53 435

转载 js的数据类型

原文转自js数据类型js的数据类型有:字符串、数字、布尔、数组、对象、Null、UndefinedJavaScript 拥有动态类型JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:实例var x // x 为 undefinedvar x = 6; // x 为数字var x = "Bill";...

2018-11-04 17:51:04 119

转载 强化学习之Q-learning

强化学习的一个实例增强学习Reinforcement Learning经典算法梳理3:TD方法on-policy和off-policy的区别知乎on-policy和on-policy的区别sarsa和q-learning的区别Q-learning的最大化偏置问题(Maximization Bias)1 on-policy与off-policy的本质区别更新Q值时

2018-01-08 10:24:30 1453

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

1 定义适配器模式,将一个类的接口转换成为客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。UML类图:2 通用代码interface Target{ public void Request();}class Adaptee{ public void SpecificRequest(){ System.out.

2017-11-28 10:52:52 173

原创 设计模式之原型模式

1 定义原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。UML类图为2 通用代码package DesignPatterns;public class Prototype { public static void main(String[] args) throws CloneNotSupportedException {

2017-11-27 16:12:25 214

原创 设计模式之建造者模式

1 定义建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式又叫生成器模式,使用建造者模式,用户只需关心需要建造对象的类型,而具体建造的过程和细节无需知晓。UML类图为:建造者模式的4个角色:产品类:具体产品,有多个模块(部件)构成抽象的建造者:提供构建一个产品所需的抽象模块(部件),规范产品的组建。具体的建造者:

2017-11-24 17:12:11 221

原创 设计模式之简单工厂、工厂方法、抽象工厂

1 简单工厂简单工厂模式是可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类,因为是通过静态方法返回一个具体的实例对象,所以它也称为静态工厂模式。这种模式的角色有:抽象产品具体产品具体工厂UML类图为:2 工厂方法3 抽象工厂

2017-11-23 14:39:19 268

原创 设计模式之单例模式

1 单例模式单例模式指的是一个类仅有一个实例,并提供一个访问它的全局访问点。它的类图为2 创建方式2.1 饿汉式package DesignPatterns;public class Singleton2 { // 饿汉式 private static Singleton2 instance = new Singleton2();

2017-11-21 15:45:14 159

原创 Java中的hashcode 和 equals

Object 类中equals方法的默认实现为:public boolean equals(Object obj) { return (this == obj);}可以看出内部直接用 == 来比较两个对象是否相等,equals 方法实现必须满足一下几条规则:自反性、对称性、传递性、一致性、非空性It is reflexive: for any non-nu

2017-11-12 22:45:02 163

原创 java Object的clone方法,浅拷贝与深拷贝

在Java中,可以使用两种方式创建一个对象:一是使用new关键字;二是使用clone方法复制一个对象。clone 方法在创建一个对象的时候分两步,首先根据对象的类型分配内存,然后复制给定对象的各个域到新对象中,从而完成一个对象的创建。这个域(类的成员变量)如果是基本类型,则拷贝的是值,如果是引用类型,则拷贝的是对象的引用。看一下下面程序:package 优快云;public cl

2017-11-12 21:34:07 523

原创 序列化Parcelable 和 Serializable

Serializable 是java提供的一个序列化的接口,所以只需实现这个接口就可实现序列化和反序列化,但是注意一点,要在实现的类中添加一个字段serialVersionUID;public class Student implements Serializable { private static final long serialVersionUID = 99L;

2017-11-08 11:42:13 157

原创 最长公共子序列LCS

最长公共子序列LCS,java版本举个栗子: "abcd" 和 "padcbd" 的最长公共子序列为 acd或者abd,长度为3状态转移方程:dp[i][j] = dp[i-1][j-1] + 1 , if x[i] == y[j] = max{dp[i-1][j], dp[i][j-1]}, if x[i] != y[j]dp[i][j]表示字符串

2017-10-17 15:38:12 173

原创 连续子数组的和为指定值的最大长度

连续子数组的和为指定值的最大长度例如:arr = {3,4,1,7,8},和为15的最长子数组为{3,4,1,7}arr34178sum3781523index01234每次把(sum, i)存入一个map,当然sum不能被覆盖,每次遍历的时查找 sum-

2017-10-16 16:53:39 1945

原创 旋转数组的最小数字

旋转数组的最小数字题目原文把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:i始终指向前面有序数组,j始终指向后面一段有序数组,运用二分查

2017-10-16 15:15:14 183

原创 判断一个树是否是另一个树的子树

判断一个树是否是另一个树的子树package ZHIHU;public class Main20171009004 { /** * 判断一个树是否是另一个树的子树 */ private static class Node{ int value; Node left, right; Node(int value){ this.value = value;

2017-10-09 16:08:27 555

原创 在一个数组中找两个数,使得它们的和为一个指定的数

package ZHIHU;public class Main20171009003 { /** * 在一个数组中找两个数,使得它们的和为一个指定的数 */ /* * 在数组有序的情况下,时间复杂度O(n), 空间复杂度O(1) * 这里只找出一对满足条件的两个数 */ private static void search(int[] arr, int ai

2017-10-09 15:28:04 1112

原创 两个有序的链表合并

package ZHIHU;public class Main20171009001 { /** * 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的 */ public static void main(String[] args) { ListNode head1 = new ListNode(); head1.value = 1;

2017-10-09 14:32:26 213

原创 单链表逆序

package ZHIHU;import ZHIHU.Main20170930_001.Node;public class Main20171009002 { /** * 单链表的逆置 */ private static class Node{ int value; Node next; } private static Node reverse(Node h

2017-10-09 11:29:02 193

二维码生成与识别

二维码生成与识别技术研究

2015-09-22

空空如也

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

TA关注的人

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