自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 医疗项目分析

首先,简要介绍系统使用的技术栈(SpringBoot, Redis, MySQL, RabbitMQ等)以及各个技术的作用。这会给面试官一个大概的技术背景理解。

2024-03-07 22:17:22 894

原创 微服务知识点

StringRedisTemplate使用方式和RedisTemplate没有任何区别,特殊是 StringRedisTemplate存储的key 及对应值 都必须是String的字符串,RedisTemplate没有要求可以是任意对象。如果不设置就是永久时间,redis基于内存存储,大小有限,如果值写入没有过期时间,经过一段时间后,redis内存满了,就会造成reids无法写入。合理使用JOIN: 当使用多表查询时,确保使用适当的JOIN类型,并根据查询需求优化JOIN条件。

2024-01-19 21:50:14 525 1

原创 sss项目需要记住的---死也要记住!!!

上面死也要记住,死也要记住,死也要记住!

2024-01-17 21:31:12 357

原创 sss项目需要注意的---死也要记住

*

2024-01-17 21:20:59 330

原创 面试题-并发篇

synchronized 锁升级原理:在锁对象的对象头里面有一个 threadid 字段,在第一次访问的时候 threadid 为空,jvm 让其持有偏向锁,并将 threadid 设置为其线程 id,再次进入的时候会先判断 threadid 是否与其线程 id 一致,如果一致则可以直接使用此对象,如果不一致,则升级偏向锁为轻量级锁,通过自旋循环一定次数来获取锁,执行一定次数之后,如果还没有正常获取到要使用的对象,此时就会把锁从轻量级升级为重量级锁,此过程就构成了 synchronized 锁的升级。

2024-01-17 09:03:15 733

原创 面试题-集合篇

ConcurrentHashMap 的迭代器创建后,就会按照哈希表结构遍历每个元素,但在遍历过程中,内部元素可能会发生变化,如果变化发生在已遍历过的部分,迭代器就不会反映出来,而如果变化发生在未遍历过的部分,迭代器就会发现并反映出来,这就是弱一致性。由于HashMap的K值本身就不允许重复,并且在HashMap中如果K/V相同时,会用新的V覆盖掉旧的V,然后返回旧的V,那么在HashSet中执行这一句话始终会返回一个false,导致插入失败,这样就保证了数据的不可重复性。

2024-01-17 09:00:51 863

原创 面试题-基础篇

创建了两个对象,一个在堆中的StringObject对象,一个是在堆中的“2”对象,并在常量池中保存“2”对象的引用地址。使用字面量创建,在常量池寻找是否有相同内容的对象,发现有,返回对象"2"的地址。这是一个类型限定的语法,它限定 T 是 String 或者 String 的子类,也就是你构建 Caculate 实例的时候只能限定 T 为 String 或者 String 的子类,所以无论你限定 T 为什么类型,String 都是父类,不会出现类型不匹配的问题,于是可以使用 String 进行类型擦除。

2024-01-17 08:59:39 770

原创 前端vue需要注意的

前端用axios和element要先安装再导入。返回收入,支出,就是要传给前端,后端用对象传。先在实体类建一个类,类的属性是收入和支出。由于设计的表中忘写支出,就写一个死数据。发get请求:参数加params。

2024-01-17 08:57:53 350

原创 day19 新特性

设计很差 − Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义。时区处理麻烦 − 日期类并不提供国际化,没有时区支持,因此Java引入了java.util.Calendar和java.util.TimeZone类,但他们同样存在上述所有的问题。非线程安全 − java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。为什么叫做函数式接口?

2023-11-07 21:40:27 20

原创 day18

一个进程至少包含一个线程,大部分都是有多条线程在执行任务(多线程),每个独立运行的程序都对应一个进程。继承Thread类就限制了该类不能再继承别的类,因为类只能单继承,而实现接口的同时可以继承别的类,并且还允许多继承,所以推荐使用接口来实现多线程.守护线程是指,A线程守护B线程,即B是被保护,B是重要的,当B线程结束时A线程(守护线程)会立即结束。进程内多个线程是共享进程资源,线程是资源调度的最小单位(CPU调度和分派的基本单位)调用start方法启动线程 [特别强调,开启新线程的方法是start]

2023-11-07 21:39:54 17

原创 day17

一个进程至少包含一个线程,大部分都是有多条线程在执行任务(多线程),每个独立运行的程序都对应一个进程。继承Thread类就限制了该类不能再继承别的类,因为类只能单继承,而实现接口的同时可以继承别的类,并且还允许多继承,所以推荐使用接口来实现多线程.守护线程是指,A线程守护B线程,即B是被保护,B是重要的,当B线程结束时A线程(守护线程)会立即结束。进程内多个线程是共享进程资源,线程是资源调度的最小单位(CPU调度和分派的基本单位)会让当前线程陷入等待状态(阻塞)状态,让其资源让其他线程执行。

2023-11-07 21:39:22 18

原创 day16

所谓缓冲字节流,其实对原来的字节流做了包装,内部有个缓冲区,即就是一个数组,长度8192,即使用缓冲区字节流,就相当于一次读8192,写8192。在程序中,数据需要传输(移动),比如磁盘上的数据需要出现在显示器上,就需要进行数据传输。boolean createNewFile() 当且仅当不存在此路径名表示的文件时,创建一个新的空文件。FileInputStream用于读诸如图像数据之类的原始字节流(二进制文件,例如图片,音频,视频等)学的是一个思想:读写的思想,要知道数据如何在程序和磁盘之间传输的。

2023-11-07 21:38:41 19

原创 day15 集合

HashMap是线程不安全的,效率高。HashSet类中的方法与父接口Set接口中的方法一致,即又跟Collection接口中方法一致,无特殊方法,没有关于的下标的方法。虽然有下标,但是不能直接定位元素,是通过位运算判断下标离左边还是右边近,然后再从左边或者右边一个个的挨个查的 —> 所以查询慢。HashMap的容量和扩容: 初始容量16,加载因子0.75 阈值是 16 * 0.75,达到阈值扩容至原来的2倍。Map是接口,代表是键映射到值的对象,一个Map不能包含重复的键,值允许重复。

2023-11-07 21:38:08 11

原创 day14

应用场景:适合那些查询频率高的地方,且基本大部分长场景都是经常查不经常删除和插入的,所以ArrayList就非常常用!ArrayList实现了List接口,即ArrayList也是有序集合,也允许重复元素,且那些关于下标操作的方法ArrayList都有!ArrayList底层是数组,默认长度是10,但是存储元素多余10时会扩容。ArrayList底层是数组,大小可变是指它会扩容(不是真正的大小可变)但是除此之外的方法,确实提供了可以通过下标操作元素(CRUD)的方法。泛型在集合中主要是用来规定数据类型的。

2023-11-07 21:37:33 12

原创 day13

利用面向对象的思想(类,属性,方法,创建对象,调用方法,调用属性,继承,多态,接口) 学习 其他类。第一版(继承): 子类方法与父类方法 访问修饰符 返回值类型 方法名(参数) 完全一样。特别的,父类方法没有异常,子类方法重写时不能抛出异常,如果有异常只能捕获。语法: 无论try内是否有报错,finally一定会在最后执行。java中异常也是一些类,报错出的信息其实异常类的对象信息。抛出是层层向上抛出,直到主方法,再抛出到控制台。子类方法访问修饰符>=父类方法修饰符。子类方法抛出异常范围 <= 父类。

2023-11-07 21:36:55 17

原创 day12

StringBuilder的API几乎完全和StringBuffer一致,设计该类的目的就是为了在单线程情况下替换StringBuffer,因为不保证线程安全的话,执行速度快。// 将其包装成类,那就是对象,其中就有属性和方法可以使用。ps: 虽然有8个基本数据类型,我们只学习2个(Integer,Character)ps1: Date类中有很多方法都过时了,不建议用,而是建议使用Calendar使用。int a = 1;nextInt(int n) 随机产生0~n之间(但不包含n的数)

2023-11-07 21:36:25 14

原创 day11

子类 继承(extends)抽象类 子类实现(implements)接口。* 以前直接在输出语句输出对象,其实就已经在默认调用toString()方法。代码块就是一块使用{}包裹的代码,可以理解为类中的一个代码片段(部分代码)// - 向下转型: 将父类赋值给子类对象(将包装后的父类再变回到子类)位置 当前类中,对自己方法的重载 有子父类,子类重写父类方法。// - 向上转型: 将子类对象赋值给父类引用(将子类包装成父类)2.面向对象补充(匿名对象,内部类,代码块,向下转型)

2023-11-07 21:35:54 14

原创 day10

子类 继承抽象类,单继承 实现接口,多实现。方法 可以有正常方法,抽象方法 全部抽象方法。或者说如果子类都会重写的方法可以定义成抽象 接口一般用来定义功能,行为。把子类都一样的方法提取到父类,每个子类直接用,不用重写。以前的方法也能用,为什么现在需要将方法变成抽象方法?把子类不一样的方法抽象成抽象方法,每个子类都重写。抽象: 不具体的,看不太明白,跟正常有区别的…

2023-11-07 21:35:24 9

原创 day09

就是用来限制属性和方法的使用范围的,即类中的属性和方法在什么地方可以使用 什么地方不可以使用。面向对象中的多态: 特指某个方法,运行得到不同的结果 (同一个对象调用同一个方法结果却不一样)public(公开公共) √ √ 自己能用,子对象能用 √。protected(受保护) √ √ 自己不能用,子类对象能用 ×。static 修饰符, 意思是静态的, 静态的一旦设置值就可以被所有对象使用。延伸: 子类重写父类方法,子类的访问修饰符 >= 父类访问修饰符。

2023-11-07 21:34:53 12

原创 day08 OOP

调用方法 this.方法()(子类方法,子类没有也会调用父类方法) super.方法()(父类方法)调用属性 this.属性(子类属性,子类没有也会调用父类属性) super.属性(父类属性)class A extends B ,就是继承,读作A类继承B类,A是子类,B是父类。在继承中,子类重写了父类方法(子类和父类方法签名一样,但是方法体不一样)子级(子类) 从父级(父类) 获得它们的东西(属性,方法)有工人(Worker)类,有地址(Address)类。

2023-11-07 21:34:22 13

原创 day07

2 为了给属性ClassA a赋值,会执行new ClassA(),调用ClassA()构造方法。* 1 调用ClassC()构造方法,但是先初始化ClassC类中的属性。用来构造 ,也就是创建对象的,以及会将属性初始化。可以使用有参数的构造方法,这样创建出的对象属性值是指定的值。刚才的构造方法是无参构造,创建出的对象属性值都是默认值。// 属性a有值,且值是new出来的,初始值是地址值。// new 后面调用类的构造方法来创建对象的。在类中,与方法一样,与其他方法平级定义即可。

2023-11-07 21:33:43 12

原创 day06

今日内容1 复习2 面向对象编程介绍3 面向对象一、复习周一: jdk,配置环境变量,idea,HelloWorld变量,基本数据类型周二: 运算符,if,if-else周三: if-elseif-elseif-else,循环(while,dowhile,for)周四: 方法设计(参数,返回值),数组入门周五: 数组(创建,存取,内存,遍历,排序,Arrays)java的基本数据类型有哪些: 8种java的引用数据类型有哪些: 数组,类,接口。

2023-11-07 21:33:12 13

原创 day05 数组

比如一个数组{3,1,5,2,4} , 经过算法执行 这个数组变成 {1,2,3,4,5}// 调用方法,返回数组。其实对于代码来说,就是相邻两个数字比较,大的放后面,小的前面,依次向后。只有return,那就是单纯结束方法而已,方法定义是void。如果是return + 值;数组遍历,就是一个一个将数组中存储的数据取出来。return是返回的意思,有什么作用?toString(),将数组转字符串的。5 数组用来干什么,定义的语法是什么。其他数组的取值,赋值用法一模一样。sort(),将数组按照升序排序。

2023-11-07 21:32:30 15

空空如也

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

TA关注的人

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