武培轩
武培轩
全部文章
分类
Apollo(1)
Git(2)
Java(36)
JDK源码解析(8)
JVM(7)
Leetcode(38)
Maven(1)
MySQL(2)
Spring Boot(6)
剑指Offer(97)
工具(1)
微服务(3)
操作系统(1)
数据库(3)
未归档(53)
消息队列(1)
笔经(5)
笔试(6)
算法(4)
计算机网络(6)
设计模式(12)
读书笔记(5)
面经(8)
面试(5)
归档
标签
去牛客网
登录
/
注册
武培轩
专注分享 Java 技术干货,助你编程之路少走弯路。
TA的专栏
60篇文章
22人订阅
后端核心技术精讲
60篇文章
1812人学习
全部文章
(共311篇)
不可不知的 7 个 JDK 命令
来自专栏
这篇文章主要来介绍下 JDK 内置的命令,话不多说,让我们开始吧! javap 使用 javap 可以查看 Java 字节码反编译的源文件,javap 的命令格式如下: 下面来演示下用 javap -c 对代码进行反编译,首先写个 HelloWorld 类,如下: public class Hel...
JDK
JVM
Java
2020-07-16
1
762
Spring Boot 集成 Flyway 实现数据库版本控制
来自专栏
在项目迭***中,难免会有更新数据库 Schema 的情况,比如添加新表、在表中增加字段或者删除字段等,那么当我对数据库进行一系列操作后,如何快速地在其他同事的电脑上同步?如何在测试/生产服务器上快速同步? 每次发版的时候,由于大家都可能有 sql 更改情况,这样就会有以下痛点: 忘记某些 sq...
版本控制
Flyway
SpringBoot
数据库
2020-07-14
1
976
如何阅读源码?
来自专栏
阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码。 首先来说下为什么要读源码,有学习源码的必要吗? 为什么要阅读源码? 关于为什么阅读和学习源码,我个人认为可能有以下几点: (一)吊打面试官,应对面试 为了找到更好的工作,应对面试,因为在面试中肯定会问到...
Java
面试
后端
源码
Java
2020-07-12
4
792
编译器:人家就要乱来!
来自专栏
在一男子给对象转账5000元,居然又退还了!和我就站在你面前,你却视而不见!文中,我们学习了线程安全的原子性和可见性,这篇文章就来说说有序性。 有序性 首先还是来看下概念,有序性就是指代码按照编写顺序执行。 大家可能会有疑问,难道还会出现乱序执行吗? 因为编译器为了程序性能,可能会改变代码中语句的先...
JVM
并发
Java
有序性
2020-07-11
1
680
我就站在你面前,你却视而不见!
来自专栏
在上一篇文章一男子给对象转账5000元,居然又退还了!中,我们学习了并发三大特性之一的原子性,并对原子性问题进行分析。 这篇文章我们就一起来了解下可见性: 可见性 首先看下可见性的概念: 可见性就是指某一个线程修改了共享变量的值时,其他线程能够立即得知这个修改。 什么?难道变量被修改了,线程不应该马...
Java
线程
可见性
后端
2020-07-08
1
778
一男子给对象转账5000元,居然又退还了!
来自专栏
在并发编程中,所有问题的根源就是可见性、原子性和有序性问题,这篇文章我们就来聊聊原子性问题。 在介绍原子性问题之前,先来说下线程安全: 线程安全 我理解的线程安全就是不管单线程还是多线程并发的时候,始终能保证运行的正确性,那么这个类就是线程安全的。 其中在《Java并发编程实战》一书中对线程安全的定...
并发
Java
原子性
多线程
后端
Java
2020-06-11
1
853
一文搞懂 ThreadLocal 原理
来自专栏
当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要线程封闭出场了。 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术称为线程封闭。 本文主要介绍线程封闭中的其中一种体现:ThreadLocal,将会介绍什么是 T...
Java
2020-04-05
1
809
线程数,射多少更舒适?
来自专栏
我相信大家都用过线程池,但是线程池数量设置为多少比较合理呢? 线程数的设置的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能,因此让我们一起去探索吧! 首先要考虑到 CPU 核心数,那么在 Java 中如何获取核心线程数? 可以使用 Runtime.getRun...
Java
2020-04-05
2
688
原来 CPU 为程序性能优化做了这么多
来自专栏
本文主要来学习内存屏障和 CPU 缓存知识,以便于我们去了解 CPU 对程序性能优化做了哪些努力。 首先来看下 CPU 缓存: CPU 缓存 CPU 缓存是为了提高程序运行的性能,CPU 在很多处理上内部架构做了很多调整,比如 CPU 高速缓存,大家都知道因为硬盘很慢,可以通过缓存把数据加载到内存里...
Java
2020-04-05
1
725
Java线程的生老病死
来自专栏
Java 中实现并发的主要手段就是多线程。线程是操作系统里的一个概念,Java 语言里的线程本质上就是操作系统的线程,它们是一一对应的。 要想整明白操作系统中线程的生命周期,就需要搞懂生命周期各个状态之间是如何转换的。 接下来先让我们了解下操作系统的线程生命周期,进而再去学习 Java 中线程的生命...
Java
2020-04-05
1
597
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页