我是攻城师

457 篇文章
57 人订阅

全部文章

我是攻城师

数据结构与数据类型的区别,联系,本质?

数据结构与数据类型相信我们并不陌生,在日常开发中天天都能接触到,但如果要让你解释一下它们的本质区别和联系,你是否能准确的描述呢?

1633
我是攻城师

数据结构之(树)

在计算机科学中,树(英语:tree)是一种非线性的抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0...

851
我是攻城师

关于Java中的assert关键字

Java中有一个不太常用的关键字assert,是jdk1.4中加入的,平时开发中见的很少,不过在一些框架的源码里面的测试类里面,出现过不少它的踪迹。

1082
我是攻城师

关于Java里面volatile关键字的重排序

第一条可见性比较容易理解,就是使用volatile修饰的共享变量,如果有一个线程修改了值,其他的线程里面是立即可见的。原理是对volatile变量的读写,都会强...

902
我是攻城师

为什么Java里面String类是不可变的

在Java里面String类型是不可变对象,这一点毫无疑问,那么为什么Java语言的设计者要把String类型设计成不可变对象呢?这是一个值得思考的问题。

683
我是攻城师

如何扩展python的logging组件支持json日志输出

这两天在优化公司一个python的项目,顺便研究了一下如何将python日志转成json格式,原来在Java的项目中搞过类似的事情,知道日志转成json之后有很...

532
我是攻城师

如何将编程语言里面的字符串转成数字?

其他的编程语言就不一一列举了,使用工具类进行转换人人都会,所以并不重要,重要的是我们要来学习下它底层是如何转换的,先上我用Java实现的一段代码如下:

772
我是攻城师

为什么单线程Redis性能也很出色

高性能的服务器,不一定是多线程实现的,也就是说多线程不一定比单线程效率高,这得分具体的情况。以redis为例,核心处理请求的线程只有一个,所以我们常常理解其仅仅...

1133
我是攻城师

python重试组件tenacity介绍

在开发python项目时,不可避免的会用到一些重试功能,比如数据库和网络重连,或者其他的一些异常方法重试等等,有些组件可能自带了重试功能,但有些组件可能没有带就...

872
我是攻城师

什么是线程安全?

线程安全在多线程编程时是一个比较重要的概念,我们下先来看下维基百科是如何定义这个概念的:

601
我是攻城师

操作系统之CPU知识扫盲

CPU的英文全称是(Central Processing Unit),中文意思翻译中央处理器,是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件...

1541
我是攻城师

为什么编程语言中数组的下标总是从0开始?

昨天看到一个有意思的问题,为什么在我们遇到的大多数编程语言里面,数组的下标基本都是从0开始?

1012
我是攻城师

多线程协作打印ABC之ReentrantLock版本

我们介绍了在Java里面使用synchronized + wait/notifyAll实现的多线程轮流打印特定的字符串,输出的结果如下:

843
我是攻城师

一次ArrayList的使用不当导致线上jstorm任务启动失败的案例

最近一次的的项目版本迭代中,我们的jstorm项目里面增加了一些新的功能,开发完毕后,按照正常的上线流程,代码是需要在开发,测试和预发布环境,测试完毕后才能上线...

1032
我是攻城师

多个线程如何轮流打印ABC特定的次数?

这类问题其实并不难,只要掌握了Java里面线程协作和锁的知识,就可以轻而易举的搞定:

1443
我是攻城师

什么是水塘抽样算法(Reservoir Sampling)

给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都不可知,如何在只遍历一遍数据(O(N))的情况下,能够随机选取出这组数据的k个概率相等的均匀抽样。

802
我是攻城师

什么是回调函数(CallBack)

在计算机程序设计中,回调函数,或简称回调(call),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。

2226
我是攻城师

各种IO复用模式之select,poll,epoll,kqueue,iocp分析

上篇文章,我们介绍了Java IO框架的演变,其实编程语言的IO实现是依赖于底层的操作系统,如果OS内核不支持,那么语言层面也无能为力。任何一个跨平台的编程语言...

1601
我是攻城师

关于Java的BIO,NIO和AIO的演进

Java里面的IO模型种类较多,主要包括BIO,NIO和AIO,每个IO模型都有不一样的地方,那么这些IO模型是如何演变呢,底层的原理又是怎样的呢? 本文我们就...

901
我是攻城师

关于拷贝对象引用到local变量的一些思考

在JDK的Java类源码里面,很多工具包的代码都有在使用某个成员变量之前,先拷贝该变量的对象引用到方法的局部变量之中,如下:

872

扫码关注云+社区