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

原荐你知道么?static关键字有5种用法。

说到static,静态变量和静态方法大家随口就来,因为他们在实际开发中应用很广泛,但他们真正在使用的时候会存在很多问题,而且它的使用不只那两种:       1.静态变量。      ...【实例一】单例模式,它提供了一种创建对象的最佳方式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。...根据位置不同,代码块可以分为四种:普通代码块、构造块、静态代码块、同步代码块。ref:Java中普通代码块,构造代码块,静态代码块区别及代码示例。      ...其实在数据结构中我们把next和prev称为前后节点的指针,HashMap内部也使用了静态内部类Entry的数组存放数据。为了加深理解,读者可以亲自运行以下的代码来体会一下静态内部类。...但别着急偷懒,因为使用它过多会导致代码可读性差: import static java.lang.Math.*; import static java.lang.Integer.*; public class

1.2K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    发布系统有那么难么?

    必要性 如果一个上点规模的公司,技术团队有什么值得一做的系统,那么发布系统算一个。 jenkins用的好好的,为什么要自己搞呢?...总结下来,有下面几点原因: 1) 每个公司的流程和技术栈都是不一样的,生搬硬套,就像便秘一样不顺畅。 2) 发布系统技术开发成本不高,很容易搞。...有多简单呢?我们提供了两个人力,只花了10个工作日就全部完成了。看完本文,你要是觉得不简单,那就是我们太牛掰了(囧),毕竟也是见识过七八个高开去做同样事情的豪华阵容。... org.gitlab java-gitlab-api java开发人员对脚本不是很熟,我这里挑比较重要的点说明一下。 执行过程显示 建议使用logging模块控制。效果见下图。 ?

    92530

    指针的艺术——四种智能指针

    传统指针需要手动管理内存的分配和释放,这容易导致内存泄漏和悬空指针等问题。...为了解决这些问题,C++ 引入了智能指针,使用智能指针可以自动管理内存的生命周期,简化了内存管理并提高了代码的安全性和可维护性。 什么是智能指针?...std::auto_ptr (C 11 中已弃用) std::auto_ptr 是C++98标准中引入的一种智能指针,但在C++11中被弃用,并在C++17中被完全移除。...std::weak_ptr 只提供了对管理对象的⼀个访问⼿段,其设计的⽬的是为配合 std::shared_ptr ⽽引⼊的⼀种智能指针,目的是来协助 std::shared_ptr ⼯作。...std::weak_ptr 是对一个对象的⼀种弱引⽤,不会增加对象的引⽤计数,和 std::shared_ptr 之间可以相互转化,std::shared_ptr 可以直接赋值给 std::weak_ptr

    73110

    Kotlin 反射有个坑你们知道么!

    话说有那么一天,想写个什么框架秀一秀 Kotlin 的反射,这个框架呢,需要获取一个类型的某一个方法,然后调用之。...Kotlin 的编译器会把 String::length 这个属性映射成 Java 当中的 String.length() 这个方法,换句话说,它根本不需要实现,而更像是障眼法。...很简单,遇到这样的映射问题,通常说明这个东西就是 Java 本身的东西,用 Java 反射就好啦!...通过论坛的帖子了解到,Kotlin 的反射目前也没有做太多的优化工作,使用起来比等价的 Java 反射也要慢一些,所以使用时请大家三思。...不得不说, Kotlin 的坑,基本上都是为了兼容 Java 导致的,比如前面几篇文章提到的类型映射的问题,数据类的问题,相信在 Kotlin 后面的版本,这些问题都将不是问题~~

    1.5K20

    真的有必要写测试用例么?

    正文 今天的文章是想跟所有小伙伴讨论软件测试工作中必不可少的一项工作:写测试用例,但目前还有很多公司并不重视写测试用例,觉得写测试用例是浪费时间,还不如拿这些时间来执行测试,那我们真的有必要写测试用例么...再后来、再后来做了一个有一个的项目,有很庞大的也有很小的,有复杂的也很简单的,踩过无数坑之后,慢慢地王豆豆都始终养成了一种习惯,无论多小的功能都在把测试点梳理一下,测试场景写一下,这些就变成了王豆豆现在的测试用例...所以,软件测试人员真的有必要写测试用例么? 毋庸置疑,王豆豆的答案是非常有必要。 在写测试用例的过程中,不仅是对测试点的梳理,同时也是对测试思维的梳理。...总结起来,写测试用例有二个好处: 1.避免漏测 我们肯定都遇到过这样一种情况,有时你在做某事的时候,突然想起来一件事来,但没过几分钟你就又忘记了,后面你总是觉得好像要做什么,但就是想不起来是什么,这时最好的解决方法就是写下来...要分析出原因来,就需要了解当时的测试情况,若当时没有记录,仅凭脑想,估计很难想出当时的测试全过程,若是有了测试用例,根据测试用例的执行测试轨迹,有很大可能找出当时为什么没有测试出来的原因。

    2.2K30

    STL四种智能指针

    shared_ptr和weak_ptr则是C+11从准标准库Boost中引入的两种智能指针。...引用计数是实现智能指针的一种通用方法。...但是矩阵类的智能指针类设计思想和Point类一样啊,就不能借用吗?答案当然是能,那就是使用模板技术。为了使我们的智能指针适用于更多的基础对象类,我们有必要把智能指针类通过模板来实现。...一般来讲,解除这种循环引用有下面三种可行的方法: (1)当只剩下最后一个引用的时候需要手动打破循环引用释放对象。...虽然这三种方法都可行,但方法1和方法2都需要程序员手动控制,麻烦且容易出错。这里主要介绍一下第三种方法,使用弱引用的智能指针std:weak_ptr来打破循环引用。

    3.3K41

    MySQL 的 4 种隔离级别,你了解么?

    事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。...如果数据库系统 运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是 不一致的状态。 隔离性。...3、Mysql的四种隔离级别 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。...这四种隔离级别采取不同的锁类型来实现,若读取的是同一个数据的话,就容易发生问题。...在MySQL中,实现了这四种隔离级别,分别有可能产生问题如下所示: ? 4、测试Mysql的隔离级别 下面,将利用MySQL的客户端程序,我们分别来测试一下这几种隔离级别。

    67320

    Java中真的只有值传递么?

    Java中真的只有值传递么? (本文非引战或diss,只是说出自己的理解,欢迎摆正心态观看或探讨) 回顾值传递和引用传递 关于Java是值传递还是引用传递,网上有不一样的说法。...2、Java中只有值传递。 关于这个问题应该是存在争议的。根据测试出来的结果和我们自己的经验,以及口口相传或是上学时老师讲的,我们认为是第一种。...解析Java只有值传递的说法 只有值传递的说法 网上还流传一种说法叫Java只有值传递。网上有文章论证了Java只有值传递的说法,其中举的例子和上面的类似。 分析的很透彻,解释了上面三个例子的本质。...最后说java是值传递,而这个值是对象的引用。 看到这明白了么? 地址就是引用,那是不是可以说java是引用传递了?...因此,引用亦常被称为该数据的指针或地址。 看看引用的定义,引用是指一个XXX数据的值。好吧,引用本身就是一个值。但不是值还能是什么呢?计算机中不都是值么?

    1.8K20

    Go指针,如此轻松掌握,希望有收获

    开篇语 依稀记得大学必修课,C语言中的指针,简直是噩梦,指来指去,有没有晕乎乎的感觉,我在想是不是也因为如此,所以Java语言的开发者C才比C语言的多,Java正因为解决了C的痛点,所以今天才能变成语言排行榜占其首...Go的指针 在Go中指针有两个概念,一个指针变量是可以指向任何一个值的内存地址,指针变量也是占用存储空间的,在32位系统中占用4个字节,在64位系统中占用8个字节,与这个地址存储的值的大小没有关系指针类型指针类型和指针变量一块出现...,指的是这个指针变量的类型是什么,比如我们声明了一个 tempint=1,那么temp变量的这个类型是 int,同时指针变量也是有指针类型的,用 *T表示,T是type的意思,代表具体的类型,比如 pointTemp...值传递和指针传递go语言函数调用时有两种传递方式一种是值传递 一种是值传递,看如下代码 func ValueTransmit(){ temp := 1 fmt.Println...的方式,temp从ValueTransmit传递到method1(),是把temp重新copy了一份,methd1中修改temp是不会影响ValueTransmit中的temp 一种是指针传递,看如下代码

    59330
    领券