Java

java并发系列——底层CPU

java并发有诸多难点,实际上并非java语言本身的问题,本质上说一部分是因为并发操作本身的问题,另外一部分是因为计算机体系结构带来的。为了更好地理解java并发过程中的问题,我们应该对CPU有一些基础的认知。 CPU 在信息时代,CPU是我们耳熟能详的一个概念,大家都知道CPU就是计算机的大脑。计 .........

浅谈JVM内存分配与垃圾回收

大家好,我是微尘,最近又去翻了周志明老师的《深入理解Java虚拟机》这本书。已经看了很多遍了,每次都感觉似乎看懂了,但没过多久就忘了。这次翻了第三章的垃圾收集器与内存分配策略,感觉有了新的认识,整理一下分享出来。 内容有点多,并且我没怎么配图,一方面是懒,一方面是我想如果在没有图的情况下你都能看懂, .........

dart系列之:你的地盘你做主,使用Extension对类进行扩展

简介 一般情况要扩展一个类,需要继承这个类,这是在大多数java或者其他面向对象语言中要做的事情。 但是有些时候扩展类并不是特别好用,首先在有些语言中,有些类是禁止被扩展的。即使可以被扩展,但是扩展之后的类是一个新的类,而不是原来的父类,所以在使用的过程中可能会出现一些类型转换的问题。 那么在dar .........

JavaScript中var与let的异同点

var是JavaScript刚出现时就存在的变量声明关键字,而let作为ES6才出现的变量声明关键字,无疑两者之间存在着很大的区别。那么具体有哪些区别呢? 1.作用域表现形式不同,var是函数作用域,let是块级作用域 { var monkey='熏悟空'; let pig='猪扒盖'; } con .........

上线稳定性如何保证?开关编程很有用

大家好,我是架构摆渡人。这是实践经验系列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。 在日常工作中,无论是一周一个迭代,还是两周一个迭代,都避免不了上线的环节。唯一的区别就是上线的频次不同而已。那么我们如何保证在这么高频次的发版里面同时保证稳定性呢 .........

java与c# tcp通信中文乱码

1、java中中文字符串转换为byte[]是负数 2、C#中中文字符串转换为byte[]是正数 3、两中转换隔着256呢,你根本就没有处理,得到的还是乱码 提供方案: 将含中文字符串的数据先进行base64转码,.........

Java 关键字之 final

欢迎学习 Java 基础文章系列之 final 关键字 final 代表什么意思? final 通常是指无法被改变或者不能被改变的,什么情况下不想被改变呢? 不想改变可能有两种原因:设计或者效率。 在Java中 final 关键字会在哪几个地方使用到? 有三种地方使用:数据(成员变量、参数)、方法、 .........

面试官疯了吗,问我为什么浮点数不精确?

很多人都知道,Java 中的浮点数并不精确,需要用 BigDecimal进行精确计算,但是,很少有人知道为什么浮点数不精确呢?不精确为什么还要用呢?本文就来展开分析一波; 我们知道,计算机的数字的存储和运算都是通过二进制进行的,对于,十进制整数转换为二进制整数采用"除2取余,逆序排列"法 具体做法是 .........

如何反转链表?超详细图解,看这一篇就够了!

有如下链表: 要求对链表进行反转,反转后的链表如下: 题目解析 反转链表,就是将链表中每一个节点的 next 引用指向其前驱节点。链表默认自带一个引用,这个引用指向了头节点,记为 n1。首先尝试将 n1 的 next 引用进行反转: 可以发现,① 的 next 引用指向了空,由于 ① 切断了指向 ② .........