关于
关于橙码酱
你好,我是橙码酱 一个独立开发者。 白天写代码,晚上把踩过的坑、理清的概念、顺手好用的工具记下来。写得不算快,但每一篇都是自己真的用过、真的踩过才动笔——毕竟糊弄别人的东西,最后都会回来糊弄自己。 我在做什么 主要内容是 Java 基础系列的整理,从 JDK 和 JRE 的区别一路写到 JVM 内存
了解更多
关于
你好,我是橙码酱 一个独立开发者。 白天写代码,晚上把踩过的坑、理清的概念、顺手好用的工具记下来。写得不算快,但每一篇都是自己真的用过、真的踩过才动笔——毕竟糊弄别人的东西,最后都会回来糊弄自己。 我在做什么 主要内容是 Java 基础系列的整理,从 JDK 和 JRE 的区别一路写到 JVM 内存
了解更多精选文章
这是你的默认分类,如不需要,删除即可。
钩子:36 篇讲完了,可它们还是散的 36 篇,从"JDK 和 JRE 有什么区别"一路写到线程安全、JVM 内存、垃圾回收。 这一路我们是一篇一个点往前推的。好处是每个点都讲透了;坏处是——学完你手里攥着 36 个知识点,却说不清它们互相是什么关系。 哪个先学哪个后学?哪块是地基?哪块卡住了会连累
先看一条报错,装过 Java 的人一半都见过它: ```text C:\Users\你> javac Hello.java 'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 ```  奇怪的是,`java -v
钩子: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
联系
你好,我是橙码酱 一个独立开发者。 白天写代码,晚上把踩过的坑、理清的概念、顺手好用的工具记下来。写得不算快,但每一篇都是自己真的用过、真的踩过才动笔——毕竟糊弄别人的东西,最后都会回来糊弄自己。 我在做什么 主要内容是 Java 基础系列的整理,从 JDK 和 JRE 的区别一路写到 JVM 内存