自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Redis运维开发笔记

2022-03-20 22:13:13 1070

原创 java内存区域和内存溢出

运行时数据区 jvm在执行java程序时会把它所管理的内存划分为若干个不同的数据区域.这些区域有各自的用途,以及和创建和销毁时间

2021-11-28 11:57:06 650

原创 https笔记

一次完整的http请求处理过程: 1、建立连接:接收或拒绝连接请求 ​ 用户通过tcp三次握手发送请求,服务器判断用户是否是合法用户,是拒绝连接请求 2、接收请求:接收客户端请求报文中对某资源的一次请求后, ​ 服务器会启动进程,产生一个socket文件,通过读写socket文件建立连接用于响应请求 3、处理请求: ​ 服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选的主体部分对请求进行处理 4、访问资源: 服务器获取请求报文中请求的资源web服务器,即存放了we

2021-08-22 12:12:05 273

原创 数据库及分布式事务

文章目录数据库及分布式事务引擎1.MyISAM2.InnoDB3.Memory创建索引的原则数据库三范式1.第一范式2.第二范式3.第三范式数据库事务存储过程触发器数据库的并发操作与锁1.乐观锁2.悲观锁3.时间戳锁1.行级锁2.表级锁3.页级锁4.基于Redis的分布式锁数据库分表垂直切分:水平切分:数据库分布式事务CAP一致性:可用性:分区容错性:两阶段提交协议1.Prepare(准备阶段)2.Commit(协调阶段)三阶段提交协议 数据库及分布式事务 无论是关系型数据库Mysql,Oracle,Pos

2021-08-16 22:37:18 1456

原创 牛牛施肥题

农场主牛牛开始用无人机给他的农田施肥,农田共有n行,无人机携带了m千克肥料,无人机的施肥方式为: 给第1行施1千克肥料; 给第2行施1千克肥料; … 给第n-1行施1千克肥料; 给第n行施1千克肥料; … 即每次给整个农田施一边肥料,无人机就会自动更改方向继续施肥直到无人机携带的肥料用完为止 现在牛牛想知道每行最终施了多少肥料 函数传入两个正整数n和m分别代表农田的行数和无人机携带的肥料数,你需要返回一个数组,假设数组为a,表示第i+1行被灌溉了多少千克的肥料 示例: 输入:4,6 输出:[1,2,2,1]

2021-08-15 14:02:28 798

原创 字符串删减

牛妹拿到了一个只由小写字母组成的字符串s,接下来将字符串执行k次操作,每次操作都会把s中ASCII码最小的字母从s中删除,请返回k次操作之后的字符串s。 示例1 输入:“caabeefa”,2 输出:“ceef” //思路: //先将字符串中的元素添加到一个set中 //再循环k次,从最小的小写字符"a"开始遍历 若set中包含当前最小字符则删除,得到set为最终留下不重复的字符 //新建一个字符串对象 //遍历原字符串,若set中包含当前字符,则新字符串添加该字符 public class Demo7 {

2021-08-15 12:32:59 1318

原创 缓存(Redis)

文章目录分布式缓存的原理与应用分布式缓存介绍Redis的原理与应用Redis的原理1.Redis管道2.Redis的事务3.Redis发布,订阅4.Redis集群数据复制的原理6.Redis的集群模式及工作原理(1)主从模式:(2)哨兵模式:分布式缓存设计的核心问题1.缓存预热2.缓存更新3.缓存淘汰策略缓存穿透缓存击穿缓存雪崩 分布式缓存的原理与应用 缓存指的是将频繁访问的数据放在内存中,加快用户访问速度的技术.缓存分为进程级缓存和分布式缓存,进程级缓存指将数据缓存在服务内部,通过Map,List等结构实

2021-08-15 12:12:18 406

原创 java锁

文章目录自旋锁自旋锁的优缺点:优点:缺点:Synchronizedsynchronized的作用范围synchronized的实现原理ReentrantLocksynchronized和ReentrantLock/Lock有什么区别呢?偏向锁分段锁同步锁与死锁公平锁与非公平锁![请添加图片描述](https://img-blog.csdnimg.cn/e27ea34bdce64cb8be30c01043213fa1.png?x-oss-process=image/watermark,type_ZmFuZ3p

2021-08-11 10:27:35 188

原创 session cookie和token

文章目录CookieSessionTokenTokens的优势无状态、可扩展安全性可扩展性()多平台跨域多平台跨域 1.随着交互式Web应用的兴起,出现了像需要登录的网站,这就要在用户登录时服务器要把用户区分开来,因为Http请求是无效的,所以想出的办法就是给大家发一个会话标识(session id),这个session id就是一个随机字符串,每个人都不同,每次向服务器发起Http请求时,把这个字符串一并捎过来,就能区分用户了 2.每个人只需要保存自己的session id,而服务器要保存所有人的sess

2021-07-19 09:19:22 150

原创 JSON笔记

文章目录**JSON****JSON 实例****什么是 JSON ?****与 XML 相同之处****与 XML 不同之处****为什么使用 JSON?****最大的不同是**:XML 需要使用 XML 解析器来解析,JSON 可以使用标准的 JavaScript 函数来解析。 JSON JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法,类似 XML。 JSON 比 XML 更小、更快,更易解析。 JSON 实例

2021-07-14 19:39:28 155

原创 Spring回顾学习笔记

1.Spring 1.1简介 2002,首次推出了Spring框架的雏形:interface21框架 Spring框架以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版 Rod Johnson,Spring Framework创始人 Spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架! SSH: Struct2+Spring+Hibernate(全自动持久性框架) SSM: Sprin

2021-07-01 10:16:15 163

原创 线程(下)

线程分类: Java中的线程分为两类:用户线程和守护线程 守护线程就是用来守护用户线程的 只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作; 只有最后一个非守护线程结束时,守护线程才会随着JVM一同结束工作; 守护线程的作用就是为其他线程的运行提供便利服务的,比如最典型的应用GC(垃圾回收器); 用户线程和守护线程两者几乎没有区别,两者唯一的不同之处在于虚拟机的离开,如果用户线程全部退出了,只剩下守护线程存在了,JVM也就退出了,因为没有了用户线程,守护线程就无事可做了,程序也就没有

2021-06-06 10:39:53 199 2

原创 4.本地方法接口,5执行引擎,6垃圾回收

4.本地方法接口 4.1什么是本地方法 一个 Native Method 就是一个 java 调用非 java 代码的接口,一个 Native Method 是这样一个 java 方法:该方法的底层实现由非 Java 语言实现, 比如 C。这个特征并非 java 特有,很多其他的编程语言都有这一机制 在定义一个 native method 时,并不提供实现体(有些像定义一个 Java interface),因为其实现体是由非 java 语言在外面实现的。 关键字 native 可以与其他所有的 java 标

2021-04-10 13:03:28 372 1

原创 1.jvm概述和2.jvm结构-类加载

1.jvm概述 1.1虚拟机 虚拟机(Virtual Machine),是一款软件,用来执行一系列虚拟计算机指令,大体上,虚拟机可以分为系统虚拟机和程序虚拟机。 VMware 就属于系统虚拟机,它是完全对物理计算机的仿真,提供了一 个可运行完整操作系统的软件平台。程序虚拟机典型的代表就是 java 虚拟机了,它专门为 执行某个单个计算机程序而设计。在 java 虚拟机中执行的指令我们称为 java 字节码指令。 Java 虚拟机是一种执行 java 字节码文件的虚拟计算机,它拥有独立的运行机制。 Java

2021-04-09 13:53:13 204

原创 3.jvm运行时数据区

3.jvm运行时数据区 3.1运行时数据区组成概述 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wwPIOIBG-1617537566137)(C:\Users\bianweitao\Desktop\思维导图\jvm\Java虚拟机.png)] 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以 看作是当前线程所执行的字节码的行号指示器 java虚拟机栈 描述的是 Java 方法执行的内存模型,每个方法在执行的同时

2021-04-04 20:04:55 238

原创 便利店结账时间

便利蜂 2021年春季招聘笔试题 说说我的思路: 单个顾客结账时间就是顾客等待结账时间和结账所需时间相加 从第一位顾客开始,他不需等待,结账时间就是结账所需时间, 接着记录他的结账时刻, 第二位顾客的等待结账时间就是第一位的结账时刻减去第二位的排队时刻 所以总结账时间为:1号结账时间+2号结账所需时间+2号等待结账时间 以此往后, 就可以计算所有顾客总结账时间 public class demo1 { public static void main(String[] args) {

2021-03-20 18:41:21 835 1

原创 面向对象和面向过程概述

文章目录面向对象概述面向过程和面向对象的区别面向对象三大特性五大原则面向对象的三大特性五大基本原则总结 面向对象概述 很早以前的编程是面向过程的 , 比如实现一个算术运算1+1 = 2,通过这个简单的算法就可以解决问题。但是随着时代的进步,人们不满足现有的算法了,因为问题越来越复杂 , 比如一个班级的学生的数据分析,这样就有了对象这个概念 , 将现实的事物抽象出来 ,面向对象把现实生活的事物以及关系,抽象成类,通过继承,实现,组合的方式把万事万物都给容纳了。实现了对现实世界的抽象和数学建模。 举个例子来

2021-03-17 14:58:47 339

原创 jvm知识结构图(上)

Java程序的运行过程如下: Java源文件被编译器编译成字节码文件 JVM将字节码文件编译成相应操作系统的机器码 机器码调用相应操作系统的本地方法库执行相应的方法

2020-12-22 15:29:02 218

原创 线程(上)

进程和线程的概念 进程((process) 就是正在执行的程序,从Windows角度讲,进程是含有内存和资源并安置线程的地方. 线程(thread) 进程可进一步细化为线程,是一个进程内部的最小执行单元(执行任务). 线程与进程之间的关系 一个进程可以包含多个线程,一个线程只能属于一个进程,线程不能脱离进程而独立运行; 每一个进程至少包含一个线程(称为主线程);在主线程中开始执行程序, java程序的入口main()方法就是在主线程中被执行的。 在主线程中可以创建并启动其它的线程; 一个进程内的所有线程

2020-12-17 00:17:49 262 3

原创 集合/容器

集合的概念 在我们的开发实践中,经常需要保存一些变长的数据集合,于是,我们需要一些能够动态增长长度的容器来保存我们的数据。Java中对于各种数据结构的实现,就是我们用到的集合。 集合体系概述 Collection 接口-定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。 Set 中的数据对象没有顺序且不可以重复。 List 中的数据对象有顺序且可以重复。 List 接口及实现类 List继承了Collection接口,有三个实现的类 ArrayList 数组列表,数据采用数组方式

2020-11-24 00:09:28 184

原创 比较 “+“,concat(),append()三种方式连接字符串谁使用的时间短

String类型:"+",concat() StringBuffer类型:append() 我们用这三种方法各连接10000次相同字符串,输出每种方式需要的时间 import java.util.Date; public class Demo1 { public static void main(String[] args) { StringBuffer a0=new StringBuffer("bwt"); String a1="bwt"; //测

2020-11-12 21:21:32 181

原创 线程的状态

调用sleep()方***让线程进入睡眠状态—睡眠指定的时间后再次执行; 调用wait()方***让线程进入等待状态 ----等待别的线程执行notify()或notifyAll()唤醒后继续执行; 调用start()方***让线程进入就绪状态—得到CPU时间就执行线程; run()方法是线程的具体逻辑方法,执行完,线程就结束。 ...

2020-11-09 16:50:41 117

原创 (面向对象3)继承,类的关联和依赖,多态,final关键字,抽象类,接口

继承:继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。 继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,并能扩展新的能力。 在JAVA中使用extends关键字来表示继承关系。 JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个直接父类。 继承之后子类可以调用父类的所有非私有属性和非私有方法 何时使用继承? 符合is-a关系的设计,使用继承 将子类共有的属性和行为放到父类中 继承的形式: [访问权限修饰符][修饰符]

2020-11-02 21:08:12 238

原创 java中的关键字

用于定义数据类型的关键字 class byte short int long float double char boolean void 用于定义数据类型值的关键字 true false null 用于定义流程的关键字 if else switch case default while do for break continue return 用于定义访问权限修饰符的关键字 private protected public 用于定义类,函数,变量修饰符的关键字

2020-10-23 18:18:36 121 1

原创 (面向对象2)对象与引用,static关键字,代码块,包,访问权限修饰符,封装,this关键字

对象与引用 Car car= new Car(); 通常把这条语句的动作称之为创建一个对象,其实,它包含了三个动作。 右边的“new Car()”,是以Car类为模板,调用Car类的构造函数,在堆空间里创建一个Car类对象。 左边的“Car car”创建了一个Car类引用变量。所谓Car类的引用,就是以后可以用来指向Car对象的对象引用。 ”=”操作符使对象引用指向刚创建的那个Car对象。 我们可以把这条语句拆成两部分: Car car; car= new Car(); 这样写,就比较清楚了,有两个实体

2020-10-23 16:30:26 238

原创 (面向对象1)面向过程,面向对象,java类,java对象,类中变量,类中方法,方法重载

文章目录面向过程和面向对象的设计思想java类java中类的设计java对象类中变量类中的方法方法重载 面向过程和面向对象的设计思想 面向过程: 注重于解决步骤 面向过程适合处理简单的事情,直接关注流程,简单有效。 例如: ​ 打开冰箱门(); ​ 装大象(); ​ 关闭冰箱门(); 面向对象: 宏观,整体上的设计 面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。 ​ 例如: 门类 ​ 开门(); ​

2020-10-19 19:44:06 174

原创 输出1–100之间的质数

输出1–100之间的质数 说说我的思路: 定义一个信号 使用两个循环,外部循环遍历1-100,内部循环遍历此数除以它的因子,如果可以整除,则为合数,改变信号值为F,直接跳出内部循环 最后判断信号值为T的输出该质数 public class Demo21 { public static void main(String[] args) { boolean b; //定义一个信号b System.out.println(2);

2020-10-16 15:28:06 1952 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除