- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Java GC系列之垃圾回收机制
简述 垃圾回收-GC(Garbage Collection)。 在讲垃圾回收之前,我们需要思考一个问题:wwh(which、when、how) 哪些内存需要回收,什么时候回收、怎么回收? java内存区域分为:方法区、虚拟机栈、本地方法栈、堆、程序计数器。 which:其中,本地方法栈、虚拟机栈、程序计数器3个区域跟线程“同生共死”,线程结束,内存也就回收了。而堆与方法区则不一样,程序在...
2019-04-10 16:50:00 354 1
原创 SpringCloud之服务提供者与消费者
提供者提供服务,将服务注册到注册中心,消费者到注册中心消费服务 一.提供者 1.pom文件: <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...
2019-05-18 18:20:27 511 1
原创 SpringCloud之搭建服务注册中心
1.pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/...
2019-05-18 18:08:04 187
原创 new对象时,java虚拟机内部处理过程
在java编程中,我们需要一个类的实例时,只需要new一个对象就得到了这个实例,然后对实例对象进行操作,那么当我们new对象时虚拟机又会进行什么操作呢? java虚拟机遇到一条new指令时,就会为这个对象分配内存,即把一块确定大小的(类加载完成后就已经确定该对象的所需内存大小)内存空间从java堆中划分出来。 内存分配的两种方式: 1.指针碰撞 2.空闲列表 下面引自《深入理解jav...
2019-04-08 14:37:45 362
原创 Dubbo
Dubbo是一个分布式服务框架,是国内阿里巴巴的维护的一个项目,后开源给Apache。 Dubbo是什么? 简单来说,dubbo就是一款高性能、轻量级的RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 那么什么又叫作RPC? RPC【Remote Procedure Call】--->远程过程调用。是一种进程间通信方式,他是一种技...
2018-12-17 09:58:16 124
原创 BIO与NIO
BIO(阻塞模式)、NIO(非阻塞模式)。 BIO:即blocking IO,是一种阻塞式的IO。 jdk1.4版本之前Socket即BIO模式。 BIO的问题在于accept()、read()的操作点都是被阻塞的。 服务器线程发起一个accept动作,询问操作系统是否有新的socket信息从端口X发送过来。注意,是询问操作系统。如果操作系统没有发现有socket从指定的端口X来,那...
2018-12-11 10:06:39 323 2
原创 简述TCP与UDP协议
我们都知道,现实生活中,两人远距离需要联系、通信,要联系对方,如果是写信,我们就需要知道对方的居住地址,需要打电话,那么也一定需要知道对方的电话号码。 那么同理,在计算机世界中,两台机器如果需要通信,也是需要对方的地址的,而机器的地址比较特殊,是一串32位的二进制数字,为了方便,通常会转换为10进制显示,这串数字有个专门的词语描述------IP地址。 IP:网络中计算机的唯一标识; 3...
2018-12-11 09:57:16 853
原创 由Zookeeper看分布式锁
1、Zookeeper是什么? Zookeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。 ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。诸如:统一命名服务、分布式配置...
2018-12-11 09:27:23 220
转载 java只有值传递
java只有值传递,没有引用传递。 链接:https://www.cnblogs.com/coderising/p/5697986.html
2018-12-06 10:09:45 130
原创 a=15,b=2,如何不通过其他变量和=符号交换a、b的的值
不能通过=符号交换的话,也就是说不能用其他变量去取保存两者值了。于是马上想到了异或运算符:^ a = 15 二进制:1111 b = 2 二进制:0010 a = a ^ b = 1101 = 13 b = b ^ a = 1111 = 15 a = a ^ b = 0010 = 2 通过异或运算不用借助第三个变量就可以交换两者值,位运算神奇吗 a ^ b ^ a = 2 ---...
2018-12-06 09:14:08 225
原创 vector与ArrayList扩容机制以及增长大小
在知乎上看到一个问题:vector为什么要用加倍扩容而不是每次增加一个固定的扩容容量? 我先了解了一下vector的扩容原理,vecctor底层是数组结构,是一段连续的数组,当集合也就是数组装满以后,如果还需要增加数据,为保证连续性,会重新申请更大的内存空间,然后将现有数据复制到新的内存空间中,再将新增数据添加到数组里面,释放原来的内存,其内存地址也相应改变,指向原vector的所有迭代器就都会...
2018-12-05 15:23:42 3309
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人