自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 一、Hello world

读书笔记--程序员的自我修养

2022-08-10 00:45:50 169

原创 -bash: gcc: command not found

gcc

2022-08-10 00:21:00 2557

原创 ifconfig: command not found

ifconfig

2022-08-10 00:00:52 259

原创 JavaScript 闭包

要了解闭包,首先需要了解一下js中的变量作用域 1、变量作用域 js中全局变量拥有全局的作用域,在js中的任何地方都是有定义的。函数内声明的变量以及函数参数都是局部变量,只在函数体内有定义。 在函数体内,局部变量的优先级高于同名的全局变量,因此全局变量就被局部变量所遮盖。 例1: var scope = 'global' //声明一个全局变量 function checkscope(){ var scope = 'local' //声明一个同名的局部变量 return

2021-08-31 14:54:28 157

原创 JVM(一) -- 类加载

JVM(一)类加载机制生命周期类加载器双亲委派模型 类加载机制 生命周期 类的生命周期包括: 加载验证准备解析初始化使用卸载 其中验证、准备、解析3个部分被称为连接。 加载 获取指定类的二进制流。 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 生成一个Class对象,作为方法区这个类的数据的访问入口。 验证 确保Class文件的字节流中包含的信息符合当前虚拟机的要求,并不会危害虚拟机自身的安全。 准备 该阶段为类的static变量分配内存并设置相应数据类型的默认值,若该变量为fi

2020-06-10 18:15:09 165

原创 java高并发、多线程(九)-- CyclicBarrier

java高并发、多线程(九)CyclicBarrier代码事例源码结构事例执行流程 CyclicBarrier 代码事例 先看一段代码: public class CyclicBarrierTest { public static void main(String[] args) { CyclicBarrier cb = new CyclicBarrier(2,() -> System.out.println(Thread.currentThread().getName() +

2020-06-10 14:47:55 254

原创 java高并发、多线程(八)--LockSupport.park()会释放锁吗?

java高并发、多线程(八) public class LockSupportTest { public synchronized void m1(){ System.out.println("m1 start"); LockSupport.park(); System.out.println("m1 end"); } public synchronized void m2(){ System.out.pri

2020-06-09 20:41:50 1489 2

原创 java高并发、多线程(七)--CountDownLatch

java高并发、多线程(七)CountDownLatch一个简单的例子源码Sync类 CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 一个简单的例子 public class CountDownLatchTest { public static void main(String[] args) { List<Thread> list = new ArrayList<>();

2020-06-08 18:11:00 281

原创 java高并发、多线程(六)--ReentrantLock

java高并发、多线程(六)ReentrantLockNonfairSync类tryAcquire(int)lock()FairSync 类Sync类 ReentrantLock ReentrantLock源码结构: public class ReentrantLock implements Lock, java.io.Serializable { private final Sync sync; //锁实现类 abstract static class Sync extends A

2020-06-08 15:20:40 283

原创 java高并发、多线程(五)--AbstractQueuedSynchronizer

java高并发、多线程(五)AbstractQueuedSynchronizer AbstractQueuedSynchronizer AbstractQueuedSynchronizer(AQS)提供一个框架,用于实现依赖先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)。 首先我们来看看它的源码结构: public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer

2020-06-05 18:32:39 201

原创 算法与数据结构(二)--二分法

算法与数据结构(二)--二分法二分法定义练习 二分法定义 二分法(Bisection method) 即一分为二的方法. 设[a,b]为R的闭区间. 逐次二分法就是造出如下的区间序列([an,bn]):a0=a,b0=b,且对任一自然数n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,bn],其中cn表示[an,bn]的中点。(百度百科) 练习 1.找出有序数组里是否包含某个数字 public static boolean NumIsExist(int[] sortedArr,int nu

2020-06-05 11:49:05 350

原创 算法与数据结构(一)--排序算法(一)

排序算法 选择排序 /** * 选择排序 O(n^2) * @param arr */ public static void selctionSort(int [] arr) { for (int i = 0;i < arr.length - 1; i++) { int minIndex = i; for (int j = i + 1;j < arr.length;j++) {

2020-06-04 18:07:13 107

原创 java高并发、多线程(四)--AtomicInteger

java高并发、多线程(四)AtomicInteger AtomicInteger 在上一节中我们举了下面这样一个例子: public class SynchronizedTest { static int count = 0; public synchronized static void add() { for (int i = 0; i < 10000; i++) { count++; } } publi

2020-06-04 17:14:17 582

原创 java高并发、多线程(三)--synchronized

java高并发、多线程(三)synchronized加锁的方式synchronized的性质synchronized锁升级优化注意事项 synchronized 先看下面例子: public class SynchronizedTest { static int count = 0; public static void add() { for (int i = 0; i < 10000; i++) { count++; }

2020-06-04 11:36:25 153

原创 java高并发、多线程(二)--volatile

java高并发、多线程(二)volatile volatile volatile的主要作用是保证线程间的可见性,被用于修饰共享变量。 先看一个例子: public class VolatileTest extends Thread{ private boolean running = true; @Override public void run() { System.out.println(Thread.currentThread().getName() + "

2020-06-03 16:37:08 260

原创 java高并发、多线程(一)--实现

java高并发、多线程(一)实现多线程的方式两种实现方式的区别线程状态 实现多线程的方式 实现多线程一般由两种方式,一种是继承Thread类,另一种是继承Runnable接口。 public class CreateThread { /*方式一:继承Thread类,并重写run()*/ static class MyThread extends Thread{ @Override public void run() { System.

2020-06-03 15:09:29 203

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除