自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员那点事儿

一个人如果没有梦想,跟无忧无虑有什么区别呢?

  • 博客(13)
  • 收藏
  • 关注

原创 Java NIO:从 Buffer、Channel、Selector 到 Zero-copy、I/O 多路复用

Java NIO:从 Buffer、Channel、Selector 到 Zero-copy、I/O 多路复用,一篇搞定!

2022-08-01 19:59:48 234 1

原创 LockSupport——一个让JVM崩溃的并发工具类

​LockSupportUnsafe,提供给Java直接操作内存的方法,是极不安全的,不受JVM管理,容易出现内存泄露。Unsafe使用了单例模式,通过静态getUnsafe()方法获取Unsafe对象。LockSupport 底层是基于Usafe,实现线程的挂起和唤醒的工具类。内部方法都是静态的,可以在任何地方任何时候进行调用。LockSupport一般也不太使用,也是因为它底层也是直接对Unsafe对象的封装,使用起来还是比较危险的。其主要方法:public static void park(

2020-05-14 13:49:04 350

原创 ReentrantLock独占锁源码剖析

原文链接:https://mp.weixin.qq.com/s/Z-JHhsLnUVWaqJ5TObPaSg在开始分析ReentrantLock独占锁之前,我们先来简单了解几个概念: 乐观锁与悲观锁 悲观锁指对数据被外界修改持保守态度,认为数据很容易就会被其他线程修改,所以在数据被处理前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态。例如Synchroni...

2020-02-29 23:23:27 213

原创 Kafka 问:把大象装冰箱,总共要几步?

Kafka系列 推荐阅读:奔跑吧,Kafka!本文内容来源参考《深入理解Kafka核心设计与原理实践》——朱忠华著 问:要把大象装冰箱总共分几步? 1. 打开冰箱门。 2. 把大象装冰箱。 3. 关闭冰箱门。...

2020-02-29 22:14:48 323

原创 觉醒吧!Kafka!!!

最近一直在学Kafka相关的知识,推荐一本书:《深入理解Kafka核心设计与实践原理》——朱忠华 著。这本书确实写的很不错,写的非常透彻、细致,研读下来能收获不少。所以从今天开始,我打算用一个月的时间解读一下这本书。整理成类似笔记的文章,算是一种学习总结吧。如果你也刚好在学Kafka或者想了解这方面的知识,又或者已经在工作中使用到了,欢迎大家下面留言讨论! 言归...

2020-02-23 17:25:25 383

原创 Ribbon

Ribbon简介       Ribbon是Netflix下的负载均衡项目,它在集群中为各个客户端的通信提供了支持,主要实现中间层应用层析的负载均衡。Ribbon提供以下特性:负载均衡器,可支持插拔式的负载均衡规则。 对多种协议提供支持,例如HTTP、TCP、UDP。 集成了负载均衡功能的客户端。Spring Cloud将Ribbon的API进行了封装,使用者可以使用封装后的API来...

2019-01-27 13:33:29 1847

原创 Spring Boot2 JSON技术

得到和获取都是有代价的,最孤独最痛苦的那段时光其实是你成长速度最快的时候,不要在奋斗的年纪选择享受,我们要知道生命的天平总在合理的范围内摆动,付出了才有得到的机会。Spring Boot内置了jackson来完成JSON的序列化和反序列化操作,而且,在与其他技术集成的时候,比如Redis,MongoDB,Elasticsearch等对象序列化,默认都是使用jackson来完成的。在Co...

2018-10-28 20:15:15 2946

原创 Spring Boot2--Web开发(二)

注解@PathVariable用于从请求URL中获取参数并映射到方法参数中,如下代码: @Controller@RequestMapping("/user/{id}")public class HelloworldController { @Autowired UserService userService; @GetMapping(path="/{type}/get.jso...

2018-10-27 12:16:42 311

原创 Spring Boot2--Web开发(一)

Web开发的核心内容主要包括内嵌Servlet容器和Spring MVC。Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依赖。而Web相关的自动配置存储在spring-boot-autoconfigure.jar的org.springframe...

2018-10-20 21:37:00 857

原创 Spring Boot2 热部署

        spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。具体应用:首先,在pom.xml中添加依赖:<dependency> <groupId>org.springframework.boot</groupId...

2018-08-18 21:10:34 709

原创 OpenExplorer插件

    如果你在开发过程中需要经常在Eclipse中里打开相关资源文件所在的磁盘目录,比较麻烦,你需要右键,属性,复制,然后再去资源管理器输入这个路径,回撤,等各种操作......很麻烦!解决方法:用OpenExplorer插件,这个插件可以很方便的打开项目文件所在等磁盘目录。下载地址:https://github.com/samsonw/OpenExplorer/downloads下载最新的ja...

2018-07-13 21:43:48 4415

原创 Comparator接口的使用

    “                                                      一个人如果没有梦想,                                                  跟无忧无虑有什么区别呢?”            今天来给大家介绍下java.utils包下的Comparator接口。该接口代表一个比较器,java数组工具类和...

2018-07-08 09:54:37 12324 1

原创 CountDownLatch的使用

在工作用,有些业务实现需要主线程等待子线程全部运行完之后才继续向下运行,在不使用CountDownLatch的情况下,我们的做法通常是这样:public class CountDownLatchTest { /** * 不使用CountDownLatch */ private static int threadCount = 10; private static int...

2018-04-03 11:27:09 194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除