函数 接口java
[Java]Java初学之多线程05--Lock锁
Intro 除了synchronized关键字,从JDK5.0开始,Java提供了更强大的线程同步机制--通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当。 本文简单讲一下Lock锁的概念以及简单应用。 正文 其实理解了synchronized关键字后,Lock锁的理解就会变得简单起来。 ......
学习笔记:欧拉函数与欧拉定理
欧拉函数与欧拉定理 欧拉函数 定义 欧拉函数,即 \(\varphi(n)\),表示的是小于等于 \(n\) 和 \(n\) 互质的数的个数。 比如说 \(\varphi(1) = 1\)。 当 n 是质数的时候,显然有 \(\varphi(n) = n - 1\)。 性质 欧拉函数是积性函数。 积 ......
java 数组浅拷贝与深拷贝
public class demo { public void func(int[] nums) { int[] tempNums = new int[]{1, 1, 1, 1, 1, 1}; // 浅拷贝 // nums = tempNums; // 深拷贝 for(int j = 0; j < ......
自底向上的语法分析,闭包、GOTO函数
自底向上的语法分析 一、一个串ω归约(reduction)为文法开始符号的过程 关键问题: 1.何时进行规约,2.用哪个产生式规约 句柄右边的串ω一定只包含终结符号。 如果文法是无二义性的,那么文法的每个右句型都有且只有一个句柄 二、LR(0) 自动机 Automaton 项 1.定义:产生式加上位 ......
Java 基础篇day01
使用你正在使用的语言输出HelloWord! 这是振奋人心的一节课,你的码农人生从此处开始。 这里是一切的开始,少年。 Java是一门高级编程语言,电脑无法直接识别,需要先将java文件编译成class字节码文件,电脑才可以识别。(使用javac编译命令,java运行) 我们可以用现在市场上的主流J ......
[Java]Java初学之多线程04--死锁
Intro 继上篇《03--同步与锁》,这篇文章着重讲讲“锁”,更具体来说,讲讲“死锁” 最近天气变冷了。。。真的冷❄ 记得多穿衣服 正文 死锁 死锁是指两个或多个线程都在等待对方释放资源,最后都停止执行的情形。 举个例子来说明会更清晰:我们两个都是宝可梦世界的训练家,我有暴飞龙,你有班基拉斯,我们 ......
递归函数
斐波那契数列(1) #include <iostream> using namespace std; int x(int n){ if(n<=2){ return 1; }else{ return x(n-1)+x(n-2); } } int main(){ int n; cin>>n; int a ......
详述Java内存屏障,透彻理解volatile
一般来说内存屏障分为两层:编译器屏障和CPU屏障,前者只在编译期生效,目的是防止编译器生成乱序的内存访问指令;后者通过插入或修改特定的CPU指令,在运行时防止内存访问指令乱序执行。 下面简单说一下这两种屏障。 1、编译器屏障 编译器屏障如下: asm volatile("": : :"memory" ......
Java List 添加元素要用拷贝
学Java遇到一个坑,那就是往ArrayList(别的collection应该也类似)中添加元素时,如果这个元素后面又改变了,之前添加的值也会被改变: List<String> newString = new ArrayList<>(); String myString = "hello"; new ......
Java基础 线程池
线程池 主要核心原理: ① 创建一个池子,池子中是空的 ② 提交任务时,池子会创建新的线程对象来执行任务,当任务执行完毕,线程会还给池子,下回再次提交任务时,不需要创建新的线程,直接复用已有的线程即可 ③ 但是如果提交任务时,池子中没有空闲线程,并且也无法创建新的线程的时候,任务就会排队等待 线程池 ......
解决使用mitmprox抓包可以访问网页,但是使用python request 调用该网站接口报错问题
可能有几种原因导致这种情况。以下是一些常见的问题和可能的解决方法: 证书验证问题: 当你使用mitmproxy抓包时,它通常会生成自签名的SSL证书,以便进行中间人攻击检查。但在Python中使用requests库时,默认情况下,它会验证SSL证书的有效性。你需要禁用SSL验证,以便使用mitmpr ......
Java语言基础知识全总结
一.Java的优点 1. 跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快 2. 纯面向对象。Java 所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特点? 3. Jav ......
在学习JavaWeb以及Java框架中的疑惑
1. Sevlet和SpringMVC与SpringBoot以及Spring Servlet是服务器端小程序,本质上是属于Controller层的,举个例子,LoginServlet和LoginController是划等号的。 Spring MVC是Spring的一个模块,是一个web框架。通过Di ......
oracle中concat函数与在mysql中的使用
在Oracle中使用concat函数来做拼接: 我们想要得到的效果: 对应的sql语句如下: MySQL的中使用: 我们直接使用concat()函数就行 ......
LeedCode刷题(2)-Java随机数练习
2.随机数练习 (1)随机生成数 题目:请编写如下所示程序 随机生成并显示一位数的正整数(1~9的值) 随机生成并显示一位数的负整数(-9 ~ -1的值) 随机生成并显示两位数的正整数(10~99的值) ①Random类总结 random是Java提供的一个类库,它的实例会生成一连串的伪随机数 Ra ......
java——redis随笔——实战——优惠券秒杀——分布式锁
注意:synchronized用户单机(jvm)上面的锁,对于分布式应用则无能为力。所以对于分布式系统,则需要分布式锁。 分布式锁:满足分布式系统或集群模式下多线程课件并且可以互斥的锁 分布式锁的核心思想就是让大家共用同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心 ......
用java写一个计算机
public class Demo07 { public static void main(String[] args) { //用scanner创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in);//System.in是输入的意思 ......
java的边框
1.关于边框 是能够在swing组件边缘周围渲染边框的对象的接口,边框就是对组件边界的装饰,可以为组件添加边框的色彩,也可以在边框上添加标题,让组件更加美观好看。 2.部分边框类 BevelBorder : 实现简单的两行斜角边框的类。 参数: protected int bevelType 斜面类 ......
Linux进程函数
1.进程相关知识 PCB进程控制块包含的信息 进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。 进程的状态,有就绪、运行、挂起、停止等状态。 进程切换时需要保存和恢复的一些CPU寄存器。 描述虚拟地址空间的信息。 描述控制终端的信息。 当前工作目录(Cur ......
[Java]Java初学之多线程03--同步与锁
Intro 本篇文章主要关于多线程"同步"以及"锁"的相关内容~ 正文 同步(Synchronize) 概念 “同步”是基于“并发”的需求而出现的 所谓并发,就是同一个对象被多个线程同时操作,比如两个人同时从同一个账户取钱,再比如春运抢票。 多个线程同时使用一个资源,必然会造成混乱。想象一下从前的线 ......
Java Hotspot G1 GC 原理
目录原理概念初始堆占用情况标记Remember Set原理Card TableCollect Set停顿预测模型G1的垃圾回收过程对象分配线程本地分配缓冲区Eden 区中分配Humongous 区分配堆内存结构传统的 GC 收集器G1 收集器G1 垃圾收集周期Young GCYoung GC 总结M ......
Java面试专题
Java面试专题 面试题背后的逻辑->拆分问题讲解->回答方式及参考问题 Redis篇 使用场景 1、你在最近的项目中哪些场景使用了redis? 缓存:缓存击穿,缓存穿透,缓存雪崩,双写一致性,数据过期策略,数据淘汰策略 分布式锁:setnx,redission 2、什么是缓存穿透,怎么解决? 缓存 ......
Python reversed函数及用法
reserved() 是 Pyton 内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及 range(n) 区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)。 reserved() 函数的语法格式如下: reversed(seq) 其中,seq 可以是列表,元素,字符串 ......
二次函数在区间上的最大(小)值问题
前言 本篇博文适合高一学生和高三一轮学习使用。对于高一学生而言,对初中学习的二次函数 \(f(x)\)\(=\)\(ax^2\)\(+\)\(bx\)\(+\)\(c\)\(\quad\)\((a\neq 0)\) 已经形成了思维定势,总认为其最大值或者最小值是 \(f(x)\)\(=\)\(f(- ......
Java基础 多线程的 6 种状态
Java 的虚拟机当中没有定义运行状态,因为当线程抢夺到 CPU 执行权的时候,虚拟机会把当前线程交给操作系统管理,虚拟机就不管了。 ......
Java基础 阻塞队列的方式实现等待唤醒机制,哪里体现了等待?哪里又体现了唤醒?
Java的阻塞队列(Blocking Queue)可以用来实现等待唤醒机制,其中等待和唤醒的操作在队列的不同方法中体现: 1.等待: 在阻塞队列中,等待通常发生在以下情况: 2.当队列为空时,消费者线程试图从队列中取出元素时,它会被阻塞,直到队列中有元素可供消费。这种等待是通过阻塞队列的take() ......
Java基础 等待唤醒机制(阻塞队列方式实现)
等待唤醒机制还可以用 阻塞队列的方式进行实现 练习:利用阻塞队列完成生产者和消费者(等待唤醒机制)的代码 细节:生产者和消费者必须使用同一个阻塞队列 阻塞队列的创建方式(泛型:队列里面数据的类型):ArrayBlockingQueue<String> queue = new ArrayBlockin ......