Java
JavaBoy王皓
禅定
展开
-
Nacos 使用docker启动
摘要:Nacos 使用docker启动docker pull nacos/nacos-servermkdir -p /home/nacos/logs/ #新建logs目录mkdir -p /home/nacos/init.d/vim /home/nacos/init.d/custom.properties #修改配置文件server.contextPath=/nacosserver.servlet.cont...原创 2020-06-15 17:19:13 · 1088 阅读 · 0 评论 -
Nacos 注册消费者与生产者
接上篇首先我们创建一个生产者使用IDE的Spring插件创建一个Spring boot项目,pom内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o原创 2020-07-01 15:55:17 · 2562 阅读 · 0 评论 -
Java 虚拟机对Synchronized的优化
Java虚拟机Synchronized的优化自旋锁,自适应的自旋锁,偏向锁,轻量级锁,锁膨胀,重量级锁 2018年拍摄于日本京都金阁寺微信公众号王皓的GitHub:https://github.com/Te...原创 2019-07-11 09:14:38 · 257 阅读 · 0 评论 -
Netty ChannelHandler Hot Plug 热插拔
2016年拍摄于台湾省垦丁帆船石,第一张海面雾化使用了减光镜加长时间曝光。 微信公众号 王皓的GitHu...原创 2019-07-01 10:08:26 · 299 阅读 · 0 评论 -
Java 并发编程 ThreadLocal
ThreadLocal源码分析 线程变量透传 如何避免脏数据 内存溢出 2014年拍摄于甘南藏族自治区桑科草原,喜欢阴天微信公众号王皓的GitHub:https://github.com/TenaciousDWang今天这回说一下ThreadLocal这个类。ThreadLocal为变量在每个线程中都创建了一个独立副本,那么每个线程可以访问自己内...原创 2019-07-16 09:31:27 · 194 阅读 · 0 评论 -
Java 并发编程 Lock
可重入锁,可中断锁,公平锁,非公平锁,AQS同步器,读锁,写锁,乐观锁,悲观锁2018年拍摄于日本京都幕府(二条城)唐门微信公众号 王皓的GitHub:https://github.com/TenaciousDWang锁,SUO,在生活中我们都用过,在计算机领域出现资源竞争时,我们也同样需要锁,来保证同时只有一个线程拥有当前资源进行操作,这个操作属于黑盒操作,外...原创 2019-07-12 09:02:58 · 153 阅读 · 0 评论 -
Java 线程池
创建一个线程池 ThreadPoolExecutor ,如何使用java线程池,线程池源码浅析2014拍摄于四川羌族藏族自治区郎木寺下早课。微信公众号王皓的GitHub:https://github.com/TenaciousDWang前面已经说了关于线程的东西,接下来说一下线程池。前面我们知道多线程能够让我们充分的利用计算机资源,前面我们在使用线程时...原创 2019-07-19 08:56:31 · 165 阅读 · 0 评论 -
Java Collection框架(一)Iterable与Spliterator
Java Collection框架 顶级接口Iterable与Spliterator,forEach与forEachRemaining 2018拍摄于京都音羽山清水寺微信公众号王皓的GitHub:https://github.com/TenaciousDWang今天开始复习Java 集合框架,多线程部分还差同步容器会在Java集合最后后面填坑。在说...原创 2019-07-24 09:02:27 · 1696 阅读 · 1 评论 -
Java BlockingQueue 阻塞式队列
常用 BlockingQueue:ArrayBlockingQueue、LinkedBlockingQueue、DelayQueue、PriorityBlockingQueue、SynchronousQueue 2014拍摄于四川羌族藏族自治区郎木寺。微信公众号王皓的GitHub:https://github.com/TenaciousDWang今天...原创 2019-07-17 09:12:04 · 310 阅读 · 0 评论 -
Java Collection框架(四)LinkedList原理浅析
Java Collection 框架 LinkedList 源码解读 与 实现原理 浅析 2018拍摄于京都JR嵯峨野观光铁道岚山站微信公众号王皓的GitHub:https://github.com/TenaciousDWang上一篇我们简单了解了ArrayList的底层原理,当插入与删除时,可能每次都需要移动其底层整个数组内的元素,速度通常很慢,但是好处也很明...原创 2019-07-30 14:59:30 · 204 阅读 · 0 评论 -
Java Collection框架(二)Collection与Stream
Java Collection框架 接口Collection 与 JDK8 集合增强 Stream 流 拍摄于京都岚山天龙寺微信公众号王皓的GitHub:https://github.com/TenaciousDWang今天主要看JDK8中Collection接口新增的功能Stream流,关于Collection接口只是带过,相信大家对Collection接口都...原创 2019-07-25 17:24:49 · 1073 阅读 · 0 评论 -
Java 并发编程 Condition
填坑 Condition,配合 Lock 实现 线程间通信 2014拍摄于四川羌族藏族自治区郎木寺,前面的山就是甘肃了与四川只有一条两米宽的水流很大的小河相隔。微信公众号王皓的GitHub:https://github.com/TenaciousDWang今天填以前挖的坑,说一下Condition,用于配合Lock实现线程间通信的同步辅助类,可替代以往我们...原创 2019-07-22 08:47:47 · 181 阅读 · 0 评论 -
Java Collection框架(五)集合与泛型 比较器 hashCode与equals
集合与泛型,如何使用比较器,hashCode与equals的区别2014我在郎木寺敖包下,友人所拍微信公众号本篇看一下关于集合的一些知识点。集合与泛型首先来看一下集合与泛型的结合使用,JDK1.5之后为了约束类型,更新了泛型技术。ArrayList不加泛型 我们首先利用ArrayList来盛放元素,由于没有泛型限制,我...原创 2019-07-31 09:26:11 · 288 阅读 · 0 评论 -
Java Collection框架(三)ArrayList原理浅析
Java Collection框架 ArrayList源码解读 与 实现 原理浅析 2018拍摄于京都智积院微信公众号王皓的GitHub:https://github.com/TenaciousDWangjava.util.List List集合是线性数据结构的主要实现。List本身是Collection接口的子接口,具备了Collec...原创 2019-07-26 09:04:44 · 180 阅读 · 0 评论 -
Java JUC 同步辅助类 CountDownLatch , CyclicBarrier , Semaphore
线程通信 如何使用 CountDownLatch , CyclicBarrier , Semaphore2014年甘肃,前往桑科草原的路上,停车休息。微信公众号王皓的GitHub:https://github.com/TenaciousDWangJUC包在JDK1.5之后加入了几个很有用的同步辅助类来帮助我们并发编程CountDownLatch,CyclicBa...原创 2019-07-23 10:42:53 · 262 阅读 · 0 评论 -
Java Collection框架(六)HashMap源码浅析
Java Collection框架 HashMap 源码解读 与 实现原理浅析 2018拍摄于京都天龙寺微信公众号王皓的GitHub:https://github.com/TenaciousDWang 今天来看平时最常用的一个容器HashMap,版本为JDK8.数据结构JDK8 之后的HashMap底层在解决哈希冲突的时...原创 2019-08-01 17:53:25 · 234 阅读 · 0 评论 -
Java Collection框架(七)红黑树与TreeNode源码浅析
Java Collection框架 HashMap 红黑树与 TreeNode源码浅析2018年拍摄于京都平安神宫内。微信公众号:JavaBoy王皓今天看树型数据结构。树 上图是一个简单的树形结构,最顶层为一个根节点,向下延伸出树杈和叶子构成一个具有层次关系的集合,例如前端树形插件Ztree,用过的朋友都很熟...原创 2019-08-20 09:04:51 · 1305 阅读 · 1 评论 -
Java 并发编程与多线程概念
Java 并发 并发编程 多线程 编程今天放一张自己以前用Maya建模加材质加渲染的CG图片,花了三周左右。微信公众号王皓的GitHub:https://github.com/TenaciousDWang重新复习一遍多线程,记个笔记,最近比较忙,存货不多了,不一定几天更了......原创 2019-07-05 16:00:26 · 296 阅读 · 0 评论 -
Netty 心跳与空闲监测
Netty 心跳 与 空闲 监测 拍摄于陕西省博物馆,陕博可以了解一下,有军队把守,超多珍贵文物。微信公众号王皓的GitHub:https://github.com/TenaciousDWang今天来说一下关于心跳与空闲检测,为什么需要说这两个东西呢?在因为在网络中凡是涉及到端到端的通信都会遇到一个问题就是假死。我...原创 2020-06-15 17:14:33 · 512 阅读 · 0 评论 -
Java 内存模型与volatile特性深入分析
Java Memory Model操作规则及特性,以及JMM中volatile的特殊规则 2018年拍摄于京都智积院,千利休最喜欢的庭院之一。微信公众号王皓的GitHub:https://github.com/TenaciousDWang这一回主要讲讲Java的内存模型JMM(Java Memory Model)及其特性和规则以及volatile关键字相对于JM...原创 2019-07-15 10:17:54 · 203 阅读 · 0 评论 -
创建一个 Netty Client
来创建一个Netty Client!NettyClient.java客户端与服务端类似,也需要线程模型、IO模型以及处理逻辑。拍摄于台湾省垦丁,于2015年最后一天。微信公众号 王皓的GitHub:https://github.com/TenaciousDWang来创建一个Netty Client!NettyClient.java客户端与服务端类似,也...原创 2019-06-05 11:16:37 · 1147 阅读 · 0 评论 -
创建一个 Netty Service
这是2015年最后一天的日落,拍摄于台湾省垦丁。台湾岛最南端,已经过了北回归线,冬天去时不到25度,温度适宜,但是还是被晒伤。 微信公众号 ...原创 2019-06-05 14:47:24 · 778 阅读 · 2 评论 -
Netty 客户端与服务端双向通信
2016年,拍摄于台湾省垦丁,这就是太平洋了,风太大了我这个吨位几乎站不住。微信公众号王皓的GitHub:https://github.com/TenaciousDWang 现在我们已经学会了如何启动一个Netty的客户端与服务端,接下来,我们来让他俩双向通讯。客户端发送数据 首先,我们看一下引导类.handler这个位置,之前我们说过这...原创 2019-06-06 14:45:01 · 3322 阅读 · 0 评论 -
Netty 组件 Pipeline 与 ChannelHandler
2015年去台湾第一天,台北做公交车准备去台北车站坐捷运去淡水。台北街头,机车大军。捷运站。 微信公众号 ...原创 2019-06-13 13:31:01 · 261 阅读 · 0 评论 -
Netty 重构 客户端与服务端 Pipeline
拍摄于西安大兴善寺。 微信公众号 王皓的GitHub:https://github.com/TenaciousD...原创 2019-06-14 14:33:33 · 272 阅读 · 0 评论 -
Netty 二进制通信协议设计
Netty 二进制 通信 协议 设计二进制通信协议2015年在台湾省九份铁路,这是一条日本人修建的用来采矿用的铁路,现在重新修建后作为客运铁路,一路上周围全是原始森林,一路上零零散散的小镇,很温馨。 ...原创 2019-06-10 09:21:55 · 2021 阅读 · 0 评论 -
Netty 客户端登陆流程
接上篇,九份小火车的驾驶室终点站,熟悉吗?《那些年我们追过的女孩》场景之一到了九份,依山而建,山下远处就是大海像不像千与千寻里的,宫崎骏的千与千寻就是在这里完成构思汤婆婆的屋最后来张小吃店的图,好多小吃,人很多,很温馨。 ...原创 2019-06-11 09:09:24 · 1635 阅读 · 0 评论 -
Netty 粘包与拆包
粘包 拆包 原理浅析 Netty中的应用 2016年拍摄于台湾省日月潭制高点慈恩塔,只有这个地方才能才看什么是日哪个是月。 微信公众号 王皓的GitHub:https://github.com/TenaciousDWang今天来说一下网络通信过程中一些不可避免的数据包粘包与半包问题,应该如何解决。虽然我们在应用层...原创 2019-06-21 09:32:50 · 341 阅读 · 0 评论 -
Netty 客户端和服务端发送与接受消息
刚好翻以前拍的照片,今天就发几张去朋友家撸猫拍的照片吧。 微信公众号 王皓的GitHub:https://github.com/Tenac...原创 2019-06-12 09:10:53 · 12562 阅读 · 0 评论 -
Netty 客户端数据交互
今天发点人文的东西,这三张图都拍摄于拉卜楞寺。 微信公众号 王皓的GitHub:h...原创 2019-07-02 08:55:10 · 1720 阅读 · 0 评论 -
Java 创建线程的方式
Java 创建线程的方式 创建Thread 创建 线程 多线程 三种方式 创建多线程 微信公众号 ...原创 2019-07-08 08:51:18 · 424 阅读 · 0 评论 -
Netty 聊天群组创建与通知
微信公众号 王皓的GitHub:https://github.com/Tenaciou...原创 2019-07-03 11:28:42 · 1166 阅读 · 0 评论 -
Java 线程的生命周期 Thread类的使用
java线程 线程生命周期 Thread类如何使用王皓的GitHub:https://github.com/TenaciousDWang 微信公众号 上一回说了线程的创建,现在我们来说一下线程的生命周期。首先我们先看一下线程在不同生命时期都有哪些状态。 线程从创建到终止,包括以下这几个状态:新建状态(N...原创 2019-07-09 13:58:03 · 147 阅读 · 0 评论 -
Netty ChannelHandler的生命周期
2016年拍摄于台湾省垦丁鹅銮鼻灯塔。 微信公众号 王皓的GitHub:https://gi...原创 2019-06-28 13:56:01 · 830 阅读 · 0 评论 -
Netty 群组聊天与管理
2016年冬天在大连小平岛,罕见零下22摄氏度,看到海面上冒烟,像温泉,但是冰冷刺骨,大傻鸥抗冻。小平岛象鼻山~ 微信公众号 ...原创 2019-07-04 09:17:17 · 1421 阅读 · 0 评论 -
Java 同步代码块synchronized
如何使用synchronizedsynchronized 关键字 同步代码块 synchronized 原理浅析 如何使用Java同步代码块synchronized2018年拍摄于日本奈良的小鹿,鹿随便摸,手感棒棒的。微信公众号王皓的GitHub:https://github.com/TenaciousDWang上回说到线程的生命周期,今天接着说一下并发编程中...原创 2019-07-10 13:51:37 · 801 阅读 · 0 评论 -
Java编程设计模式之完美单例模式
懒汉式:public class Single { private static volatile Single instance; private Single() {} public static Single getInstance() { if (instance == null) { synchronized ...原创 2019-01-03 11:47:48 · 169 阅读 · 0 评论