随笔分类 - Java
适合小白
摘要:## **一 基础知识** 在讲byte的范围前,先普及下在java中数据在计算机中的表示方法,**数据在计算机中都是用二进制表示的,并且是用补码进行数据计算的。** **先引入原码,反码,补码:** **原码**:原码是一种计算机中对数字的二进制定点表示方法,一般进制的最高位是**符号位,1**代
阅读全文
摘要:原文链接:https://blog.csdn.net/asd051377305/article/details/104801195 # 异常产生 当我们迭代一个[ArrayList](https://so.csdn.net/so/search?q=ArrayList&spm=1001.2101.30
阅读全文
摘要:**ConCurrentHashMap 1.8 相比 1.7的话,主要改变为:** - 去除 `Segment + HashEntry + Unsafe` 的实现, 改为 `Synchronized + CAS + Node + Unsafe` 的实现 其实 Node 和 HashEntry 的内容
阅读全文
摘要:# 集合 什么是集合?有什么用? 数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其他类型的数据。 集合为什么说在开发中使用的较多? 集合是一个容器,是一个载体,可以依次容纳多个对象。 在实际的开发中,假设连接数据库,数据库当中有10条记录,那么假设把这10条记录查询出来,在java程序中会
阅读全文
摘要:# 五种状态 开始状态(new) 就绪状态(runnable) 运行状态(running) 阻塞状态(blocked) 结束状态(dead) # 状态变化  | Byte | | short(2字
阅读全文
摘要:**问题** 1) short s1 = 1; s1 = s1+1;有什么错? 2) short s1 = 1; s1 += 1;有错吗? **讨论** 1)+:在编译器将右边的表达式结果计算出来后,和左边的变量类型比较精度,如果左边的变量精度低于右边的结果的精度,编译器会显式的报错,告诉程序员去强
阅读全文
摘要:## 写在前面 在学习数据结构和算法的时候,经常会碰到O(1),O(n)等等用来表示时间和[空间复杂度](https://so.csdn.net/so/search?q=空间复杂度&spm=1001.2101.3001.7020),那这到底是什么意思。我们对于同一个问题经常有不同的解决方式,比如排序
阅读全文
摘要:众所周知,[AtomicInteger](https://so.csdn.net/so/search?q=AtomicInteger&spm=1001.2101.3001.7020)用于多线程下线程安全的数据读写操作,避免使用锁同步,底层采用CAS实现,内部的存储值使用volatile修饰,因此多线
阅读全文
摘要:1. @interface 用来定义一个自定义注解 在Java中,定义注解其实和定义接口差多不,只需要在interface前添加一个@符号就可以,即 @interface Zhujie{ },这就表明我们定义了一个名为 @Zhujie 的注解。 注解中的方法即为注解的元素,元素中不能包含参数,返回值
阅读全文
摘要:## java中的各种锁 **一、概述** 1. 乐观锁 CAS 2. 悲观锁 synchronized 3. 自旋锁 CAS 4. 可重入锁 synchronized、Reentrantlock、Lock 5. 读写锁 ReentrantReadWriteLock,CopyOnWriteArray
阅读全文
摘要:# 转载自:https://blog.csdn.net/weixin_48271092/article/details/124419062 ### 线程池 - - [一、线程存在的问题](https://blog.csdn.net/weixin_48271092/article/details/12
阅读全文
摘要:> CAS又称 [自旋锁](https://so.csdn.net/so/search?q=自旋锁&spm=1001.2101.3001.7020)、无锁,是一种乐观锁 ,
阅读全文
摘要:## 一、并发容器ConcurrentHashMap HashMap是我们用得非常频繁的一个集合,但是它是线程不安全的。并且在多线程环境下,put操作是有可能产生死循环,不过在JDK1.8的版本中更换了数据插入的顺序,已经解决了这个问题。 为了解决该问题,提供了Hashtable和Collectio
阅读全文
摘要:# 一 、condition 介绍及demo Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、[notify](https://so.csdn.net/so/search?q=notify&spm=1001.2101.3001.7020)()实现线程间的
阅读全文
摘要:先看一个例子如果你会了那这篇文章你没必要看了,如果不会那请看下去,你一定会有收获: ```java String s = new String("hello"); String str1 = s+ "world"; String str3 = "helloworld"; system.out.pri
阅读全文