首页
学习
活动
专区
工具
TVP
发布

狗哥的 Java 世界

专栏作者
278
文章
290297
阅读量
32
订阅数
JDK9 为何要将 String 的底层实现由 char[] 改成了 byte[]?
小伙伴们好,我是狗哥呀!如果你不是 Java8 的钉子户,你应该早就发现了:String 类的源码已经由 char[] 优化为了 byte[] 来存储字符串内容,为什么要这样做呢?
JavaFish
2022-04-18
2940
工作三年,小胖连 String 源码都没读过?真的菜!
String 类相信大家都不陌生,它是引用类型,同时也是工作中用的最多的一个类。那它到底是怎么实现的呢?我们看源码:
JavaFish
2021-02-03
4730
小胖:远哥,spring 中的 bean 是线程安全的吗?
Spring 容器中的 Bean 是否线程安全,容器本身并没有提供 Bean 的线程安全策略,因此可以说 Spring 容器中的 Bean 本身不具备线程安全的特性,但是具体还是要结合具体 scope 的 Bean 去研究。
JavaFish
2021-01-18
1K0
Java 并发(8)CyclicBarrier 源码分析
现实生活中我们经常会遇到这样的情景,在进行某个活动前需要等待人全部都齐了才开始。例如吃饭时要等全家人都上座了才动筷子,旅游时要等全部人都到齐了才出发,比赛时要等运动员都上场后才开始。
JavaFish
2020-04-14
3260
Java 并发(7)CountDownLatch 源码分析
这就是 CountDownLatch 的内部机制,看起来很简单,无非就是阻塞一部分线程让其在达到某个条件之后再执行。但是 CountDownLatch 的应用场景却比较广泛,只要你脑洞够大利用它就可以玩出各种花样。最常见的一个应用场景是开启多个线程同时执行某个任务,等到所有任务都执行完再统计汇总结果。下图动态演示了闭锁阻塞线程的整个过程。
JavaFish
2020-04-07
2060
你还在用 console.log 调试 ?
链接 | juejin.im/post/5d18d6eb6fb9a07edc0b6cc4
JavaFish
2020-03-05
1.5K0
Maven 基础(二) | 解决依赖冲突的正确姿势
假设,在 JavaMavenService2 模块中,log4j 的版本是 1.2.7,在 JavaMavenService1 模块中,它虽然继承于 JavaMavenService2 模块,但是它排除了在 JavaMavenService2 模块中继承 1.2.7 的版本,自己引入了 1.2.9 的 log4j 版本。
JavaFish
2020-02-18
5300
世界 10 大编程语言,Java 不是第一,PHP 才第五
如果你是软件开发领域的新手,那么你会想到的第一个问题是“如何开始?”编程语言有数百种可供选择,但是你怎么发现哪个最适合你,你的兴趣和职业目标又在哪里呢?选择最佳编程语言以学习的最简单方法之一,是通过市场反响、技术趋势的发展…
JavaFish
2020-02-18
9050
Springboot 整合 log4j2 日志详解
在项目推进中,如果说第一件事是搭 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,我想很多人都知道日志对于一个项目的重要性,尤其是线上 Web 项目,因为日志可能是我们了解应用如何执行的唯一方式。
JavaFish
2020-01-02
1.1K0
详解 Java 主流日志工具库
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。在 Java 世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子。先来逐一了解一下主流日志工具。
JavaFish
2019-11-13
8300
别再让我帮你盖楼了行不?给个脚本自动盖楼领喵币,附APK
要知道阿里每年都会发放大量红包、各种优惠券和各种互助游戏......而这两天,马爸爸的“ATM”们可都沉迷于这些个互助游戏里不可自拔,吾日三省吾身:签到了?做任务了么?升级了么?:
JavaFish
2019-11-08
8220
Java并发面试题
1、使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。2、使用stop方法强行终止,但是不推荐这个方法,因为stop和suspend及resume一样都是过期作废的方法。3、使用interrupt方法中断线程。
JavaFish
2019-11-01
4030
SpringBoot | SpringBoot 是如何实现日志的?
说到日志框架不得不说门面模式。门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:
JavaFish
2019-10-18
5920
SpringBoot 实战 (十三) | 整合 MyBatis (XML 版)
如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,之前介绍过了 SpringBoot 整合MyBatis 注解版的使用,上一篇介绍过 MyBatis 的理论,今天这篇就不介绍 MyBatis 的理论了,有兴趣的跳转阅读:SpringBoot 实战 (九) | 整合 MyBatis (注解版)
JavaFish
2019-10-17
4920
SpringBoot 实战 (十六) | 整合 WebSocket 基于 STOMP 协议实现广播消息
如题,今天介绍的是 SpringBoot 整合 WebSocket 实现广播消息。
JavaFish
2019-10-17
2.5K0
Mybatis 使用的 9 种设计模式,真是太有用了~
虽然我们都知道有26个设计模式,多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。
JavaFish
2019-10-17
3320
Java 并发编程 71 道面试题及答案
任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。
JavaFish
2019-10-17
4730
MyBatis 动态 SQL 详解
MyBatis 令人喜欢的一大特性就是动态 SQL。 在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。MyBatis 动态 SQL 的出现, 解决了这个麻烦。
JavaFish
2019-10-17
7940
Java 基础 | Object 源码解
Java 是一门面向对象的语言,在 Java 里面一切都可以看作是一个对象,而 Java 里面所有的对象都默认继承于 Object 类,所以狗哥今天就从源码角度复习了一遍这个类。
JavaFish
2019-10-17
5350
一些重要的 GitHub 技巧
来 源:cnblogs.com/iamzhanglei/p/6177961.html
JavaFish
2019-10-16
5640
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档