coding-java
java vo dto bo po do 区别
普通
java-se-jvm
- macOS 系统使用 Java 命令运行项目,报错:target/XXX-1.0-SNAPSHOT.jar 中没有主清单属性 - CuriousZero - 博客园
- java
- ej-technologies - JProfiler
知乎收藏夹
面试
-
国内 Java 面试总是问 StringBuffer,StringBuilder 区别是啥?档次为什么这么低? - 知乎
-
阿里巴巴大淘宝技术 - 阿里技术专家详解 DDD 系列 第一讲- Domain Primitive - 知乎
- 概要: None
- 点赞: 1129
-
锦恢 - 为什么我学个 JAVA 就已经耗尽所有,而有些人还能同时学习多门语言? - 知乎
- 概要: 我见过两类人,这两类人学习新编程语言都非常快(都在半天内从零学习并开始使用 java 写软件)。他们很好地代表了两种思维模式,最终殊途同归。我下面简单讲讲这两类人的作品和爱好,以及一些别的什么的。 第一类人 DFS:深度优先学习。以我本科的技术挚友为例,那家伙只用 C++,高中时用 C++写了一个 GUI 框架 PAL_GUI,包括其中的光栅化,染色,图层判断等等操作都是自己实现的。本科课设别的同学用 QT 写课设,他用自己的框架写软…
- 点赞: 3106
-
- 概要: javac(从 Java 源代码编译到 class 文件的编译器):纯 Java。Java 标准库:超过 ⅔ 是 Java,⅕ 是 C/C++/Obj-C,剩下的 ⅛ 是汇编。 虚拟机/运行时(用于提供 GC、线程调度等运行时功能),传统的 HotSpot JVM 是由 C/C++/汇编混合实现,而 native-image 使用的 Substrate VM 是由 Java 实现,包括 GC 在内的功能全部用 Java 重写了。JIT 编译器(运行时将字节码编译为机器码):较老的 HotSpot C1/C2 编译器由 C/C++/汇编混…
- 点赞: 202
-
读书摘录分享 - 为什么 javaer 认为后台系统一定要用 java 开发? - 知乎
- 概要: 借用一位已经离世的老前辈的话: 左耳朵耗子的话 [图片] Java 适合做业务层,Go 适合做中间件、Rust 适合做系统层。只是适合,并不是一定要。2. 为什么你发现 Java 代码写不烂,因为它有 框架保证。3. 按照项目规模,把场景分成 0 到 1、1 到 10、10 到 100,大规模的项目,用 Java 最好。 这是老前辈的网站: 关于陈皓 | 酷 壳 - CoolShell
- 点赞: 438
-
黄枣颖 - 为什么依赖注入只在 Java 技术栈中流行,在 go 和 cpp 没有大量使用? - 知乎
- 概要: 众所周知,绝大多数没有使用依赖注入的人,都是直接使用全局变量来代替依赖注入。 然而,业界达成的共识却是: 全局变量是万恶之源对于不喜欢 Java 那种依赖注入的人,在不使用全局变量的前提下,往往都是手动进行依赖注入。 我以前也是无法理解依赖注入的好处,直到团队开始贯彻落实 TDD 测试驱动开发规范,要求代码覆盖率达到 75%以上,然后看到很多之前的代码,必须需要打桩才能编写用例,我才突然意识到: 代码打桩的本质就是最糟…
- 点赞: 305
-
- 概要: 我向 OpenJDK 提交了代码,解决中文输入法候选框不能跟随光标移动的问题(github,用我的名)。结果拖拖拉拉,一年多也没接受。具体链接如下: https://github.com/openjdk/jdk/pull/13055 我搞泰山 OFFICE 时,对 JDK 做了大约 20 处改动(专门为泰山 OFFICE,所以应该都是全网首次解决)。为了长久之计,呼吁成立中国 JDK 联盟。与官方同步的同时,自己发布中国的改进版本。头目们也拖拖拉拉,泰山 OFFICE 解散啦。。。 咱也不是空口无凭、信口开河,以下是我提交…
- 点赞: 1481
-
- 概要: 1. 体会异步并发的奥妙以小红书笔详页面渲染为例,抽象一个简单的业务场景: [图片] public NoteDetail getNodeDetail(String noteId) { Futrue
userFuture = threadPool.submit(() -> queryUserInfo(noteId)); Futrue noteFuture = threadPool.submit(() -> queryNoteInfo(noteId)); Futrue commentFuture = threadPool.submit(() -> queryCommentInfo(noteId)); NodeDetail noteDeital = NoteDetail… - 点赞: 132
- 概要: 1. 体会异步并发的奥妙以小红书笔详页面渲染为例,抽象一个简单的业务场景: [图片] public NoteDetail getNodeDetail(String noteId) { Futrue
参考资料
- 李二 - 如果你被人说写的代码一股 java 味,很伤心,破防了,该怎么办? - 知乎
- 概要: 今天在咖啡馆坐着,刚好遇到一个小哥哥看起来很帅,电脑前面一堆代码在滚动,我心想“这不就是传说中的程序员高富帅吗!居然和我是同行!”兴奋地挪了过去,想凑近看看他写的是什么代码。小哥哥很友善,一边写代码一边和我聊着程序员的日常,谈到各种新兴编程语言。他突然好奇地问我:“你写什么语言的?” 我微微一笑,心想这还用问,当然是程序员中的主流——Java。正准备自信满满地告诉他时,小哥哥先开口了:“你不会是写 Rus…
- 点赞: 1221
Spring 项目
-
<后端初学者>Spring Boot 返回 JSON 数据及数据封装在项目开发中,接口与接口之间、前后端之间的数据传输都 - 掘金
-
spring-boot-starters 里为什么没有代码_spring-boot-starter 里面没有代码-CSDN 博客
-
Spring,Django,Rails,Express 这些框架技术的出现都是为了解决什么问题,现在这些框架都应用在哪些方面? - 知乎
-
bravo1988 - java 中什么是装饰者模式? - 知乎
- 概要: 我用 Java 集合容器举个例子你就明白了。 设计一个 Collection Framework 假设你是 JDK 的作者,你设计了 Collection Framework。 [图片] [图片] [图片] 这些容器仅仅具备 数据读写的功能,无法支撑以下场景:高并发场景下可能产生线程安全问题 Java 存在泛型擦除机制,客户程序可以在运行时通过反射写入非限定元素有时需要返回不可变容器如果让你来优化,该怎么做? 误用继承继承常常被误用,甚至很多糟糕的设计就是源于最初“不假思索”的继承。 比如,为了让…
- 点赞: 36
-
华复 - 如何看待《我的世界》Java 版性能超越基岩版? - 知乎
- 概要: 我以前在知乎上说过一个观点。 你做 microbenchmark,做理论的性能分析,你会觉得 Java 不可能比 C++快。生成的代码就是会差一点,没有值对象就是会慢,启动就是会卡。 但在实际工程中,实际的 Java 工程并不会比你改用 C++慢。这背后有一些复杂的原因。 比如 Java 默认做 JIT,而 C++默认 AOT。很多人都以为 AOT 比 JIT 快,其实这是误解。AOT 和 JIT 各有千秋。如果没有 PGO 配合,AOT 在某些较为动态代码上,会慢一大截。而 AOT 做 PGO 很麻烦,JIT 做 PGO…
- 点赞: 262
-
TopGeeky - 最近看到有人说,List
是卡车装钉子,编程界之耻,如何理解? - 知乎 - 概要: 这句话说的,确实没有错。 说到这一点,就必须讲一下 Java 为什么走向这条“耻辱之路”。 首先声明的是,Java 的类型擦除不是技术的选择,而是不得不选择的耻辱方案。 你以为当时的 Java 不想搞真泛型? 实际上,并不是实现不了。 Pizza,1996 年的实验语言,在 Java 的基础上扩展了泛型。 也就是说,Pizza 在 JDK 1.0 的版本上就实现了“真正意义上的”泛型,我引过来两段例子,你一看就明白了。 [图片] 那么为什么这种“真正意义上的泛型”…
- 点赞: 101
-
- 概要: 第一阶段:loop free 强迫自己不写循环。即:总是用 map,filter,fold,group 等等这些完全替代 loop,看看极限在哪里。 这个阶段的语言选择相对自由,现今的流行语言(py,js,甚至 java)大多都已经支持 first class function 了所以不存在问题选啥都行,很多人对函数式编程的理解也长期停留在这一阶段,但是没关系因为达成这一点已经是 FP 小圈子的巨大胜利了 第二阶段:pointfree 强迫自己不写孤立的函数实现,而是用组合已…
- 点赞: 1785
-
剽悍一小兔 - 为什么我推荐初学者要死磕 Java 基本功 - 知乎
- 概要: 刚入行那 5 个月,我活得像个“配置搬运工”。 每天对着 SSM 的 xml 文件复制粘贴,
标签配了一堆,@Controller@Service 注解贴得飞起,增删改查写得溜熟。同事夸我上手快,我自己却慌得一批——为什么context:component-scan能扫到 Bean?为什么@Transactional 加个注解就有事务了?为什么 Mapper 接口不用写实现类也能跑?这些问题像蚊子叮在后背,挠不着、甩不掉。直到一次线上 bug,事务没生效,我对着满屏配置文件翻了一下午,… - 点赞: 37
- 概要: 刚入行那 5 个月,我活得像个“配置搬运工”。 每天对着 SSM 的 xml 文件复制粘贴,
JVM
Simple JVM 自己实现的简单的 JVM
-
圆胖肿 - 为什么 JAVA 有一堆大厂会去魔改 JVM,却没有几家搞.NET 的公司会去魔改 CLR? - 知乎
- 概要: 标准 java 最大的魔改就是:安卓(上的 java) 从安卓上 Google 魔改 java 吸取到的教训就是:别改 我之前在跟群安卓交流,就很明显啊,标准 jdk 的有些功能,安卓上的 java 没有,而且落后得越来越多,给我感觉,光靠 Google 自身,都有点跟不上 jdk 发展的脚步 就比如,这几个功能,openjdk 都已经下发生产至少一年以上了,但是安卓上的 java 还没有,或者要引入第三方类库来实现 第一个:ffm,就是 jni 的加强版,性能更好,而且代码更少,或…
- 点赞: 226
-
- 概要: 我写了一个简单 Java 版本的 JVM,实现了 99%的字节码指令,可以运行一些 Java 程序。 代码量只有 6 千多行,非常简单易读。这个对于只熟悉于 Java 语言的小伙伴初步学习 JVM 运行原理太好不过了。 haidnorJVM 这个 JVM 可以非常友好的在控制台上打印出 JVM 栈和指令的运行过程。对于学习 JVM 运行原理很有帮助。 public class Demo5 public static void main(String[] args) { String str = method1("hello world"); method1(str); } pu…
- 点赞: 770
banner
- Spring Boot banner.txt generator
- IMG2TXT: ASCII Art Made Easy!
- ASCII Generator
- Text to ASCII Art Generator (TAAG)
废弃回答
-
在推荐自己写的仓库,没啥看头:
Chuck1sn - 为什么 Java 要求越来越高? - 知乎 -
星辰大海 - JAVA自己写什么功能可以提升技术? - 知乎
- 概要: 1、 聊天工具 。 2、Web服务器。 3、写编解码器。 4、写开发框架。 5、写分布式锁。看看下面这个开源框架,已经把以上的功能都涵盖了。 https://github.com/tinystruct/tinystruct 收藏了你也不大会看,那就顺便点个赞呗!没想到收到了这么多的赞。为了感谢大家,那我再详细介绍一下原因: 首先,聊天工具。这个涉及到网络编程,Java的NIO或者Netty框架的使用。处理并发连接,线程模型,可能还要了解协议设计,比如TCP/IP或WebSocket。这能提升对Java…
- 点赞: 494
-
花宝宝 - Spring Boot 项目启动时的效率如何? - 知乎
- 概要: 项目越做越大,Spring Boot启动时间从几秒变成了30多秒。 本地开发改一行代码等半分钟,效率太低了。花了两天时间优化,最终降到3秒,分享一下过程。 一、定位启动慢的原因1.1 开启启动日志# application.yml logging: level: org.springframework.boot: DEBUG1.2 使用Spring Boot Startup分析Spring Boot 2.4+自带启动分析: @SpringBootApplication public class Application { public static void main(String[] args) { Spri…
- 点赞: 72
-
架构师专栏 - 为什么在netty的眼里jdk的许多实现都不是非常高效? - 知乎
- 概要: 哈,这问题问得不错,直接戳到痛点了。我跟你说,Netty这帮家伙,简直是程序员届的那种鸡贼典型,啥都要搞得又快又省,还偏要说JDK那些默认实现不行。这就像你在职场上碰到个老油条,上来就跟你说:“兄弟,你这方法效率不行啊,跟不上节奏。”是不是感觉被戳中了?但话说回来,人家Netty的确有两把刷子,不服不行,下面就来给你说说为啥Netty眼里的JDK实现就那么不堪入目。 已收录于,我的技术网站: ddkk.com 里面有,500套技…
- 点赞: 90
-
花宝宝 - IOException: Connection reset by peer 的真正原因是什么? - 知乎
- 概要: 这个报错我排查过不下二十次了,每次原因都不太一样。 看你的堆栈,是在 SocketChannelImpl.read 抛的,说明是读的时候收到了RST。说白了就是: 对方把连接强制关了,你这边还在读/写,就会收到这个错。但问题是,对方为什么要发RST?原因太多了,我挨个说。 第一步:先搞清楚RST是谁发的别急着猜原因,先抓包看看RST到底是谁发的: tcpdump -i eth0 'tcp[tcpflags] & tcp-rst != 0' and host 对方IP输出类似这样: 14:23:15.123…
- 点赞: 153
-
花宝宝 - 为什么Javaer总要解决一堆别的语言不存在的问题? - 知乎
- 概要: 因为其他语言不是”没有这些问题”,是”不告诉你有这些问题”。 Java 像个话多的老中医,classloader 冲突、GC 停顿、依赖版本打架,什么毛病都给你说清楚,还附带一堆工具让你查。 Python 像个只会说”多喝热水”的门诊,你跑起来没事,出了事就是”莫名其妙 import 报错”、”线上跑着跑着内存就没了”、”这个 bug 本地复现不了”。问题不是没有,是你不知道问题叫什么名字。 Java 的问题是明码标价的,其他语言的问题是隐性…
- 点赞: 230
-
花宝宝 - 为什么Java想升级个版本(例如java8升级java17)这么难,而Go的版本升级就是无痛的? - 知乎
- 概要: Java升级难不是技术问题,是 历史包袱问题。Java升级的坑 删除的APIJava 8能用的东西,Java 17删了一堆: // Java 8可以用 sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder(); // Java 17直接编译不过 // sun.misc包不让用了你得改成: Base64.getEncoder().encodeToString(bytes);这还是简单的,复杂的是Reflection API的变化。Java 8可以随便反射,Java 9之后加了模块化,很多反射操作默认不让用了: // Java 8…
- 点赞: 68
- from zhihu collection 2026.01
-
daoxinwengu - Java 除了 Spring 还有什么? - 知乎
- 概要: 很多人以为Java只有后端Spring,实际上还有一个比较“冷门”的技术叫Java Card,先来看DeepSeek给出的解释。 [图片] 再看看Java Card的应用场景 [图片] [图片] 再让DeepSeek列出具体的应用商 [图片] [图片] [图片] [图片] 列出了很多工业巨头,为了确认真实性,我去Google搜了相关企业+Java Card关键字,毫不意外,都能搜到相关的结果。 [图片] [图片] [图片] [图片] 中国的电信、联通、移动运营商,嗯...你手机上的每一张5G卡都运行了一个Java程序。 [图片] [图片] [图片] 9.10补充 苹果发布Air 17,eSIM成功落地国内,而eSIM技术规…
- 点赞: 143
- from zhihu collection 2026.01
-
SamDeepThinking - JAVA自己写什么功能可以提升技术? - 知乎
- 概要: 我告诉你最好的方式,就是去阅读netty的源代码并设计和实现连接池设计。我曾经就因为写过类似的内容,还被国内某个云大厂邀约,说我是否有兴趣过去。netty是高性能的框架,代码实现也非常优雅。 我曾经一度非常痴迷于netty的源代码实现,为何可以支持如此高的并发。因此带着疑问,一路看,并自己用另外的思路实现了一个连接池。 下面的设计和代码,可以作为PRC框架的连接处理的底层。 这是个稍微有些复杂的主题,牵扯到蛮多技术…
- 点赞: 460
- from zhihu collection 2026.01
-
SamDeepThinking - Java 的那些框架曾经疯狂地使用 xml ,不用硬编码,但现在怎么又“去 xml 化”回归硬编码了? - 知乎
- 概要: 看来得讲点历史了,刚好我从0几年到现在,完整经历过。我是用过Ejb 2.x的人,哎。 大家就当故事读一下,轻松愉快的,^_^。在 2005 年左右。那是一个今天很多年轻开发者已经很难体会的时代。 Java EE 标准笨重,EJB 复杂到反人类,Spring、Struts、Hibernate 这些框架出现,本质上是在“ 反体制”(我,本人,实在是顶不住Ejb2和3,那套JAVA EE企业级套件)。那它们靠什么反? 靠的正是 XML。 XML 在当时解决的是 真实存在、且非…
- 点赞: 157
- from zhihu collection 2026.01
-
流星划空 - 哪里可以找到一款游戏的全部代码以及素材? - 知乎
- 概要: openttd很经典,模拟经营玩法老派,几十年来还能时不时开一局,steam好评如潮,c++编写完全开源,性能和稳定性相当好,GitHub随便拉,掌握了做模拟经营绝对手到擒来,扯虎皮当大神 mc的经典无需多说,java编写早期是开源的,现在不清楚开源的是哪部分,网上也随便找,一零年左右出的很多仿mc的游戏用了mc的源码,掌握后虽说名号不响,却也能当个mc的极客up CDDA,纯正的丧尸世界开放式生存游戏,影响多款知名作品,世界生成玩法…
- 点赞: 241
- from zhihu collection 2026.01