`
文章列表
创建线程的三种方法,线程的生命周期,sleep,yield,join,wait 和notify,线程组,守护线程,线程的优先级 ◆ 如何创建线程 ◆ Java 中创建线程的方法有三种: 继承 Thread 类创建线程 新建一个类继承 Thread 类,并重写 Thread 类的 run() 方法。 创建 Thread 子类的实例。 调用该子类实例的 start() 方法启动该线程。 代码举例如下: 1 2 3 4 5 6 7 8 9 10 11 12 public class HelloThread1 { static clas ...
JMM的基本概念,主内存与工作内存的数据交互方式与规则。多线程中的原子性、可见性、有序性。指令重排。volatile关键字   ◆ JMM的基本概念 ◆ Java作为平台无关性语言,JLS(Java语言规范)定义了一个统一的内存管理模型JMM(Java Memory Model)。JMM规定了jvm内存分为主内存和工作内存 ,主内存存放程序中所有的类实例、静态数据等变量,是多个线程共享的,而工作内存存放的是该线程从主内存中拷贝过来的变量以及访问方法所取得的局部变量,是每个线程私有的其他线程不能访问。每个线程对变量的操作都是以先从主内存将其拷贝到工作内存再对其进行操作的方式进行,多个线程之 ...
同步和异步,线程和进程,并发和并行,临界资源,阻塞,死锁,饥饿,活锁,线程的并发级别   ◆ 同步和异步 ◆   同步就好比打电话,通信双方,你一句我一句,一句话得不到回应就会一直问:“喂?喂?可以听到么?是 ...
事务的四大特性(ACID) 原子性 原子性是指事务包含的所有操作要么全部成功,要么全部失败。例小王要向小李转账200元。则账要么转账成功小王账户减200元,小李账户加200元,要么执行失败,两者账户都不动。 一致性 一致性是指事务执行之前和执行之后都必须处于一致性状态。 假设转账前小王和小李的余额之和是2000元,那么不管他们之间进行了多少次转账,他们的余额之和肯定还是2000元。 隔离性 隔离性是当多个事务并发操作数据库时,不能被其他事务的操作所干扰 例小王银行卡只有200元了,他要向小李转账200元时银行方面进行银行卡的年费扣除则这两个操作必定不可能都成功。 持久性 持久性 ...
最近因为一个朋友想要学习Java,在帮助他找教程的过程中回想到了我自己当年学习Java的那段岁月,故写了此篇文章总结了一下初学Java所必须要掌握的知识点,然后把一部分常见的面试题罗列出来。给予刚刚开始学习Java的同学做一个参考。   程序语言简史   最初由0,1组成的机器语言变成了简单指令的汇编语言,最后才是高级语言。而高级语言又分为面向过程语言与面向对象语言两种。而Java就是典型的面向对象语言。   question:   你知道哪些高级语言?   他们分别是面向过程还是面向对象呢?   程序的工作原理   因为计算机只认识机器语言,所以我们写出的 ...
很多初次接触UML的朋友们可能会感觉它各种各样的线条、关系、描述等晦涩难懂。本篇文章简单介绍了一下其中几个图,用最朴实的语言结合上图片来让你一眼就能理解他们,如果您在阅读的过程种发现错误之处恳请您在评论 ...
最近写了一个限流的插件,所以避免不了的接触到了一些限流算法。本篇文章就来分析一下这几种常见的限流算法 分析之前 依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。比如说一个类里面有5个接口,那么我的限流插件就应该能针对每一个接口就行不同的限流方案。所以呢,既然针对的每个接口所以就需要一个可以唯一标示这个接口的key(我取的是类名+方法名+入参)。 分布式限流强烈推荐使用redis+lua或者nginx+lua来实现。 这里用2个限流条件来做示例讲一下常见的限流算法: 接口1它10秒钟最大允许访问100次 接口2它10秒钟最大允许每个人访问100次。 计 ...
开篇四连问 你是否懒得写普通的增删改查方法? 你是否不喜欢代码生成插件的重复代码? 你是否渴望一个没有冗余代码的项目? 你是否渴望一行代码都不用写就能完成一个简单的模块? 组件由来 作为后端程序员,相信 ...
Global site tag (gtag.js) - Google Analytics