自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并行和并发有什么区别?

3、 串行:有n个任务,由一个线程按顺序执行。由于任务、方法都在一个线程执行所以不存在线程不安全情况,也就不存在临界区的问题。1、 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。2、 并行:单位时间内,多个处理器或多核处理器同时处理多个任务,是真正意义上的“同时进行”。3、 串行 = 俩个人排队使用一台电脑。2、 并行 = 俩个人分配了俩台电脑。1、 并发 = 俩个人用一台电脑。

2023-05-28 19:08:56 53

原创 什么依赖注入和控制反转

2、依赖注入是一种设计模式,可以作为控制反转的一种实现方式。1、控制反转是一种在软件工程中解耦合的思想,调用类只依赖接口,而不依赖具体的实现类,减少了耦合。控制权交给了容器,在运行的时候才由容器决定将具体的实现动态的“注入”到调用类的对象中。3、通过IoC框架,类A依赖类B的强耦合关系可以在运行时通过容器建立,也就是说把创建B实例的工作移交给容器,类A只管使用就可以。

2023-05-28 19:08:01 44

原创 java 中操作字符串都有哪些类?它们之间有什么区别?

String是不可变对象,每次对String类型的改变时都会生成一个新的对象。线程安全,由于加锁的原因,效率不如StringBuilder,多用于多线程。不频繁的字符串操作使用String,操作频繁的情况不建议使用String。线程不安全,效率高,多用于单线程。

2023-05-14 19:15:17 44

原创 实例化对象有哪几种方式?

/将一个对象实例化后,进行序列化,再反序列化,也可以获得一个对象(远程通信的场景下使用)//用 Class.forName方法获取类,在调用类的newinstance()方法。System.out.println("反序列化user:" +user2);3、通过反射机制创建。

2023-05-14 19:14:56 85

原创 JSP 和 servlet 有什么区别?

JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。servlet 和 JSP 最主要的不同点在于,servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 html 里分离开来,而 JSP 的情况是 Java 和 html 可以组合成一个扩展名为 JSP 的文件。Servlet是一个Java类了,它按照请求-响应模式扩展了承载应用程序的服务器功能。专门针对此类应用程序,Java Servlet技术指定了HTTP特定的servlet类。

2023-05-14 19:13:10 118

原创 普通类和抽象类有哪些区别?

抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类;抽象方法不能声明为静态、不能被static、final修饰。抽象类可以有抽象方法,只需申明,无须实现;有抽象方法的类一定是抽象类;抽象类不能被实例化;

2023-05-14 19:11:05 15

原创 在 Java 中,什么时候用重载,什么时候用重写?

2、重写的使用是建立在继承关系上的,子类在继承父类的基础上,增加新的功能,可以用重写。1、重载是多态的集中体现,在类中,要以统一的方式处理不同类型数据的时候,可以用重载。目的是提高程序的多样性和健壮性,以适配不同场景使用时,使用重载进行扩展;你想吃一碗面,我给你提供了拉面,炒面,刀削面,担担面供你选择,这是重载;你想吃一碗面,我不但给你端来了面,还给你加了青菜,加了鸡蛋,这个是重写;目的是在不修改原方法及源代码的基础上对方法进行扩展或增强时,使用重写;重载是多样性,重写是增强剂;

2023-05-14 19:09:53 235

原创 String 类的常用方法都有那些?

split():分割字符串,返回一个分割后的字符串数组。getBytes():返回字符串的 byte 类型数组。toLowerCase():将字符串转成小写字母。toUpperCase():将字符串转成大写字符。indexOf():返回指定字符的索引。charAt():返回指定索引处的字符。substring():截取字符串。trim():去除字符串两端空白。length():返回字符串长度。replace():字符串替换。equals():字符串比较。

2023-05-14 19:08:52 15

原创 final 在 java 中有什么作用?

1、final修饰的成员变量,必须在声明的同时赋值,一旦创建不可修改;4、private类型的方法默认是final的;3、final类中的方法默认是final的;2、final修饰的方法,不能被子类重写;

2023-05-14 19:08:48 36

原创 什么是阻塞队列?

这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。是一个支持两个附加操作的队列。

2023-05-14 19:06:32 19

原创 NIO的核心Buffer实现有哪些?

ShortBuffer,存储字符串数据到缓冲区。LongBuffer,存储长整型数据到缓冲区。ByteBuffer,存储字节数据到缓冲区。CharBuffer,存储字符数据到缓冲区。DoubleBuffer,存储小数到缓冲区。IntBuffer,存储整数数据到缓冲区。FloatBuffer,存储小数到缓冲区。

2023-05-14 19:06:25 25

原创 【无标题】ArrayList和Vector有何异同点?

2、Vector和ArrayList都有一个初始的容量大小。两者允许null值,也可以使用索引值对元素进行随机访问。ArrayList,没有同步,线程不安全,效率高;1、Vector和ArrayList 都是有序的。Vector是同步的,线程是安全的,效率不高。

2023-05-14 19:03:59 44

原创 死锁概念,如何处理

是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去;两个或两个以上的进程在执行过程中,由于竞争资源造成的一种阻塞现象。预防死锁,避免死锁,检测死锁。

2023-04-23 20:46:06 22

原创 Mybatis知识点三

1)在Mapper.xml文件里给sql语句的字段起别名。2)在mybatis配置文件设置 下划线转换为驼峰式。解决字段名和属性名不一致的情况。

2023-04-23 20:42:33 23

原创 Mybatis知识点二

hibernate、jpa:自动框架,由框架生成sql语句,不需要人为编写,灵活度较差,高度定制化的sql语句需要跳过框架。sql语法中不需要引号的 使用${} ,不用手动加上引号。sql语法中需要引号的 尽量使用#{},或者${} 手动加上引号。Mybatis框架对常用的类型设置了对应的别名,用来替代全类名,简化代码。mybatis提供面向接口编程,持久层只需要一个接口,不需要实现类。mybatis是对jdbc封装的框架,几乎不需要jdbc操作。mybatis:半自动化的框架,可以注解配置、xml配置。

2023-04-23 20:41:30 28

原创 Mybatis知识点一

尽管与动态SQL一起工作不是在开一个party,但是MyBatis确实能通过在任何映射SQL语句中使用强大的动态SQL来改进这些状况。在上一版本中,需要了解和学习非常多的元素,但在MyBatis 3 中有了许多的改进,现在只剩下差不多二分之一的元素。MyBatis 最强大的特性之一就是它的动态语句功能。单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。

2023-04-23 20:33:08 27

原创 Redis知识点

2、value支持着五种丰富的数据类型,更加强大,memcache只是简单地key-value存储,但value的数据类型单一。3、 操作原子性(redis的每一个指令都是具有原子性的),支持简单的事务(更类似于批处理,因为不支持回滚)。2、支持多种数据属性,string,list,set,zset,hash。4、 丰富的指令集合,可以设置key的过期时间等。3、数据缓存在内存中,可以写入硬盘(可以持久化)1、key-value对应的内存数据库,高效。1、是一个key-value的存储系统;

2023-04-23 19:56:57 21

原创 SpringMVC框架

HandlerMapping负责根据用户请求url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。4. DispatcherServlet 会根据 处理器执行链 中的处理器,找到能够执行该处理器的处理器适配器(HandlerAdaptor) --注,处理器适配器有多个。6. Controller 将处理结果及要跳转的视图封装到一个对象 ModelAndView 中并将其返回给处理器适配器 (HandlerAdaptor)

2023-04-23 19:48:59 26

原创 Spring框架

1.概念:Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。5.系统启动慢,不具备热部署功能,完全依赖虚拟机或Web服务器的热部署。1.使用门槛升高,入门Spring需要较长时间;(4)Bean的销毁 – destroy。(2)Bean的初始化 – init。降低Java EE API的使用难度。2.Spring的优点和缺点。(1)Bean的定义。(3)Bean的使用。

2023-04-23 19:40:00 28

原创 Mysql知识点

设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。DBS.DataBase System一数据库系统:即DB+DBMS,指带有数据库井整合了数据库管理软件的计算机系统。DBMS.DataBase Management System-数据库管理系统:用来操纵和管理数据库的大型服务软件。8. 删除不再使用或者很少使用的索引。6. 数据量小的表最好不要使用索引。5. 尽量使用数据量少的索引。4. 限制索引的数目。

2023-04-23 19:34:51 30

原创 2021-09-29

标题软件开发流程*

2021-09-29 19:27:32 64

原创 2021-09-29

软件公司有哪些?1.北京华盛恒辉科技有限公司,2北京五木恒润科技有限公司,3.浪潮集团有限公司,4北大方正集团有限公司,5.国电南瑞科技股份有限公司,6.南京联创科技集团股份有限公司,7.东软医疗系统有限公司8.用友网络科技股份有限公司,9.浙大网新科技股份有限公司,10.上海宝信软件股份有限公...

2021-09-29 19:23:46 34

原创 2021-09-29

java开发工具还有哪些? Eclipse ,myEclipse , Netbeans,Vscode,NavicatRedisclient,Gradle,Speak java,Clovermysql,Junit

2021-09-29 19:15:32 29

原创 2021-09-29

1.电脑上怎么找到环境变量?第一,在桌面上找到我的电脑,接着选中鼠标右击在下拉菜单中选择属性,我的电脑->鼠标右击->属性第二,完成第一步后,进入一个界面后找到系统高级设置第三,接着在系统属性中点击高级第四,在高级的界面中找到环境变量,点击环境变量后即可...

2021-09-29 19:07:18 30

原创 2021-09-28

MySQL是什么?

2021-09-28 12:57:02 38

原创 2021-09-28

什么是数据库

2021-09-28 12:56:31 36

原创 2021-09-28

Tomcat的含义

2021-09-28 12:55:46 32

原创 2021-09-28

服务器的解释

2021-09-28 12:55:07 45

原创 2021-09-28

Hbuilder的含义

2021-09-28 12:54:28 35

原创 2021-09-28

idea的含义

2021-09-28 12:53:40 34

原创 2021-09-28

环境变量的含义

2021-09-28 12:52:28 34

原创 2021-09-28

jdk的含义

2021-09-28 12:51:00 57

原创 2021-09-28

标题Java图标的由来在印度尼西亚,有一个岛屿叫做爪哇岛,英文名叫Java,因盛产咖啡而闻名,而Java的开发工程们师们非常喜欢喝这种咖啡,所以将语言命名为Java,将图标设置为一杯咖啡,起初的Java并不叫Java,而是叫oak(橡树),但是因为oak这个商标已经被注册了,所以才有了Java,因此才有了这个咖啡图标的诞生。...

2021-09-28 10:02:02 38

空空如也

空空如也

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

TA关注的人

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