• Java并发编程--基础进阶高级(完结)

    时间:2024-04-24 23:43:44

    Java并发编程--基础进阶高级完整笔记。这都不知道是第几次刷狂神的JUC并发编程了,从第一次的迷茫到现在比较清晰,算是个大进步了,之前JUC笔记不见了,重新做一套笔记。参考链接:https://www.bilibili.com/video/BV1B7411L7tE目录1.多线程--基础内容1.Th...

  • Java多线程编程中Future模式的详解<转>

    时间:2024-04-24 23:43:31

    Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等。这篇文章主要讲述Future模式,关于其他多线程设计模式的地址如下:关于其他多线程设计模式的地址如下:关于Master-Wo...

  • Java并发编程基础三板斧之Semaphore

    时间:2024-04-24 22:32:02

    引言最近可以进行个税申报了,还没有申报的同学可以赶紧去试试哦。不过我反正是从上午到下午一直都没有成功的进行申报,一进行申报就返回“当前访问人数过多,请稍后再试”。为什么有些人就能够申报成功,有些人就直接返回失败。这很明显申报处理资源是有限的,只能等别人处理完了在来处理你的,你如果运气好可能重试几次就...

  • Java并发编程之验证volatile不能保证原子性

    时间:2024-04-24 09:42:50

    Java并发编程之验证volatile不能保证原子性通过系列文章的学习,凯哥已经介绍了volatile的三大特性。1:保证可见性 2:不保证原子性 3:保证顺序。那么怎么来验证可见性呢?本文凯哥(凯哥Java:kaigejava)将通过代码演示来证明为什么说volatile不能够保证共享变量的原子性...

  • 【Java并发编程实战】-----“J.U.C”:ReentrantLock之一简介

    时间:2024-04-24 09:31:23

    注:由于要介绍ReentrantLock的东西太多了,免得各位客官看累,所以分三篇博客来阐述。本篇博客介绍ReentrantLock基本内容,后两篇博客从源码级别分别阐述ReentrantLock的lock、unlock实现机制。ReentrantLock,可重入的互斥锁,是一种递归无阻塞的同步机制...

  • 【JAVA并发编程实战】9、锁分段

    时间:2024-04-24 08:44:03

    package cn.study.concurrency.ch11;/** * 锁分段 * @author xiaof * */public class StripedMap { //同步策略:就是对数组进行分段上锁,n个节点用n%LOCKS锁保护 private static fina...

  • java并发编程实战《二》java内存模型

    时间:2024-04-24 08:29:40

    Java解决可见性和有序性问题:Java内存模型什么是 Java 内存模型?Java 内存模型是个很复杂的规范,可以从不同的视角来解读,站在我们这些程序员的视角,本质上可以理解为,Java 内存模型规范了 JVM 如何提供按需禁用缓存和编译优化的方法。具体来说,这些方法包括 volatile、syn...

  • 【JAVA并发编程实战】8、锁顺序死锁

    时间:2024-04-24 08:10:48

    package cn.study.concurrency.ch10;public class Account { private String staffAccount; //账号 private String passWord; //密码 private int ba...

  • Java并发编程实战.笔记十一(非阻塞同步机制)

    时间:2024-04-24 07:56:14

    关于非阻塞算法CAS。 比较并交换CAS:CAS包含了3个操作数---需要读写的内存位置V,进行比较的值A和拟写入的新值B。当且仅当V的值等于A时,CAS才会通过原子的方式用新值B来更新V的值,否则不会执行任何操作。无论位置V的值是否等于A,都将返回V原有的值。然后线程可以基于新返回的V值来做对应的...

  • java并发编程(二十一)----(JUC集合)CopyOnWriteArraySet和ConcurrentSkipListSet介绍

    时间:2024-04-24 07:35:33

    这一节我们来接着介绍JUC集合:CopyOnWriteArraySet和ConcurrentSkipListSet。从名字上来看我们知道CopyOnWriteArraySet与上一节讲到的CopyOnWriteArrayList一样是动态数组实现;ConcurrentSkipListSet是线程安全...

  • Java中函数式编程2

    时间:2024-04-19 13:25:18

    Java中的函数参数 在Java中,函数参数有以下三种形式: lambda表达式。方法引用。匿名内部类。 函数参数无论怎么表示,其原则为:1. 参数列表和返回值类型 与 要表示的抽象函数的相同。2. 方法体内部如果要使用外部变量,那么该变量一定是被final所修饰的"常量",或者是从未改变值的变量...

  • Java基础知识强化之网络编程笔记14:TCP之多个客户端上传到一个服务器的思考(多线程改进)

    时间:2024-04-18 09:06:15

    1. 多个客户端上传到一个服务器的思考通过while循环可以改进一个服务器接收多个客户端。但是这个是有问题的。如果是这种情况,假设我还有张三,李四,王五这三个人分别执行客户端 张三:好好学习.avi(100M)256k 李四:天天向上.mp3(3M)  1M 王五:ILoveJava.txt(1k)...

  • TIOBE 6月编程语言排行榜:Java稳居第一,依旧火热

    时间:2024-04-17 14:23:01

    TIOBE发布了6月编程语言排行榜,排名前三的依旧是Java、C、C++。前...

  • 【Java并发编程】:Runnable和Thread实现多线程的区别

    时间:2024-04-16 18:08:25

    Java中实现多线程有两种方法:继承Thread类、实现Runnable接口,在程序开发中只要是多线程,肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下优势:1、可以避免由于Java的单继承特性而带来的局限;2、增强程序的健壮性,代码能够被多个线程共享...

  • 【Java网络编程】HTTP超文本传输协议

    时间:2024-04-14 10:54:52

    一、HTTP超文本传输协议    HTTP全称为Hyper Text Transfer Protocol超文本传输协议,它是基于TCP传输协议构建的应用层协议,作为支撑万维网www的核心协议,为了保证其效率及处理大量事务的能力,因此在设计时,HTTP被制定成为一种无状态协议,也就是说:HTTP本身不...

  • Java并发编程总结3——AQS、ReentrantLock、ReentrantReadWriteLock(转)

    时间:2024-04-13 11:06:57

    本文内容主要总结自《Java并发编程的艺术》第5章——Java中的锁。一、AQSAbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步组建的基础框架。该类主要包括:1、模式,分为共享和独占。2、volatile int state,用来表示锁的状态。...

  • java多线程编程(二)

    时间:2024-04-09 12:39:28

    1. wait 和 sleep 区别?1.wait可以指定时间也可以不指定,sleep必须指定时间。2.在同步中时,对cpu的执行权和锁的处理不同。  wait:释放执行权,释放锁。  sleep:释放执行权,不释放锁。2. 多线程中的锁的概念可以这么形象的去理解锁的概念:代码块就相当于"一扇门",...

  • JAVA可视化编程插件WindowBuilder的安装和使用

    时间:2024-04-05 22:06:22

    这是开学的第一篇,作者在寒假的开头到处找视频资源用MFC写了一个半成品的音乐播放器(音量随滑动条的滑动而调节的功能没有实现),其实我并不知道那些API怎么用,自己就托托拽拽那些控件,再到生成的代码里添加事件和方法。C++可以可视化编程,C#有.NET framework更不必说,便觉得手撸窗体,布局...

  • 数据库设计——由阿里的Java编程规范引发的外键思考

    时间:2024-04-05 09:54:21

    1 阿里的Java编程规范【强制】不得使用外键与级联,一切外键概念必须在应用层解决。说明:以学生和成绩的关系为例,学生表中的student_id是主键,那么成绩表中的student_id则为外键。如果更新学生表中的student_id,同时触发成绩表中的student_id更新,即为级联更新。外键与...

  • Java并发编程基础面试题详细总结

    时间:2024-04-04 18:10:29

    1. 什么是线程和进程? 1.1  何为进程?         进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。         在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main...