首页
学习
活动
专区
工具
TVP
发布

java 成神之路

专栏成员
163
文章
281475
阅读量
63
订阅数
RocketMQ NameServer 原理分析
NameServer 是RocketMQ 消息队列的状态服务器(服务发现功能),集群中的各个服务都需要通过 NameServer 来了解集群中各个服务的状态。相当于 SpringCloud 中的 Eureka 的功能。
java404
2018-12-18
1.7K0
RocketMQ 底层通信机制 源码分析
RocketMQ 底层通讯是使用Netty来实现的。 下面我们通过源码分析下RocketMQ是怎么利用Netty进行通讯的。
java404
2018-12-17
1K0
CompletableFuture 使用详解
没有指定Executor的方法会使用ForkJoinPool.commonPool() 作为它的线程池执行异步代码。如果指定线程池,则使用指定的线程池运行。以下所有的方法都类同。
java404
2018-10-10
4.1K1
Hystrix cache 源码分析
hystrix给我们提供了缓存功能,支持将一个请求结果缓存起来,下一个具有相同key的请求将直接从缓存中取出结果,减少请求开销。
java404
2018-08-13
6860
MTU 和 MSS 区别
MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层(通常是IP层)最大一次传输数据的大小;以普遍使用的以太网接口为例,缺省MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有<=1500 byte 需要发送,只需要一个IP包就可以完成发送任务;如果IP层有> 1500 byte 数据需要发送,需要分片才能完成发送,这些分片有一个共同点,即IP Header ID相同。 MSS:Maximum Segment Size ,TCP提交给IP
java404
2018-06-08
2K0
java 序列化 原理解析
序列化相关文章: Java 序列化 之 Serializable Java 序列化之 Externalizable Java 序列化 之 单例模式。 阅读本文章之前,务必要阅读上面的三篇文章。 这篇文章是围绕上面三篇文章的原理进行剖析的。 因为 ObjectInputStream 和 ObjectOutputStream 类比较复杂,这里只解析跟上面三篇文章相关的内容。 java 序列化示例 public class Test{ public static void main(String[]
java404
2018-05-18
1.1K0
浅谈UML类图中类之间的5种关系
什么是UML类图? 类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。 类与类之间的关系 类与类之间的关系可以根据关系的强度依次分为以下五种: 依赖关系(Dependency)---关联关系(Association)---聚合(Aggregation)---组合(Composition)---泛化(Generalization) 1.
java404
2018-05-18
8270
Java IO 之 管道流 原理分析
概述 管道流是用来在多个线程之间进行信息传递的Java流。 管道流分为字节流管道流和字符管道流。 字节管道流:PipedOutputStream 和 PipedInputStream。 字符管道流:PipedWriter 和 PipedReader。 PipedOutputStream、PipedWriter 是写入者/生产者/发送者; PipedInputStream、PipedReader 是读取者/消费者/接收者。 字节管道流 这里我们只分析字节管道流,字符管道流原理跟字节管道流一样,只不过
java404
2018-05-18
2K0
jvm 性能调优工具之 jmap
概述 命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。 jmap
java404
2018-05-18
1.5K0
生成 Heap Dump 的几种方式
Heap Dump 概述 Heap Dump 是 Java进程所使用的内存情况在某一时间的一次快照。以文件的形式持久化到磁盘中。 Heap Dump的格式有很多种,而且不同的格式包含的信息也可能不一样。但总的来说,Heap Dump一般都包含了一个堆中的Java Objects, Class等基本信息。同时,当你在执行一个转储操作时,往往会触发一次GC,所以你转储得到的文件里包含的信息通常是有效的内容(包含比较少,或没有垃圾对象了) 。 Heap Dump 包含的信息 所有的对象信息 对象的类信息、字段
java404
2018-05-18
3.3K0
java.lang.Void 解析与使用
今天在查看源码的时候发现了 java.lang.Void 的类。这个有什么作用呢? 先通过源码查看下 package java.lang; /** * The {@code Void} class is an uninstantiable placeholder class to hold a * reference to the {@code Class} object representing the Java keyword * void. * * @author unascribed
java404
2018-05-18
6730
从零手写IOC
概述 IOC (Inversion of Control) 控制反转。熟悉Spring的应该都知道。那么具体是怎么实现的呢?下面我们通过一个例子说明。 1. Component注解定义 package cn.com.infcn.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; impor
java404
2018-05-18
9701
网络传输 相关概念
单工 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 例如: 无线广播,数据只能从发送到传输到接收端。 半双工 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 例如:HTTP协议 同一时刻数据只能单向流动,客户端向服务端请求数据或者服务器向客户端响应数据。 全双工 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 例如:Socket协议、websocket协议、电话 socket协议是支持双全工
java404
2018-05-18
8830
Junit 测试之 Spring Test
在做spring相关测试时比较麻烦,如果只用JUnit测试,需要没测有初始化一下applicationContext,效率比较底下,而且也有不足之处。 导致多次Spring容器初始化问题 根据JUnit测试方法的调用流程,每执行一个测试方法都会创建一个测试用例的实例并调用setUp()方法。由于一般情况下,我们在setUp()方法 中初始化Spring容器,这意味着如果测试用例有多少个测试方法,Spring容器就会被重复初始化多次。虽然初始化Spring容器的速度并不会太 慢,但由于可能会在Spring容
java404
2018-05-18
1.9K0
Java Timer 定时任务实现原理及缺陷分析
Timer Demo public class ThreadTest { public static void main(String[] args) { TimerTask task1 = new TimerTask() { @Override public void run() { System.out.println("task1 run ... execute time:"+new Simple
java404
2018-05-18
1.2K0
Spring mvc 启动配置文件加载两遍问题
问题描述 在使用spring mvc 启动的时候,用到了一个在程序启动时加载的配置方法init-method="initLoad",并启动多线程来做数据同步,但是在程序启动之后发现该方法的任务被执行了
java404
2018-05-18
1.8K0
JSP 热部署 源码解析
概述 我们知道在开发工程的时候jsp文件是即修改即生效的。Tomcat jsp热部署的实现原理是每个JSP页面从上次访问到下次访问总是有默认几秒的缓存时间的,也就说并不是严格的即修改即生效,tocmat7默认是有4秒的缓存延迟的。这个默认的缓存延迟是在类 EmbeddedServletOptions 的 private intmodificationTestInterval = 4; 这个属性定义的。如果过了4秒缓存时间即失效,这个时候tomcat就会读取jsp的modified时间戳和work目录下编译好
java404
2018-05-18
4.5K0
spring 循环依赖注入
什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如A引用B,B引用C,C引用A,则它们最终反映为一个环。 spring 中循环依赖注入分三种情况 构造器循环依赖 setter方法循环注入 2.1 setter方法注入 单例模式(scope=singleton) 2.2 setter方法注入 非单例模式 ---- 我们首先创造3个互相依赖的bean类 A.java public class A { private B b; public A(){
java404
2018-05-18
1.1K0
Spring mvc 内置编码过滤器原理解析
在Spring mvc框架中是如何解决从页面传来的字符串的编码问题的呢? 下面我们来看看Spring框架给我们提供过滤器CharacterEncodingFilter。 web.xml 中 添加如下配置: <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-clas
java404
2018-05-18
1.2K0
Tomcat connector 实现原理
Bootstrap.main()->Bootstrap.init() BootStrap.init() bootstrap.init() 方法中设置catalinaDaemon 创建 Connecto
java404
2018-05-18
1.7K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档