• Java高效编程:避免创建不需要的对象

    一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。重用的方式既快速,又流行。如果对象是不可变(immutable)的(第 17 项),那么就能重复使用它。

    2021-09-01 67
  • Java高效编程:固定资源首选使用依赖注入

    如果有一个类依赖一个或多个底层资源的类,并且底层资源类影响了类的行为,不要使用单例或静态实用程序类来实现它,并且不要让类直接创建这些资源(do not use a singleton or static utility class to implement a class that depends on one or more underlying resources whose behavior affects that of the class)。相反,将资源或工厂传递给构造函数(或静态工厂或构建器)。这种做法称为依赖注入,将极大地增强类的灵活性,可重用性和可测试性

    2021-08-25 88
  • Java高效编程:通过私有构造器强化不可实例化的能力

    有时候你会想要编写一个只包含一组静态方法和静态字段的类。这种类名声很不好,因为有些人为了避免使用面向对象的思维方式而滥用这样的类(some people abuse them to avoid thinking in terms of objects),但是他们确实有它们特有的用处。我们可以使用这种类,以java.lang.Math或者java.util.Arrays的方式对原始值或数组的相关方法组织起来。它们还可以用于以java.util.Collections的方式,把实现特定接口的对象上的静态方法(包括工厂:第 1 项)组织起来。(从 Java 8 开始,你也可以将这些方法放在接口中,假设它是你自己修改的)。最后,这些类可以用于将final类的方法组织起来,通过这种方式用来取代扩展该类的做法。

    2021-08-24 87
  • java高效编程:用私有构造器或者枚举类型强化 Singleton 属性

    Singleton 指仅仅被实例化一次的类 [Gamma95]。Singleton 通常代表无状态的对象,例如函数(第 24 项)或者本质上唯一的系统组件。使类成为 Singleton 会使它的客户端测试变得十分困难,因为除非它实现了作为其类型的接口,否则不可能将模拟实现替换为单例。

    2021-08-16 378
  • 编程基础:MySQL表锁、行锁和页锁

    MySQL 按锁的粒度可以细分为行级锁、页级锁和表级锁。

    2021-08-13 584
  • Java高效编程:当面临多个参数的构造器时考虑使用构建器

    静态工厂和构造器有个共同的局限性:他们都不能很好地扩展到大量的可选参数。考虑用一个类表示包装食品外面显示的营养成分标签。这些标签中有几个域是必需的:每份的含量、每罐的含量以及每份的卡路里,还有超过 20 个可选域:总脂肪、饱和脂肪量、转化脂肪、胆固醇、钠等等。大多数产品在某几个可选域中都会有非零的值。

    2021-07-22 197
  • Java高效编程:考虑静态工厂方法而不是构造函数

    类允许客户端获取实例的传统方法是提供公共构造器。还有一种技术应该是每个程序猿的工具箱的一部分。一个类可以提供一个公共静态工厂方法,它仅仅是一个返回类实例的静态方法。下面是布尔(基本类型 boolean 的包装类)的一个简单示例。这个方法将一个布尔原始值转换成布尔对象引用

    2021-07-20 272
  • 缓存技术之缓存穿透

    正常情况下用户请求一个数据时会携带标记性的参数(比如id),而我们的缓存key则会以这些标记性的参数来划分不同的cache value,然后我们根据这些参数去查缓存,查到就返回,否则回源,然后写入cache服务后返回。 这个过程看起来也没什么问题,但是某些情况下,根据带进来的参数,在数据库里并不能找到对应的信息,这个时候每次带有这种参数的请求,都会走到数据库回源,这种现象叫做缓存穿透

    2021-06-16 509
  • Java编程:Spring 中的事件处理

    Spring 的核心是 ApplicationContext,它负责管理 beans 的完整生命周期。当加载 beans 时,ApplicationContext 发布某些类型的事件。例如,当上下文启动时,ContextStartedEvent 发布,当上下文停止时,ContextStoppedEvent 发布

    2021-05-28 408
  • Java编程:Spring Bean的生命周期

    在 Spring 中,Bean 的生命周期是一个很复杂的执行过程,我们可以利用 Spring 提供的方法定制 Bean 的创建过程。当一个 Bean 被加载到 Spring 容器时,它就具有了生命,而 Spring 容器在保证一个 Bean 能够使用之前,会进行很多工作。

    2021-05-17 381
  • 网络编程:Java NIO浅析

    NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。

    2021-04-22 954
  • 网络编程:WebSocket和Socket.io之间的区别

    WebSocket是一种通信协议,它通过TCP连接在客户端和服务器之间提供双向通信。WebSocket始终保持打开状态,因此它们允许实时数据传输。当客户端向服务器触发请求时,它不会在接收到响应时关闭连接;因此,客户端不会关闭连接。而是保留并等待客户端或服务器终止请求。 Socket.IO是一个库,可用于在客户端和Web服务器之间进行实时和全双工通信。它使用WebSocket协议提供接口。通常,它分为两个部分;WebSocket和Socket.io都是事件驱动的库。

    2021-04-15 845
  • 数据库编程:MySQL的sql_mode模式说明及设置

    MySQL的sql_mode合理设置 sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题. sql model 常用来解决下面几类问题   (1) 通过设置sql mode, 可以完成不同严格程度的数据校验,有效地保障数据准备性。

    2021-04-09 461
  • 数据结构:常用的数据结构

    在计算机科学的发展过程中,数据结构也随之发展。程序设计中常用的数据结构包括数组,栈,队列,链表,树,堆,散列表。

    2021-03-17 829
  • TIOBE 3 月榜单:将新增编程语言属性、趋势等功能

    Tiobe发布了最新的开发语言排行榜,Java,Python等稳稳的占据了前五名,还在犹豫学什么编程语言?看看编程语言排行榜,了解更多编程语言知识,

    2021-03-11 671
  • 数据结构:数据结构分类

    数据结构分为逻辑结构和物理结构。 逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。 物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构。

    2021-03-10 519
  • 设计模式:过滤器模式(Filter Pattern)

    过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。

    2021-03-09 827
  • 设计模式:建造者模式(Builder Pattern)

    建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的

    2021-03-04 606
  • 设计模式:责任链模式(Chain of Responsibility Pattern)

    责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

    2021-03-03 674
  • 设计模式:代理模式(Proxy Pattern)

    在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。

    2021-03-02 589
共有43条内容,3页
  • 公司新闻
  • 行业新闻
  • 就业新闻

提交信息
*温馨提示:华信智原尊重并保护您的隐私*

24小时报名热线

400-7777-699

报名热线:400-7777-699

微博

微信公众号

友情链接 :智原在线   美味学院   安徽新华电脑   安徽新华教育

华信智原(官网)|京ICP备09028087号-8|咨询热线:400-7777-699|地址:北京海淀区北三环中路44号院爱工场文化教育产业园|版权所有:北京华信智原教育技术有限公司
在线报名 学费详情 开班信息 职业护航 视频下载

小小华想和您聊一聊