随笔分类 - java
关于java的一些个人学习与分享
摘要:JUC是java.util.concurrent包的简称,在Java1.5添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题。 1、虚假唤醒 1.1、导致原因 假设有线程A、B、C、D四个去操作一个资源number(number值为0),A、B线程执行加一操作,
阅读全文
摘要:1、简介 1.1、进程 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。 1.2、线程 程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或多个线程,各个线程
阅读全文
摘要:1、JVM的位置 包含在JRE中,在操作系统之上。 结构模型图: JDK7和JDK8的区别 2、JAVA程序执行顺序 .java源代码文件 通过编译器编译为字节码.class文件 通过类加载器(class loader)把字节码文件加载到内存当中 通过字节码校验器传递给解释器 解释器对字节码进行逐行
阅读全文
摘要:1、计算机网络 计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。 1.1、网络协议 如果计算机网络各自的通讯协议不统一,就没法把不同的网络连接起来形成互联网。因此,为了把计算机网络接入互联网,就必须使用TCP/IP协议
阅读全文
摘要:了解数据结构,帮助你更好的理解集合与数据库索引中的原理
阅读全文
摘要:Collection和Map,是集合框架的根接口。 1、Collection 1.1、List 有序列表(FIFO),可存放重复元素。 1.1.1、ArrayList 数组结构(查询快,增删慢),线程不安全。 自动扩容机制: 首先得到当前elementData属性的长度oldCapacity。 然后
阅读全文
摘要:引用类型篇 名称 描述 强引用 最普通的引用Object o = new Object(); 软引用 垃圾回收器,内存不够的时候回收(缓存) 弱引用 垃圾回收器看见就会回收(防止内存泄漏) 虚引用 垃圾回收器看见二话不说就回收,跟没有一样(管理堆外内存)DirectByteBuffer → 应用到N
阅读全文
摘要:在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是同一个,但是每个线程都使用同一个初始值,也就是使用同一个变量的一个新的副本。这种情况之下ThreadLocal就非常有用
阅读全文