关于
关于
这是一个自定义页面,你可以在后台的 页面 -> 自定义页面 找到它,你可以用于新建关于页面、联系我们页面等等。
了解更多
关于
这是一个自定义页面,你可以在后台的 页面 -> 自定义页面 找到它,你可以用于新建关于页面、联系我们页面等等。
了解更多精选文章
这是你的默认分类,如不需要,删除即可。
钩子:36 篇讲完了,可它们还是散的 36 篇,从"JDK 和 JRE 有什么区别"一路写到线程安全、JVM 内存、垃圾回收。 这一路我们是一篇一个点往前推的。好处是每个点都讲透了;坏处是——学完你手里攥着 36 个知识点,却说不清它们互相是什么关系。 哪个先学哪个后学?哪块是地基?哪块卡住了会连累
钩子:C 语言程序员的"忘 free 恐惧" 写 C 语言的人有一条铁律:malloc 申请的内存,用完必须自己 free。忘了?内存泄漏,程序越跑越肥,直到哪天崩给你看。 而 Java 从第一篇到现在,你 new 了成千上万个对象,一次 free 都没写过,程序也没见越跑越肥。 凭什么?因为 JV
钩子:一行代码,两个世界 你已经写过几十遍这行代码了: Person p = new Person("小明", 18); 问一个从没人问过你的问题:这行代码产生的东西,存在内存的哪个位置? 答案是:p 和 new Person(...) 根本不住在同一个地方。而且这事如果你不搞清楚,后面两个最吓人
钩子:两万次加法,少了一万多 第 8 篇留过一个线头:i = i++ 之后 i 还是老值。当时说那是单线程里的坑。 今天把它搬到两个线程里,事情会离谱得多。我做了一个实验:两个线程,各对同一个变量执行一万次 count++。 你猜结果是多少?按直觉应该是 20000。 双线程结果: 12945(期望
钩子:你的程序是条独木桥 回想第 3 篇:Java 代码从 main 方法开始,一行行往下执行。下载没下完,后面全部干等——一步卡,步步卡。 真实的软件不是这样的:微信能一边收消息一边传文件,浏览器一边加载网页一边播视频。秘密就是——它们不止一条执行流水线。 线程 = 一条独立的执行流水线。 一个进
钩子:Java 不懂你的业务 Java 内置异常一大堆,但没有一个叫"年龄不合法",也没有一个叫"余额不足"。 于是新手常写: if (age < 0) { throw new IllegalArgumentException("年龄不能为负数"); } 能用,但有两个代价:调用方 cat
title: 7 行换 3 行:Java 关资源的终极优雅写法 slug: java-30 cover: images/30-资源关闭三种姿势对比图.png summary: 上篇说"用完必须 close",但你实际写起来是这样的: tags: - Java - Java基础 - try
钩子:你的程序是个"金鱼" 到现在为止(第 29 篇了),我们写的所有程序有个共同点:没有记性。 变量存在内存里,程序一关——全没了。你做的单词计数器、通讯录,下次打开又是白纸。 因为内存是"临时工",硬盘才是"档案馆"。想记住东西,就得把数据从内存搬到硬盘——中间那根搬运管道,就叫 IO 流。 核
联系
这是一个自定义页面,你可以在后台的 页面 -> 自定义页面 找到它,你可以用于新建关于页面、联系我们页面等等。