腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
陈树义
聚焦于 Java 程序员的技术成长、职业规划、认知升级。欢迎关注公众号:陈树义。
专栏成员
举报
266
文章
299732
阅读量
59
订阅数
订阅专栏
申请加入专栏
全部文章(266)
java(97)
编程算法(48)
数据库(27)
jvm(25)
其他(20)
sql(19)
jdk(19)
oracle(11)
云数据库 Redis(11)
hashmap(11)
spring(10)
缓存(10)
servlet(9)
xml(8)
存储(8)
数据结构(8)
https(8)
struts(7)
腾讯云测试服务(7)
http(7)
网络安全(7)
安全(7)
kafka(7)
jar(6)
tcp/ip(6)
云数据库 SQL Server(5)
api(5)
linux(5)
消息队列 CMQ 版(5)
分布式(5)
面向对象编程(5)
二叉树(5)
dubbo(5)
网站(4)
开源(4)
微信(4)
腾讯云开发者社区(4)
产品经理(4)
mac os(3)
memcached(3)
mvc(3)
maven(3)
企业(3)
容器(3)
ssh(3)
正则表达式(3)
mybatis(3)
jdbc(3)
zookeeper(3)
windows(3)
布局(3)
负载均衡(2)
c++(2)
javascript(2)
node.js(2)
css(2)
android(2)
汇编语言(2)
ide(2)
eclipse(2)
svn(2)
tomcat(2)
搜索引擎(2)
负载均衡缓存(2)
apache(2)
mongodb(2)
dns(2)
cdn(2)
单元测试(2)
uml(2)
数据分析(2)
bug(2)
插件(2)
交互设计(2)
接口(2)
框架(2)
响应式(2)
用户体验(2)
语法(2)
费用中心(1)
DNS 解析 DNSPod(1)
比特币(1)
区块链(1)
自动驾驶(1)
iphone(1)
php(1)
python(1)
bash(1)
jsp(1)
html(1)
json(1)
ajax(1)
嵌入式(1)
打包(1)
github(1)
unix(1)
ubuntu(1)
深度学习(1)
日志服务(1)
云数据库 MongoDB(1)
es 2(1)
电商(1)
o2o(1)
express(1)
压力测试(1)
shell(1)
html5(1)
spring boot(1)
asp(1)
aop(1)
rpc(1)
敏捷开发(1)
rabbitmq(1)
spring cloud(1)
大数据(1)
物联网(1)
微服务(1)
云计算(1)
action(1)
axios(1)
com(1)
display(1)
excel(1)
flex(1)
interrupt(1)
jacoco(1)
lock(1)
media(1)
menu(1)
null(1)
parent(1)
patch(1)
poi(1)
point(1)
row(1)
script(1)
shift(1)
simulator(1)
spock(1)
text(1)
title(1)
变量(1)
编译(1)
测试(1)
产品(1)
程序员(1)
代码质量(1)
工具(1)
管理(1)
后端(1)
基础(1)
技巧(1)
快捷键(1)
浏览器(1)
配置(1)
前端(1)
权限(1)
权限控制(1)
入门(1)
设计(1)
设计模式(1)
实践(1)
事件(1)
视觉设计(1)
数据(1)
数据库设计(1)
数学(1)
项目经理(1)
效率(1)
异常(1)
注解(1)
搜索文章
搜索
搜索
关闭
关于 CMS 垃圾回收器,你真的懂了吗?
企业
jdk
编程算法
前段时间有个小伙伴去面试,被问到了 CMS 垃圾回收器的详细内容,没答出来。实际上,CMS 垃圾回收器是回收器历史上很重要的一个节点,其开启了 GC 回收器关注 GC 停顿时间的历史。今天,就让树哥带你一起来学一波吧!
陈树义
2022-10-05
951
0
这三大特性,让 G1 取代了 CMS!
企业
java
tcp/ip
编程算法
jdk
之前我们聊过 CMS 回收器,但那时候我们说 CMS 回收器已经落伍了,现在应该是用 G1 回收器的时候了。那么 G1 回收器到底有什么魔力,它比 CMS 回收器相比强在哪里呢?今天,就让树哥带大家盘一盘!
陈树义
2022-09-28
836
0
老掉牙的 synchronized 锁优化,一次给你讲清楚!
jdk
java
数据分析
我们都知道 synchronized 关键字能实现线程安全,但是你知道这背后的原理是什么吗?今天我们就来讲一讲 synchronized 实现线程同步背后的原因,以及相关的锁优化策略吧。
陈树义
2022-09-02
301
0
集合系列 Queue(十一):ArrayDeque
jdk
编程算法
为了深入理解 ArrayDeque 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。
陈树义
2019-08-29
544
0
集合系列开篇:为什么要学集合?
hashmap
jdk
数据结构
java
编程算法
集合可以说是学习 Java 中最重要的一块知识点了,无论做任何业务系统,集合总是最为基础的那块 API。我第一次接触集合,是在我大三的时候,那时候去面试,面试官问我:你了解过集合吗?可惜那时候没什么项目经验,所以基本没有了解过,因此也错失了机会。
陈树义
2019-08-26
896
0
每周分享第4期
jdk
云数据库 Redis
消息队列 CMQ 版
kafka
分布式
我们都知道在JDK1.8的HotSpot虚拟机中已经没有永久代这个内存区域了,但许多人其实并不知道在JDK1.7的时候这项工作就在悄悄进行了。
陈树义
2019-02-13
374
0
JDK1.7 HashMap 导致循环链表
java
jdk
hashmap
编程算法
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite Loop”可以看到很多人都在说这个事)所以,觉得这个是个普遍问题,需要写篇疫苗文章说一下这个事,并且给大家看看一个完美的“Race Condition”是怎么形成的。
陈树义
2019-02-13
1K
0
JVM系列第15讲:JDK性能监控命令
jvm
jdk
jps 命令可以列出所有的 Java 进程。如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示。
陈树义
2018-12-25
509
0
JVM系列第9讲:JVM垃圾回收器
jvm
java
jdk
编程算法
其他
前面文章中,我们介绍了 Java 虚拟机的内存结构,Java 虚拟机的垃圾回收机制,那么这篇文章我们说说具体执行垃圾回收的垃圾回收器。
陈树义
2018-12-14
397
0
JVM系列第6讲:Java 虚拟机内存结构
jvm
java
存储
jdk
asp
看到这里,我相信大家对于一个 Java 源文件是如何变成字节码文件,以及字节码文件的含义已经非常清楚了。那么接下来就是让 Java 虚拟机运行字节码文件,从而得出我们最终想要的结果了。在这个过程中,Java 虚拟机会加载字节码文件,将其存入 Java 虚拟机的内存空间中,之后进行一系列的初始化动作,最后运行程序得出结果。
陈树义
2018-12-13
367
0
JVM系列第4讲:从源代码到机器码,发生了什么?
jvm
java
jdk
其他
在上篇文章我们聊到,无论什么语言写的代码,其到最后都是通过机器码运行的,无一例外。那么对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?这就是今天我们要聊的。
陈树义
2018-12-11
1.2K
0
JVM系列第2讲:Java 虚拟机的历史
jvm
java
jdk
其他
嵌入式
说起 Java 虚拟机,许多人就会将其与 HotSpot 虚拟机等同看待。但实际上 Java 虚拟机除了 HotSpot 之外,还有 Sun Classic VM、Exact VM、BEA JRocketit、IBM J9 等等。今天我们就来简单回顾下 Java 虚拟机的发展历史。
陈树义
2018-12-10
554
0
【超实用】面对枯燥的源码,如何才能坚持看下去?
jdk
dubbo
开源
ide
java
一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据公司的实际情况去写框架。而基本上没有谁能像天才一样从零写出一个框架,很多人写框架其实都是从模仿开始的。而你要模仿,那么你首先得看得懂框架源码才行。所以说阅读源码才显得那么重要。
陈树义
2018-09-28
536
0
注解的那些事儿(一)| 为什么要使用注解?
jdk
java
spring
xml
注解是 JDK 1.5 引入的功能,相信不少开发者都使用过这个功能,但关于为什么要使用注解,你了解过多少呢?
陈树义
2018-08-01
370
0
Java并发编程:JDK中的阻塞队列
java
jdk
上次我们讲了一些常用的4个阻塞队列,但是在JDK中还提供了其他的一些阻塞队列。这篇文章将全面介绍一下JDK中的所有阻塞队列,并比较他们的区别。 JDK7提供了7个阻塞队列。分别是 ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。 LinkedBlockingQueue :一个由链表结构组成的有界阻塞队列。 PriorityBlockingQueue :一个支持优先级排序的无界阻塞队列。 DelayQueue:一个使用优先级队列实现的无界阻塞队列。 Syn
陈树义
2018-04-13
664
0
java中volatile关键字的含义
java
jdk
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰的方法 或者 代码块。 vola
陈树义
2018-04-13
1K
0
1.Java集合总结系列:Java集合概述
java
api
jdk
一、概述 集合是 Java 中非常重要的 API,在实际应用中非常广泛,在许多面试中也是必考的知识点。 Java 所有集合类都位于 java.util 包下,Java 的集合只能保存对象,而无法保存保存基本数据类型。当你尝试把一个基本数据类型存入集合中时,Java 会将其自动转为对应的对象类型(这就是自动装箱)。而当我们把一个对象放入集合中后,系统会把所有集合元素都当成 Object 类的实例进行处理。但从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类
陈树义
2018-04-13
810
0
大白话说Java泛型:入门、使用、原理
java
jdk
远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的。当时 Java 程序员们写集合类的代码都是类似于下面这样: List list = new ArrayList(); list.add("www.cnblogs.com"); list.add(23); String name = (String)list.get(0); Integer number = (Integer)list.get(1); 在代码中声明一个集合,我们可以往集合中放入各种各样的数据,而在取出来的时候就进行强制类型转换。但其
陈树义
2018-04-13
848
0
如何在IntelJ下用Maven创建一个Web项目
maven
jdk
相信一开始做Web项目的同学都是直接把项目包放在WEB-INF/lib目录下,然后就开始做项目了。但是之后接触了一些使用了Maven进行包管理的项目,我们就不得不学一学如何用Maven做包管理。 在网上看了很多的文章,发现都不是很全面,因此就把自己摸索的过程记录下来,希望对大家有帮助。本文主要记录如何从无包管理的项目开发模式转到使用Maven进行项目包管理。 做编程的,对于新的知识,先运行起来再说,而不是去深究其原理。我们这里用Maven搭建一个简单的Web项目,让其可以运行起来。这可以让我们对Maven有
陈树义
2018-04-13
601
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档