Java
文章平均质量分 97
UserNamezhangxi
这个作者很懒,什么都没留下…
展开
-
Java存储数据List Map Set 简单对比
ArrayListArrayList底层是一个list接口的可变数组的非同步实现,包括null,扩容1.5倍,性能消耗严重,所以在初始化的时候,最好指定容量。https://www.cnblogs.com/leesf456/p/5308358.htmlLinkedListLinkedList底层使用的双向链表结构第一个节点数据prev = null ,最后一个数据节点next = nullhttps://www.cnblogs.com/leesf456/p/5308843.html原创 2020-10-14 15:31:05 · 374 阅读 · 0 评论 -
Java 中的Synchronized 和 ReentrantLock
Java 中的Synchronized 和 ReentrantLock在java中,解决同步问题,很多时候都会使用到synchronized和Lock,这两者都是在多线程并发时候常使用的锁机制Synchronized 是属于JVM层面的锁,相当于如果我们给某个方法或者变量增加Synchronized关键字,这个方法或者变量的锁的管理就会由系统来自动管理synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问。使用方式synchronized原创 2020-09-29 16:32:38 · 256 阅读 · 0 评论 -
通过Socket通信理解TCP机制
通过Socket通信理解TCP1、什么是TCP协议TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。即客户端和服务器之间在交换数据之前会先建立一个TCP连接,才能相互传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。2、什么是Socket协议网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。socket里面已经封装好了UDP和TCP/IP协议,直接使用就可以了。网上好多说TCP 三次握手 四次原创 2020-09-10 22:06:47 · 310 阅读 · 0 评论 -
ThreadLocal 的工作原理
ThreadLocal 是线程的内部数据的存储类,通过它可以在指定线程中存储数据,数据存储以后只有在指定的线程中才能获取到对应的存储的数据,其他线程无法获取到数据。下面通过一个小块代码来分析一下它的使用:private ThreadLocal<Boolean> mBooleanThread = new ThreadLocal<Boolean>();......原创 2018-12-04 22:55:41 · 390 阅读 · 0 评论