- 博客(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关注的人