AND
JMM 是什么?
JMM 就是 「Java内存模型」(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问有一定的差异,所以会造成相同的代码运行在不同的系统上会出现各种问题。所以java内存模型(JMM)「屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都 ......
介绍一下 java 吧
java 是一门「开源的跨平台的面向对象的」计算机语言. 跨平台是因为 java 的 class 文件是运行在虚拟机上的,其实跨平台的,而「虚拟机是不同平台有不同版本」,所以说 java 是跨平台的. 面向对象有几个特点: 1.「封装」 两层含义:一层含义是把对象的属性和行为看成一个密不可分的整体, ......
synchronized 锁升级的过程
在 Java1.6 之前的版本中,synchronized 属于重量级锁,效率低下,「锁是」 cpu 一个「总量级的资源」,每次获取锁都要和 cpu 申请,非常消耗性能。 在 「jdk1.6 之后」 Java 官方对从 JVM 层面对 synchronized 较大优化,所以现在的 synchron ......
JMM 是什么?
JMM 就是 「Java内存模型」(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问有一定的差异,所以会造成相同的代码运行在不同的系统上会出现各种问题。所以java内存模型(JMM)「屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都 ......
介绍一下 java 吧
java 是一门「开源的跨平台的面向对象的」计算机语言. 跨平台是因为 java 的 class 文件是运行在虚拟机上的,其实跨平台的,而「虚拟机是不同平台有不同版本」,所以说 java 是跨平台的. 面向对象有几个特点: 1.「封装」 两层含义:一层含义是把对象的属性和行为看成一个密不可分的整体, ......
CodeStar2023年春第2周周赛普及奠基组
T1: 音乐盒 本题难度简单,$T$ 可能很大,这样就需要转圈循环并会导致超时,可以先将 $T$ 对所有歌曲的总时间取模,再去遍历一遍歌曲即可找到答案 代码实现 #include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (n); + ......
第十一章数据爬取分析
# 代码11-1 import osimport pandas as pd # 修改工作路径到指定文件夹os.chdir(r"D:\课程资料\大数据分析\第十一章") # 第一种连接方式#from sqlalchemy import create_engine #engine = create_en ......
STM32串口定时器延时接收不定数组和串口发送
#include "user_uart.h" #include "stm32f10x.h" #include <stdio.h> /************************************************************************************ ......
2023/3/30每日随笔
今天,上午学习了计算机网络,学习了网络层,学习了网络层的两种服务和两个层面,一种是通过可靠的虚电路连接,一种是靠数据报的无连接服务,层面是:数据层面和控制层面,也学习了网际协议ip,下午打球被打爆了,晚上对于A33的题目进行了理解查看,学习,理解题不是特别的清楚,主要是太难了,貌似要用到继承算法,然 ......
ubuntu安装myslq8
root权限下 首先下载mysql8,ubuntu20包中默认的就是mysql8 apt install mysql-server 下载完成之后启动服务 service mysql start 然后我们进入mysql sudo mysql 接下来要修改root密码和登录主机限制 use mysql; ......
多线程的创建方式有哪些?
1、「继承Thread类」,重写run()方法 public class Demo extends Thread{ //重写父类Thread的run() public void run() { } public static void main(String[] args) { Demo d1 = ......
聊聊 ReentrantLock 吧
ReentrantLock 意为「可重入锁」,说起 ReentrantLock 就不得不说 AQS ,因为其底层就是「使用 AQS 去实现」的。 ReentrantLock有两种模式,一种是公平锁,一种是非公平锁。 公平模式下等待线程入队列后会严格按照队列顺序去执行 非公平模式下等待线程入队列后有可 ......
多线程的创建方式有哪些?
1、「继承Thread类」,重写run()方法 public class Demo extends Thread{ //重写父类Thread的run() public void run() { } public static void main(String[] args) { Demo d1 = ......
聊聊 ReentrantLock 吧
ReentrantLock 意为「可重入锁」,说起 ReentrantLock 就不得不说 AQS ,因为其底层就是「使用 AQS 去实现」的。 ReentrantLock有两种模式,一种是公平锁,一种是非公平锁。 公平模式下等待线程入队列后会严格按照队列顺序去执行 非公平模式下等待线程入队列后有可 ......
SCOI 2023 游记
$\text {Day \ -2}$ 烧烤吃多了,有点拉肚子。 $\text {Day \ -1}$ 我是真的不会考试啊。 感觉我不该想着去翻多少分,只要你只是单纯想把省选考好,并且你确实做到了,那么 NOIP 的那点分确实不算什么(,但是我感觉这种东西,举个例子,就像你在长跑,你感觉你的终点线在别 ......
leetcode top100-01
最好能说明一下为什么不怕重复。看评论里有很多人提出这个问题,说hash冲突。 我在这里解答一下这个问题。 1.每次写入时,判断条件 不是当前的key本身存不存在,而是key和 tag 之间的差值存不存在,这一点很重要。 2.题目命题说明了一点,假定只有一个解。也就是说重复元素再多都无所谓。 case ......
linux卸载nginx
要卸载 Nginx,你可以按照以下步骤操作: 1. 停止 Nginx 服务。使用以下命令来停止 Nginx 服务: ``` sudo systemctl stop nginx ``` 2. 禁用 Nginx 服务。使用以下命令来禁用 Nginx 服务: ``` sudo systemctl disa ......
聊聊 ThreadLocal 吧
ThreadLocal其实就是「线程本地变量」,他会在每个线程都创建一个副本,那么在线程之间访问内部副本变量就行了,做到了线程之间互相隔离。 ThreadLocal 有一个「静态内部类 ThreadLocalMap」,ThreadLocalMap 又包含了一个 Entry 数组,「Entry 本身是 ......
介绍一下四种引用类型?
「强引用 StrongReference」 Object obj = new Object(); //只要obj还指向Object对象,Object对象就不会被回收 垃圾回收器不会回收被引用的对象,哪怕内存不足时,JVM 也会直接抛出 OutOfMemoryError,除非赋值为 null。 「 ......
线程池的执行流程?
判断线程池中的线程数「是否大于设置的核心线程数」 如果「没有满」,则「放入队列」,等待线程空闲时执行任务 如果队列已经「满了」,则判断「是否达到了线程池设置的最大线程数」 如果「没有达到」,就「创建新线程」来执行任务 如果已经「达到了」最大线程数,则「执行指定的拒绝策略」 如果「小于」,就「创建」一 ......
聊聊 ThreadLocal 吧
ThreadLocal其实就是「线程本地变量」,他会在每个线程都创建一个副本,那么在线程之间访问内部副本变量就行了,做到了线程之间互相隔离。 ThreadLocal 有一个「静态内部类 ThreadLocalMap」,ThreadLocalMap 又包含了一个 Entry 数组,「Entry 本身是 ......
介绍一下四种引用类型?
「强引用 StrongReference」 Object obj = new Object(); //只要obj还指向Object对象,Object对象就不会被回收 垃圾回收器不会回收被引用的对象,哪怕内存不足时,JVM 也会直接抛出 OutOfMemoryError,除非赋值为 null。 「 ......
线程池的执行流程?
判断线程池中的线程数「是否大于设置的核心线程数」 如果「没有满」,则「放入队列」,等待线程空闲时执行任务 如果队列已经「满了」,则判断「是否达到了线程池设置的最大线程数」 如果「没有达到」,就「创建新线程」来执行任务 如果已经「达到了」最大线程数,则「执行指定的拒绝策略」 如果「小于」,就「创建」一 ......
15 同步于互斥(一) 并发、竞态和编译乱序、执行乱序
1 并发和竞态 1.1 简介 设备在运行的过程中存在多个进程对资源的并发访问 多个执行单元同时,并行的执行。并发事件对共享资源的访问(硬件资源,全局变量,静态变量等),很容易导致设备出现竞态。 竞态的出现会导致设备出现异常 1.2 单核和多核(SMP)并发下的竞态 1.3 总结 关于共享资源的这部分 ......
2023 NKCTF
2023 NKCTF 打了一下 NKCTF 有几个不知道的点 把自己认为值得记录的题写一下 babyphp <?php error_reporting(0); class Welcome{ public $name; public $arg = 'oww!man!!'; public functio ......
leetcode top100 - 02
坑 转换成数字进行运算,最后转换成链表。可能会出现溢出的情况。 因为无论是int还是long类型表达的数字长度是有限的,而链表的长度是可以无限追加的。 解释是干扰你的,其实就是依次从低位到高位的进位过程 笔试思路 把链表依次填充到数组中,数组容易操作,然后逐位进行加法运算; 面试思路 使用链表的思路 ......
AIR32F103(十二) 搭载 AIR32F103CBT6 的Bluepill核心板
合宙说要出Bluepill已经很久了, 之前的黑色板子虽然也不错但是对于习惯STM32的同学总是有些别扭, 有几个PIN没引出而且PB12和PB14之间有电阻, 会对SPI造成干扰. 换成喜闻乐见的 Bluepill 板型后就友好多了, 一些STM32的场景也能无缝替换. ......
每日记录
今天cp作业正式完结撒花,我们进行了对我们做的系统操作演示还有说明文档,并且还做了一个电梯演讲模拟。对我们产品进行诉说。 电梯演讲模拟链接:https://www.bilibili.com/video/BV1BM4y1U7fj/?spm_id_from=333.999.0.0 此外我会把我们拙作上传 ......
linux安装Nginx到指定目录
你可以按照以下步骤在 Linux 系统中安装 Nginx 并指定安装目录: 1. 首先,打开终端并以管理员身份登录到 Linux 系统。 2. 创建一个新的目录来存储 Nginx 安装文件。例如,可以创建 `/usr/local/src` 目录: ``` sudo mkdir -p /www/ser ......
一个对象的内存布局是怎么样的?
「1.对象头」: 对象头又分为 「MarkWord」 和 「Class Pointer」 两部分。 「MarkWord」:包含一系列的标记位,比如轻量级锁的标记位,偏向锁标记位,gc记录信息等等。 「ClassPointer」:用来指向对象对应的 Class 对象(其对应的元数据对象)的内存地址。在 ......