
java
连续两届村草
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM对象引用以及回收算法
java回收机制概念引用回收算法概念为了避免内存溢出,内存泄漏的问题,虽然java有自动垃圾回收机制,但是在高数据量,高并发时,我们仍需要去注意java的回收机制。引用Java回收算法需要判断对象是否存活,判断存活的方式,都与“引用”有关,引用的含义是指:引用类型的数据中,存在其他对象的内存地址,我们称这块内存存在引用。java中将引用分为四个强度等级:强引用 ,java中最普遍存在的引用方式,只要强引用还存在,虚拟机宁可报出“OOM”异常,也不会对强引用进行回收;软引用 ,指的是有用但是非必原创 2020-12-31 10:41:43 · 265 阅读 · 0 评论 -
java常见锁
CAS算法:保证数据操作的原子性内存值 V 预估值 E 更新值 N当V==E的时候 将N的值赋给V;如果V != E的时候 说明其他线程已经将预期值进行更改,N值想不会赋值给V。不管赋值是否成功。CAS算法会返回当前的V值。JAVA锁:一、重入锁(ReentrantLock)与内部锁(Synchorized):重入锁与内部锁的功能上接近,内部锁能完成的事情,重入锁都可以实现。不同在于1.重入锁需要在finally中关闭锁,而内部所不需要关闭,会自动关闭。2.重入锁会通过condi原创 2020-08-04 19:32:42 · 364 阅读 · 0 评论 -
BFS计算无向图的最短路径问题(普里姆算法prim)
无向图计算最短路径:通过建立二维数组来表示两点之间是否可达,通过寻找连通分量,每次找到过一个点就将点放入到list集合中,并且当前连通量的个数减去一个,每次寻找的点都必须是到达list中最短的,并且当前连通量的个数减去一个,当连通量等于1的时候,那么list中的各个点的路径就是无向图的最短路径。//无向图最小生成树public class Prim { public static void main(String[] args) { Prim p = new Prim(); //原创 2020-07-25 20:32:43 · 1324 阅读 · 0 评论 -
Synchronized关键字的工作原理
synchronized保证了开发过程中多线程操作的线程安全。在多线程对共享资源进行非原子性操作的时候我们需要对共享资源上锁。(非原子性操作指线程完成的不是某个事情,而已操作一组任务)JAVA中synchronized中实际就是给对象上锁,对象主要表现为三种形式,1.当前对象this,对实例化方法进行上锁。2.class,对静态方法进行上锁。3.new Intance,对代码块上锁。注:锁只有一把,同一对象下给甚至多个方法上锁,不允许同时访问。synchronized锁对的是对象,那就说一下对原创 2020-07-12 17:57:18 · 188 阅读 · 0 评论 -
java文件操作实现序列化
java实现对象的序列化,将对象以二进制传入文件package com.lq.dao;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;im...原创 2018-12-13 21:24:45 · 303 阅读 · 0 评论 -
封装一个可以传入任意类型的数组
package dataPractice;public class Array<E> { private E[] arr; private int size; //数组实际的元素个数 //添加有参构造器,在创建数组的时候直接赋值数组的属性 public Array(int capacity){ arr = (E[])n...原创 2019-02-17 17:22:09 · 850 阅读 · 0 评论