后端

JavaGuide知识点整理——并发进阶知识点(上)

synchronized关键字 说一说对synchronized关键字的了解 synchronized关键字解决的是多线程之间访问资源的同步性。synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。 另外在java早期版本中,synchronized属于重量级锁,效率低下。 因为监视器锁是依赖于底层的操作系统的Mutex Lock来实现的,java的线程是映射

全面解析MySQL(4)——三大范式与联合查询实例教程

1.三大范式 概念:数据库三大范式(Normal Forms)是关系型数据库设计中的基本原则,用于减少数据冗余和提高数据一致性 1.1 第一范式(1NF) 定义:确保每一列的原子性,即每一列都是不可再分的最小数据单元 要求: 每个字段只能包含单一值,不能是集合或数组 表中不能有重复的列。关系模型的创始人 E

nginx 反向代理和负载均衡策略配置实战案例,Nginx配置SSL访问,nginx匹配规则说明以及匹配的优先级

本文主要包含 1.Nginx配置文件详解 2.Nginx实现负载均衡 3.Nginx前端项目部署 4.Nginx配置SSL访问 5.nginx匹配规则说明以及匹配的优先级 首先Nginx能做反向代理【关于反向代理和正向代理此处不做说明了,感兴趣的小伙伴自行谷歌】;比方说,我想在本地使用 www.google.com 的域名去访问www.taobao.com。那么这个时候我们就可以通过nginx去实

多进程同步之文件锁

在多线程的环境下,如果两个线程操作相同的竞争区,需要使用锁来保证线程安全。在Java中有多种选择,如Synchronized关键字,CountDownLatch等等。但是这些方式,在多进程的情况下,会失效。 那么在多进程情况下,我们怎么做进程同步呢?答案是文件锁。Java提供的FileLock类,可以实现,下面来看看具体的用法。 FileLock API public abstract F

leetcode 算法第一集

前言: 各位同学大家好,现在这段时间给大家更新算法的一些讲解 废话不多说我们正式开始,希望能帮助到各位的学习 工作以及面试 需求 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 输入:nums = [1,2,3,1] 输出:true 具体实现 第一种 排序 在对数字从小到大排序之后,数组的重复元素一定出现

优化算法matlab实现(二十八)蝗虫算法matlab实现

注意:此代码实现的是求目标函数最大值,求最小值可将适应度函数乘以-1(框架代码已实现)。 注意:此代码实现的是求目标函数最大值,求最小值可将适应度函数乘以-1(框架代码已实现)。 注意:此代码实现的是求目标函数最大值,求最小值可将适应度函数乘以-1(框架代码已实现)。 1.代码实现 不了解蝗虫算法可以先看看优化算法笔记(二十八)蝗虫算法 实现代码前需要先完成优化算法matlab实现(二)框架编写中

第十七章 进程内存

第十七章 进程内存 介绍 进程使用许多不同的资源来实现其目标。其中包括部分或全部 CPU 周期、内存、外部存储、网络带宽等。这篇文章是关于内存使用的。具体来说,它处理为数据存储分配的内存,例如: 公共和私有变量 当第一次为它们分配值时,它们被分配了内存空间。在局部数组的情况下,局部变量名称加上所有下标的值的组合引用单个变量值。 除了包含极长字符串的变量外,变量会占用与 $STORAGE 相关的

Java中锁的优化机制了解吗?

从JDK1.6版本之后,synchronized本身也在不断优化锁的机制,有些情况下他并不会是⼀个很重量级的锁了。优化机制包括⾃适应锁、⾃旋锁、锁消除、锁粗化、轻量级锁和偏向锁。 锁的状态从低到⾼依次为⽆锁->偏向锁->轻量级锁->重量级锁,升级的过程就是从低到⾼,降级在⼀定条件也是有可能发⽣的。 ⾃旋锁:由于⼤部分时候,锁被占⽤的时间很短,共享变量的锁定时间也很短,所有没有必要