• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

JDK10源码阅读–String

JDK10源码阅读–String
jdk源码里对String的介绍: String 是不可变的,一旦被创建其值不能被改变. String buffers 支持可变String. 因为String是不可变的, 所以它们可以被共享. 例如: String str = "abc"; 等价于 char data[] = {'a', 'b', &……继续阅读 »

wangting 1年前 (2018-09-21) 3601浏览 79评论 0个赞

[java基础]一文理解java多线程必备的sychronized关键字,从此不再混淆!

[java基础]一文理解java多线程必备的sychronized关键字,从此不再混淆!
java并发编程中最长用到的关键字就是synchronized了,这里讲解一下这个关键字的用法和容易混淆的地方. synchronized关键字涉及到锁的概念, 在java中,synchronized锁大家又通俗的称为:方法锁,对象锁 和 类锁 三种. 先上结论! 1 无论是修饰方法还是修饰代码块都是 对象锁,当一个线程访问一个带synchronized方法……继续阅读 »

wangting 1年前 (2018-09-11) 10195浏览 117评论 0个赞

TCP连接的三次握手和四次挥手详解

TCP连接的三次握手和四次挥手详解
尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。 本文将分别讲解经典的TCP协议建立连……继续阅读 »

wangting 2年前 (2017-11-16) 261浏览 0个赞

一致性哈希算法的原理

一致性哈希算法的原理
一致性哈希算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memc……继续阅读 »

wangting 2年前 (2017-11-14) 257浏览 1个赞

java关键字,volatile内存可见性和指令排序

java关键字,volatile内存可见性和指令排序
volatile的两大作用 1保证内存可见性 2防止指令排序 注意: volatile并不保证操作的原子性. (一) 内存可见性 1 概念   JVM内存模型:主内存和线程独立的工作内存 Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存(比如CPU的寄存器),线程只能访问自己的工作内存,不可以访问其它线程的工作内……继续阅读 »

wangting 2年前 (2017-11-11) 300浏览 0个赞

java中几种单例模式的写法

java中几种单例模式的写法
  一: 饱汉模式 二: 饱汉模式变种1, 线程安全 三:饱汉模式变种2: 几乎懒加载+线程安全 四: 包含模式变种3, 完美 五:饿汉模式,天生线程安全 六:holder模式 完美   七 枚举实现 ……继续阅读 »

wangting 2年前 (2017-11-02) 413浏览 0个赞

java工程师成神之路-目录

java工程师成神之路-目录
一、基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 1.1.2. 了解JVM各种参数及调优 1.1.3. 学习使用Java工具 https://github.com/alibaba/TProfiler https://githu……继续阅读 »

wangting 2年前 (2017-08-11) 516浏览 0个赞

ARRAYLIST VECTOR LINKEDLIST 区别与用法

ARRAYLIST VECTOR LINKEDLIST 区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需……继续阅读 »

wangting 2年前 (2017-07-26) 306浏览 0个赞

遍历map的三种方式

遍历map的三种方式
//第一种:普遍使用,二次取值 System.out.println(“通过Map.keySet遍历key和value:”); for (String key : map.keySet()) { System.out.println(“key= “+ key + ” and value= R……继续阅读 »

wangting 2年前 (2017-07-26) 381浏览 0个赞

HashMap 和 Hashtable的区别

HashMap 和 Hashtable的区别
比较简单的回答: 1、HashMap是非线程安全的,HashTable是线程安全的。 2、HashMap的键和值都允许有null值存在,而HashTable则不行。 3、因为线程安全的问题,HashMap效率比HashTable的要高。     HashMap 内部存储结构: Java中数据存储方式最底层的两种结构,一种是数组,另一种就……继续阅读 »

wangting 2年前 (2017-07-26) 297浏览 0个赞