Thursday, September 9, 2021

OSCHINA 社区最新专区文章

OSCHINA 社区最新专区文章


面试官:Synchronized 底层实现是怎样的?我一脸懵逼。。

Posted: 03 Sep 2021 01:29 AM PDT

来源:juejin.cn/post/6844903726545633287 关于synchronized的底层实现,网上有很多文章了。但是很多文章要么作者根本没看代码,仅仅是根据网上其他文章总结、照搬而成,难免有些错误;要么很多点都是一笔带过,对于为什么这样实现没有一个说法,让像我这样的读者意犹未尽。 本系列文章将对HotSpot的synchronized锁实现...

聊聊spring事务失效的12种场景,太坑了

Posted: 03 Sep 2021 10:48 PM PDT

## 前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到spring事务。 确实,spring事务用起来贼爽,就用一个简单的注解:`@Transactional...

观察者模式的实际应用

Posted: 05 Sep 2021 06:50 AM PDT

![](https://tva1.sinaimg.cn/large/008i3skNly1gtzamux9jcj61c00u0dpn02.jpg) # 前言 设计模式不管是在面试还是工作中都会遇到,但我经常碰到小伙伴抱怨实际工作中自己应用设计模式的机会非常小。 正好最近工作中遇到一个用`观察者模式`解决问题的场景,和大家一起分享。 背景如下: 在用户创建完订单的标准流程中需要做...

Maven插件调试方法

Posted: 05 Sep 2021 06:18 AM PDT

# Maven插件调试方法 [toc] # 前言 今年的更新频率简直是降至冰点了,一方面平时加班相对多一些了,下班只想玩手机;另一方面,好像进了大厂后,学习动力也很低了,总之就,很懒散,博客的话,今年都才只更新了不到5篇。 现在慢慢有一点状态,开始学点技术;今天这篇就是讲maven插件,为啥会折腾这个,公司内有个mybatis...

优雅的实现对外接口,要注意哪些问题?

Posted: 05 Sep 2021 06:42 PM PDT

博主之前做过XX银行代收付系统(相当于支付接口),包括现在的oltpapi交易接口和虚拟业务的对外提供数据接口。 总之,当你做了很多项目写了很多代码的时候,就需要回过头来,多总结总结,这样你会看到更多之前写代码的时候看不到的东西,也能更明白为什么要这样做。 ## **做接口需要考虑的问题** ### 什么是接口 接口无非...

Java 并发编程 - 并发难点及解决方法

Posted: 05 Sep 2021 10:42 PM PDT

# Java 并发编程 - 并发难点及解决方法 ## 前言 本文的目的是有一篇视角不一样的文章,通过技术推理,思维演进的方式来理解技术问题以及解决方案,相关的问题和方案存在着一定的通用性;适用于了解大部分基础的读者,用来从宏观视角思考,需要了解线程的基础操作,cas,aqs等基础,本文不会介绍具体类的适用,实现的源码分析等重复...

多线程环境下,HashMap 为什么会出现死循环?

Posted: 07 Sep 2021 05:29 PM PDT

Java的HashMap是非线程安全的,多线程下应该用ConcurrentHashMap。 多线程下[HashMap]的问题(这里主要说死循环问题): - 多线程put操作后,get操作导致死循环。 - 多线程put非NULL元素后,get操作得到NULL值。 - 多线程put操作,导致元素丢失。 ### 1、为何出现死循环? 在多线程下使用非线程安全的HashMap,单线程根本...

带头撸项目,《DDD + RPC 开发分布式架构,抽奖系统》

Posted: 22 Aug 2021 04:55 PM PDT

持续坚持原创输出,点击蓝字关注我吧 作者:小傅哥 博客:https://bugstack.cn ❝ 沉淀、分享、成长,让自己和他人都能有所收获!😜❞ 目录 一、咋,撸个项目? 二、呀,都能学啥? 三、嘿,让我看看! 1. 目录章节 2. 代码仓库 3. 工程结构 4. 运行结果 四、来,上傅哥车! 五、好,总结一下! 一、咋,撸个项目? 总...

灵魂画手:漫画图解 SSH

Posted: 08 Sep 2021 07:23 PM PDT

OpenSSL 本身是一个软件库,这个软件被广泛的应用在系统服务器当中,他的主要功能是在网络通信的过程中,保证数据的一致性以及数据传输过程中的安全性。软件本身是由C语言编写,这使得他具备了跨平台的特性,OpenSSL 主要包括如下三大功能: - **加解密:** OpenSSL 具有丰富的加解密算法库,支持不同的加解密方式以及存储...

Java开发工程师进阶篇-必掌握的常用设计模式

Posted: 07 Sep 2021 07:08 PM PDT

> 作者:幻好 > >来源: [恒生LIGHT云社区](https://developer.hs.net/thread/1335 "恒生LIGHT云社区") ## 设计模式简介 - 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员...

MyBatis vs Hibernate,到底哪个性能更好?

Posted: 08 Sep 2021 06:32 AM PDT

作者:郑沐兴 来源:https://zhuanlan.zhihu.com/p/21966051 # 前言 由于编程思想与数据库的设计模式不同,生出了一些ORM框架。 核心都是将关系型数据库和数据转成对象型。当前流行的方案有Hibernate与myBatis。 两者各有优劣。竞争激烈,其中一个比较重要的考虑的地方就是性能。 因此笔者通过各种实验,测出两个在相同情...

【曹工杂谈】说说Maven框架和插件的契约

Posted: 08 Sep 2021 09:35 AM PDT

# 说说Maven框架和插件的契约 # 前言 Maven框架就像现在公司内的各种平台方,规定一些契约,然后想办法拉动业务方,一起在这个平台上去做生态共建。Maven也是这样,其实它就是一个插件执行的框架,Maven刚开始肯定不知道会有谁去贡献插件,插件如果写得五花八门的话,那对于平台方来说,可能就是一个灾难,所以,平台方就...

Java 程序员必须掌握的 10 款开源工具!

Posted: 08 Sep 2021 06:47 PM PDT

本文主要介绍Java程序员的一些基本和高级工具。如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。 Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的IDE开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Eclip...

JetBrains 推出全新数据科学 IDE —— DataSpell

Posted: 08 Sep 2021 05:37 PM PDT

知名软件 IntelliJ Idea IDE 和 Kotlin 编程语言的开发商 JetBrains 近日推出了一个专门针对数据科学的 IDE —— DataSpell。 目前 DataSpell 还处于早期预览阶段,开发者可以访问 jetbrains.com 下载,目前已适配 Windows、Linux 和 Mac,也已经原生支持使用 M1 芯片的 Mac。该 IDE 将为从事探索性数据分析和机器学习模...

X.Org DMX 历时 14 年终被删除,占约 54k 行代码

Posted: 08 Sep 2021 05:17 PM PDT

鉴于其十多年来的糟糕表现,X.Org Distributed Multihead X (DMX) DDX 目前已从 X.Org Server source tree 中删除。官方公告指出: 事实证明,xdmx 目前在任何客户端试图使用 GL 时都会发生崩溃,而它处于这种状态已经有 14 年之久了。4 年前曾有一个相关补丁试图解决这个问题,但它一直未被合并。且最后一次与 xdmx bug...

每日一博 | 了解 InnoDB 存储引擎的内存池

Posted: 08 Sep 2021 05:02 PM PDT

在Innodb体系架构里,主要包含后台线程和内存两大块,今天就来说下Innodb体系架构里内存的一些知识点。架构图如下:

HHVM 4.126 发布,高速开源虚拟机

Posted: 08 Sep 2021 04:33 PM PDT

HHVM 4.126 现已发布。这个版本的发布标志着对 4.120 版本的支持已经结束,HHVM 4.120-4.123、以及 4.80 和 4.102 LTS 版本还会继续得到支持。HHVM 4.125 因候选发布版本的问题而被取消。 HHVM 4.126 更新内容如下: Highlights hh_client --lint FILE现已得到支持,包括几个 type-aware linters。 支持 Debian 11 (Bul...

Linux From Scratch (LFS) 11.0 发布

Posted: 08 Sep 2021 04:24 PM PDT

Linux From Scratch (LFS) 11.0 和 Beyond Linux From Scratch (BLFS) 11.0 已正式发布。 发布公告写道,LFS 增加大版本号是因为这个版本不再使用"split-user"系统。也就是说,像目前大多数发行版一样,/bin 是指向 /usr/bin 的符号链接。同样的,/lib 和 /sbin 都是指向对应的 /usr 的符号链接。 其他主要变更包括工具链...

Arduino IDE 1.8.16 发布

Posted: 08 Sep 2021 04:06 PM PDT

Arduino 是一个开源的物理计算平台,基于一个简单的 I/O 板和一个实现处理/连接语言的开发环境。Arduino 可以用来开发独立的交互式对象,也可以连接到计算机上的软件(如 Flash、Processing 和 MaxMSP)。 Arduino IDE 是一个跨平台的应用程序(适用于 Windows、macOS、Linux),是用 C 和 C++ 编写的。它被用来编写和上...

No comments:

Post a Comment