![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
每天多学一点点.
这个作者很懒,什么都没留下…
展开
-
阿里云视频点播服务---aliyun-sdk-vod-upload报错(红色波浪线)--- 解决办法
今天使用阿里云的视频点播服务,其中有aliyun-sdk-vod-upload依赖,但是一直没有办法导入成功,看了网上半天的博客,终于解决了这个问题!首先,aliyun-sdk-vod-upload.jar 不是开源的jar导致maven中央仓库是没有的,所以我们在pom中直接依赖是无法成功的。我们要做的就是手动下载引入:1. 阿里云aliyun-sdk-vod-upload.jar下载地址https://help.aliyun.com/document_detail/51992.html?spm=原创 2020-10-05 15:04:46 · 1767 阅读 · 2 评论 -
Java 多线程机制(快速了解多线程)
一、简介1、进程与线程进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位)程序是一段静态的代码,它是应用软件执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。现代操作系统可以同时管理一个计算机系统中的多原创 2020-09-06 15:05:25 · 710 阅读 · 0 评论 -
CAS概述、定义、缺点和优化
1.CAS概述CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术.2. CAS定义CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操作。3. CAS的...原创 2020-04-25 20:14:57 · 623 阅读 · 0 评论 -
ArrayList源码解读(JDK8)
首先,我们可以看到,ArrayList继承的是AbstractList抽象类,实现的是List接口ArrayList的成员变量都用private static final来进行修饰,默认的容量是10我们从上面的ArrayList的构造函数可以得知,如果不设置initialCapacity,创建实例对象时,系统默认的capacity为默认的0.接下来,我们来看看ArrayList的add...原创 2020-04-25 20:09:30 · 184 阅读 · 0 评论 -
JAVA线程类面试题
并行和并发有什么区别?–并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。–并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。–在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。线程和进程的区别?简而言之,进程是程序运行和...转载 2020-04-14 10:48:14 · 156 阅读 · 0 评论 -
哈希表和 Java 的前世今生(下),掌握HashMap看这一篇就够了!!!
在哈希表和 Java 的前世今生(上),掌握HashMap看这一篇就够了!!! 中,我们讲解了哈希表的原理以及JDK7 HashMap的源码及JDK7中HashMap的注意点。在哈希表和 Java 的前世今生(中),掌握HashMap看这一篇就够了!!!中,我们讲解了JDK8 HashMap的源码,以及其与JDK7 HashMap的区别。五、简单来看一下 HashtableHashMap ...原创 2020-04-08 22:04:05 · 276 阅读 · 1 评论 -
Java的GC机制,引用计数和可达性分析算法,finize()方法,四种回收算法,哪些对象可以作为GC ROOTS对象
JavaGC机制主要完成三件事情:一、哪些内存需要回收。二、什么时候回收。三、如何回收。引用计数法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就+1;当引用失效时,计数器的值就-1;任何时刻计数器的值为零的对象就是不可能再被使用。可达性分析算法通过一系列的“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程中所走的路径称为“引用链”,...原创 2020-03-16 16:23:24 · 428 阅读 · 0 评论 -
volatile简介
Volatile是java提供的轻量级同步机制,比sychronized开销要小. 如果要使用 volatile 了,那肯定是在多线程并发的环境下(原子性、可见性、有序性).被volatile定义的变量,系统每次使用到它的时候都是直接从主存中读取,而不是各个线程的工作内存.volatile适用于多个变量之间或者某个变量当前值和修改之后值之间没有约束。因此,单独使用volatile还不足以实现计数...原创 2020-02-05 11:29:07 · 150 阅读 · 0 评论 -
StackOverflow和OOM的区别
1 StackOverflow每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法时,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。如果方法的嵌套调用层次太多(如递归调用),随着java栈中的帧的增多,最终导致这个线程的栈中的所有栈帧的大小的总和大于-Xss设置的值,而产生StackOver...原创 2019-11-19 10:06:32 · 2984 阅读 · 0 评论 -
java.util.concurrent解析及线程池常用参数
1 java.util.concurrent1.1 主要部件java.util.concurrent中包含了太多的功能,在本文中,我们将主要关注此包中一些最有用的实用程序,如:• Executor• ExecutorService• ScheduledExecutorService• Future• CountDownLatch• CyclicBarrier• S...原创 2019-11-16 10:31:55 · 390 阅读 · 0 评论