首页
学习
活动
专区
工具
TVP
发布

技术与生活

专栏作者
21
文章
17234
阅读量
11
订阅数
设计模式-装饰者模式
说明下: Component,给出一个抽象接口,规范实现类的一些方法; ConcreteComponent:具体的一个组件,实现了接口方法; Decorator:抽象的装饰者,对接口的一个引用,在 method 方法里面使用这个引用完成任务;(代理模式需要实例化) ConcreteDecorator:具体的装饰者,对抽象装饰者的抽象部分进行实现
breezedancer
2018-09-12
4500
从一条曲线谈损失函数优化方法
找到生成最小值的一组参数的算法被称为优化算法。我们发现随着算法复杂度的增加,则算法倾向于更高效地逼近最小值。我们将在这篇文章中讨论以下算法:
breezedancer
2018-09-12
7840
深度学习之卷积
今日休假,把卷积神经网络梳理下。先从一些基本概念入手,什么是卷积?为什么叫这么个名字? 搜索了一遍,网上有很多人已经表述的非常好了,这里用自己理解的语言重述下。
breezedancer
2018-09-12
4060
Lambda 深入浅出
非常简单,那么问题来了,如果这个时候需求变动,要求选择的是红色的并且重量大于10的,那么怎么办。小 case,不就一行代码的事
breezedancer
2018-09-12
3680
设计模式-代理模式
以上属于静态代理,比较简单。与之对应的是动态代理,在运行时间内创建代理对象,JDK提供了 Proxy 和InvokationHandler 来处理 首先构造动态代理类
breezedancer
2018-09-12
3350
Annotation 使用案例
Java 的 annotation 自 JDK1.5就拥有了,主要作用就是给代码打标注,这个系列文章将从头到尾进行一个梳理,当然不仅仅是 Annotation,也包括他的解析;一些比较常见的做法,百度谷歌一搜一大把的就再赘述。
breezedancer
2018-09-12
9660
自定义类加载器和动态加载 Java 代码
有时候,我们需要 java 像脚本一样的运行,甚至是希望我们的代码是热部署,一旦代码文件发生变动就重新加载这个代码,能实现吗?今天就来试着解决下。
breezedancer
2018-09-12
1K0
java 对象池技术
1、为什么用对象池 在 java 中,对象的生命周期包括对象创建、对象使用,对象消失三个时间段,其中对象的使用是对象真正需要存活的时间,不好修改,该用的时候还得使用啊。对象的创建和消失就得好好控制下了。对象的创建是比较费时间的,也许感觉不到,好比一个赋值操作int i=1,也是需要耗时的,在比如构造一个对象,一个数组就更加消耗时间。再说对象的消除,在 java 里面使用 GC 来进行对象回收,其实也是需要对对象监控每一个运行状态,包括引用,赋值等。在 Full GC 的时候,会暂停其他操作,独占 CPU。所以,我们需要控制对象的创建数量,也不要轻易的让对象消失,让他的复用更加充分。
breezedancer
2018-09-12
2.1K0
设计模式-状态模式
一个对象的行为取决于一个或者多个动态变化的属性,这些属性叫做状态,比如订单的支付状态;而这些订单状态的值是预先知道的,已支付、未支付;当订单在客户操作过程中可能会改变支付状态,订单从未支付到已支付,就形成订单真正成功下单。
breezedancer
2018-09-12
4770
设计模式-享元模式
享元模式从字面上翻译是“蝇量级模式”,其实并不太好理解。这个模式的作用就是在一个系统当中有很多很多的对象,而这些对象很相似,有细微地方不同,单数数量太大,影响系统性能,为了避免系统中出现大量相同或相似的对象,同时又不影响客户端程序通过面向对象的方式对这些对象进行操作,享元模式横空出世。
breezedancer
2018-09-12
2910
设计模式-桥梁模式
为了充分理解上面的含义,举个例子来说明,假如市面上电视和遥控器来自不同产家,遥控器要实现针对每个不同的电视需要不同的遥控器,那么我们可能看到如下的结果
breezedancer
2018-09-12
3860
设计模式-模板方法模式
这里的抽象类就是抽象模板类,定义一个或者多个抽象方法,迫使子类来完成。同时定义一个模板方法,该方法一般情况下是一个具体方法,给出模板方法的执行过程,里面调用抽象方法。
breezedancer
2018-09-12
2410
设计模式-观察者模式
软件系统很多时候需要这样的情况,一旦发生故障,就通知对应的系统或模块,使之能够及时处理。
breezedancer
2018-09-12
4720
设计模式-迭代子模式
多个对象聚集在一起形成集合的概念,所以集合对象也叫容器,包含 n 多对象的池子一样。集合对象需要提供一些方法,使得可以顺序访问内部对象。集合对象常见的问题分为两类,一是把一种集合对象转换为另外一个集合对象,由于集合对象各自的遍历集合不同,这里就需要修改客户端代码了(违背开闭原则);二是集合本身不变,迭代方法改变,这个时候需要修改集合对象。这两个问题都涉及到需要修改代码,也就违背了开闭原则(能够在不修改代码的情况下对功能进行扩展,开闭原则其实是需要把不变的与易变的进行分割)。针对这样的问题,在客户端和集合对象之间增加一个迭代子这么一个中间层,使得客户端和集合对象之间由直接变成间接,降低耦合力度。
breezedancer
2018-09-12
3850
设计模式-责任链模式
看下具体的代码: 先把抽象处理者写出来,他是一个抽象类或者接口,这里使用抽象类,每个处理者给一个名字 name 属性
breezedancer
2018-09-12
4570
设计模式-命令模式
Client:确定具体的命令和接受者; Command:抽象命令接口,一般是接口类或者抽象类 ConcreteCommand:具体的命令执行,调用接受者 Invoker:请求者,把命令封装进行请求,调用 action 方法 Receiver:接受者,被具体的命令调用,一般任何类都可以担当
breezedancer
2018-09-12
5600
设计模式-备忘录模式
备忘录角色对如何其他对象提供一个接口,也就是宽接口的话,那么备忘录角色存储的内部状态都暴露给其他对象。这种情况导致发起人的状态都没看到,是破坏封装性的,只能通过程序猿的自律。先来看下宽接口。
breezedancer
2018-09-12
3960
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档