- 博客(47)
- 收藏
- 关注
原创 线程安全的懒汉式_死锁_ReentrantLock的使用
不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁。我们编写程序时,要避免出现死锁。懒汉式:存在线程安全问题。(需要使用同步机制来处理)synchronized同步的方式与Lock的对比?以上4个条件同时出现就会触发死锁。饿汉式:不存在线程安全问题。
2024-02-02 17:30:32 277
原创 线程的同步机制
注意:在实现Runnable接口的方式中,同步监视器可以考虑使用this,在继承Thread类的方法中,同步监视器要慎用this,可以考虑使用:当前类.class。有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打印账户余额。方式2:同步方法:直接在方法前加synchronized关键字。必须保证一个线程未结束的情况下,其他线程无法进入。线程1未结束的情况下,其他线程进入了程序。
2024-02-01 17:58:44 170 1
原创 自定义异常类简介
1.如何自定义异常类?2.如何使用自定义异常类?3.为什么需要自定义异常类?继承于现有的异常体系。通常继承于通常提供几个重载的构造器在具体的代码中,满足指定条件的情况下,需要手动的使用"throw + 自定义异常类的对象"方式,将异常抛出。如果自定义异常类是非运行时异常,则必须考虑如何处理此异常类的对象。(具体的①②throws我们其实更关心的是,通过异常的名称就能直接判断此异常出现的原因。尽管如此,我们就有必要在实际开发场景中,不满足我们指定的条件时,指明我们自己特有的异常类。
2024-01-30 17:51:03 254
原创 手动throw异常对象
在实际开发中,如果出现不满足具体场景的代码问题,我们就有必要手动抛出一个指定类型的异常对象。在方法内部,满足指定条件的情况下,使用"throw+异常类的对象"的方式抛出。是用来声明函数可能抛出的异常类型的语法。是用来主动抛出异常的行为,而。
2024-01-30 15:17:45 14
原创 异常的处理方式2
子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常类型相同,或是父类被重写的方法抛出的异常类型的子类。格式:在方法的声明处,使用“throws 异常类型1,异常类型2,…
2024-01-30 15:16:57 152
原创 异常的概述
1.什么是异常?2.异常的抛出机制3.如何对待异常4.异常的体系结构指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致JVM的非正常停止。
2024-01-30 15:14:42 149
原创 IO流-处理流之——对象流(序列化)
自定义类需要实现接口:Serializable。要求自定义类声明一个全局常量:static final long serialVersionUID = 42546465464L,用来唯一的标识当前的类。要求自定义类的各个属性也必须是可序列化的。对于基本数据类型的属性,默认就是可以序列化的。对于引用数据类型的属性,要求实现Serializable接口。
2024-01-26 18:09:24 38
原创 IO流-处理流之——转换流
gbk:用来存储中文简体繁体、a、b、c等英文字符和1、2、3常用的标点符号。中文字符使用2个字节存储,向下兼容ascii,英文字符1个字节。utf-8:可以用来存储世界范围内主要语言的所有字符,使用1-4个不等的字节表示一个字符。ascii:主要用来存储a、b、c等英文字符和1、2、3常用的标点符号,每个字符占用1个字节。字符编码:字符、字符串、字符数组—> 字节、字节数组(从我们能看懂的—>我们看不懂的)字符解码:字节、字节数组—>字符、字符串、字符数组(从我们看不懂的—>我们能看懂的)
2024-01-26 15:48:59 249
原创 IO流-处理流之——缓冲流
创建File的对象、流的对象(包括文件流、缓冲流)。使用缓冲流实现读写数据或写出数据的过程(重点)提升文件读写的效率。
2024-01-25 17:30:11 338
原创 IO流——流的概述和分类
1.IO流的分类2.基础IO流的框架3.FileReader \ FileWriter的使用4.FileInputStream \ FileOutputStream的使用。
2024-01-25 11:22:55 332
原创 File类
打印出指定目录下jpg格式的图片名称。删除指定文件目录及其下所有文件。获取文件和目录基本信息。File类的重命名功能。输出出指定目录文件大小。
2024-01-24 12:36:01 830
原创 应用举例:模板方法设计模式(抽象类)
抽象类体现的就是一种模板模式,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。案例三:抽象员工系统,分全职工和小时工,输出他们的工资(生日当月工资加二百)应用举例:模板方法设计模式(TemplateMethod)全职工类 SalariedEmployee.java。小时工类 HourlyEmployee.java。测试类 PayrollSystem.java。案例1:计算代码运行时间。案例2:银行流程抽象。
2024-01-10 12:11:15 553
原创 Kafka学习笔记1(千峰教育)
这个主题用来存放消费者消费某个主题的偏移量,因为每个消费者都会自己维护消费的主题的偏移量,也就是说每个消费者会把消费的主题的偏移量自主上报给kafka中的默认主题:consumer_offsets。集群中有多个broker,创建主题时可以指明主题有多个分区(把消息拆分到不同的分区中存储),可以为分区创建多个副本,不同的副本存放在不同的broker里。副本是为了给主题中的分区创建多个备份,多个副本在kafka集群的多个broker中,会有一个副本作为leader,其他是follower。
2023-12-28 15:33:47 1287
原创 css学习笔记8(定位)
粘性定位和相对定位的特点基本一致,不同的是:粘性定位可以在元素到达某个位置时将其固定。不会脱离文档流,元素位置的变化只是视觉效果上的变化,不会对其他元素产生任何影响。——默认宽、高都被内容所撑开,且能自由设置宽高。注意:绝大多数情况下,相对定位会与绝对定位配合使用。比普通元素高,无论什么定位,显示层级都是一样的。相对定位的元素,也能继续浮动,但不推荐这样做。浏览器来说,视口就是我们看网页的那扇“窗户”。注意:该定位的元素必须设置宽高!调整位置,但不推荐这样做。相对定位的元素,也能通过。
2023-12-25 17:51:16 1133
原创 css学习笔记6(盒子模型)
块元素(block)html、bodyform与option行内元素(inline)a与label行内块元素(inline-block)imgtd、thiframe。
2023-12-22 16:17:10 1056
原创 css学习笔记4(文本属性)
备注:由于字体设计原因,靠上述办法实现的居中,并不是绝对的垂直具中,但如果一行中都是文字,不会太影响观感。备注:由于字体设计原因,文字在一行中,并不是绝对垂直居中,若一行中都是文字,不会太影响观感。问题:垂直方向上的底部对齐,更好的解决方法是什么?——后面我们用定位去做。后面会学习css中的一些新得长度单位,目前我们只知道像素(顶部:无需任何属性,在垂直方向上,默认就说顶部对齐。对于多行文字:控制行与行之间的距离。——后面我们用定位去做。,可以实现文字垂直居中。居中:对于单行文字,让。
2023-12-21 11:27:44 1180
原创 css学习笔记2
概念:如果发生了样式冲突,那就会根据一定的规则(选择器优先级),进行样式的层叠(覆盖)。颜色名这种方式,表达的颜色比较单一,所以用的不多。(向色相中对应颜色中添加灰色,网站,可查询属性是否可被继承。这三种光的三原色进行组合。亮度太强,所以就是白色了)规则:优先继承离得近的。的基础上,添加了透明度。详细聊:需要计算权重。亮度没了,所以是黑色。概念:元素会自动拥有。
2023-12-18 16:26:32 895
原创 CSS选择器
基本选择器特点用法通配选择器选中所有标签,一般用于清楚样式。元素选择器选中所有同种标签,但是不能差异化选择。类选择器选择所有特定类名(class值)的元素——使用频率很高。ID选择器选中特定id值得那个元素(唯一的)。
2023-12-18 02:36:02 872
原创 css学习笔记1
HTML(结构)、CSS(表现)、行为(JavaScript)CSS的全称:层叠样式表(Cascading Style Sheets)。CSS也是一种标记语言,用于给HTML结构设置样式,例如:文字大小、颜色、元素宽高等。简单理解:CSS可以美化HTML,让HTML更漂亮。核心思想:HTML搭建结构,CSS添加样式,实现了:结构与样式的分离。
2023-12-12 11:59:44 848
原创 html学习笔记4
在html中我们可以用一种特殊的形式的内容,来表示某个符号,这种特殊形式的内容,就是html实体。比如小于号<用于定义html标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在html源码中插入字符实体。字符实体由三部分组成:一个&和一个实体名称(或者一个#和一个实体编号),最后加上一个分号(;2.针对IE浏览器的兼容性配置。6.针对搜索引擎爬虫配置。9.配置定义网页版权信息。10.配置网页自动刷新。3.针对移动端的配置。5.配置网页描述信息。8.配置网页生成工具。
2023-12-11 17:22:38 829
原创 html学习笔记3
标签名标签语义常用属性单/双标签form表单action:表单要提交的地址。target:跳转的新地址的打开方式;值:self、blankmethod:请求方式(post,get)双input多种形式的表单控件type属性:指定表单控件的类型。可选值(text、password、radio、checkbox、hidden、submit、reset、button等)。name属性:指定数据名称。
2023-12-11 15:11:49 975 2
原创 html学习笔记2
是一种组织信息的方式,通过超链接将不同空间的文字、图片、等各种信息组织在一起,能从当前阅读的内容,跳转到超链接所指向的内容(页面、文件、锚点、应用)。标签:a 属性:href:跳转的位置 target:_self(默认,本页面) _blank:(新标签)概念:列表中的某项内容,又包含一个列表(注意:嵌套时,务必请把结构写完整)。通过a标签,可以唤起设备应用程序。–网页中的一个标记点。概念:无顺序或不侧重顺序的列表。主要作用:从当前页面进行跳转。概念:有顺序或侧重顺序的列表。
2023-12-10 04:11:06 340
原创 常见图片格式(笔记)
常见图片格式1.jpg格式2.png格式3.bmp格式4.gif格式5.webp格式6.base64格式1.jpg格式概述:扩展名为.jpg或.jpeg,是一种有损的压缩格式(把肉眼不容易观察出来的细节丢弃了)。主要特点:支持的颜色丰富、占用空间较小、不支持透明背景、不支持动态图。使用场景:对图片细节没有极高要求的场景,例如:网站的产品宣传图等。2.png格式概述:扩展名为.png,是一种无损的压缩格式,能够更高质量的保存图片。主要特点:支持的颜色丰富、占用空间略大、支持透明空间、不支持
2023-12-09 21:28:21 377
原创 html学习笔记1
hn (1-6)标题 p 段落 div 没有任何含义,用于整体布局(生活中的包装袋)scr:图片路径 alt:图片描述 width:宽度 一般是正比例对应的。vscode快速删除一行 shift+ctrl+k。h1到h6 标题标签(h1到h6不能互相嵌套)vscode格式化代码 shift+alt+f。当图片无法展示的时候,会显示alt属性的值。alt+shift+下 向下复制一行代码。写在head中,告诉浏览器用utf8解码。声明这是html5的网页。
2023-12-09 14:27:36 345
原创 HTML基本结构
一个基本的html网页,应该包含html、head、body标签,但是如果你这些都不写,直接写body标签里的语句,也能看到效果,这是什么原因呢?浏览器具体渲染的过程为:html格式检查,合法直接渲染,不合法处理后,在渲染。head标签内的内容一般都是不显示的,body标签的内容为显示在网页的内容。可以看见浏览器帮我们自动处理,把head中的语句放在body里了。【查看网页源代码】看到的是:程序员编写的源代码。【检查】看到的是:经过浏览器“处理”后的源代码。当我们在属性不加双引号时,浏览器也会处理再渲染。
2023-12-08 10:03:17 337
原创 Servlet生命周期
Servlet生命周期Servlet生命周期生命周期Servlet生命周期生命周期init()、service()、destroy()。service方法中执行内容。
2022-05-11 11:31:58 61
原创 用java日期类算出生了多少天
思路:利用java的Date类用当前时间的毫秒值减去生日的毫秒值,再用这个差值换算成天String birthdayString=“1999-07-23”;//定义生日的字符串SimpleDateFormat sim=new SimpleDateFormat(“yyyy-MM-dd”);// 定义转换成Date类的格式Date birthdayDate=sim.parse(birthdayString);//通过sim这个格式将生日字符串转换为日期类上面我们得到了生日的日期类,因为日期不能直
2021-03-22 20:12:13 373
原创 Integer的自动装箱和自动拆箱
所谓自动装箱就是Integer是对象类型,而int是基本数据类型类型。所以“Integer i1=10”这种写法在理论上是不可以的。正确的写法应该是"Integer i1=Integet.valueOf(10)"。但是细心的小伙伴能发现在编写代码中“Integer i1=10”也是可以正确运行的。“Integer i1=10” 等同于Integer i1=Integet.valueOf(10)"省略了一个int到Integer的转换,即为自动装箱。同理自动拆箱也就是把Integer对象可以直接赋值给i
2021-03-21 17:00:24 343
转载 程序包不存在,找不到符号
解决方法5感谢评论区的哥提供的答案,确实碰上了使用这种方式解决了运行maven命令 mvn idea:idea如果项目能编译了,但是启动spring boot项目启动报错:Failed to load property source from location ‘classpath:/application.yml’因为编译出来的配置文件乱码了,取target目录下看配置文件里面的中文都乱码需要GBK 就设置成GBK转载于博客https://blog.csdn.net/cxz7456/a
2020-11-11 09:51:00 1415
原创 2020-10-26
实体类的tostring 可以快捷创建一个程序的第一次运行可能要经过很多的步骤,漏掉一个环节或者一个步骤出错,就是无穷无尽的百度、CSND但是,我们应该也要看到好的一面,就是一旦这些步骤你全都有,程序就会百分之百的运行,也就是说只要你该有的都有,这个程序就能在任何时间任何地点运行,从而更好的执行一些繁琐的、重复的工作。...
2020-10-26 23:14:30 40
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人