自定义博客皮肤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)
  • 收藏
  • 关注

原创 String

StringBuilder: 可变的字符序列 , 线程不安全的,效率高,底层是 char[]数组 存储。StringBuffer : 可变的字符序列 , 线程安全的,效率低 ,底层是 char[]数组 存储。String是一个长度不可变的字符序列,底层是一个被final修饰的char[]数组。

2023-06-27 09:12:34 64

原创 image merge

rt,jar jdk 里自带功能。// 在底片左上角开始合成新图片。// 先画一个底板图片。

2023-06-12 11:10:57 101

翻译 模态窗口参数

在上面的示例中,我们通过 JavaScript 代码来实现模态窗口,并在创建模态窗口实例时将参数 {message: ‘这是一个模态窗口’} 传递给它。需要注意的是,我们在模态窗口类的构造函数中获取了模态窗口内容元素和关闭按钮元素,并在模态窗口关闭时移除了相关事件监听器。// 获取模态窗口内容元素和关闭按钮元素。// 获取模态窗口元素和打开按钮元素。// 创建模态窗口实例并传递参数。/* 模态窗口内容样式 *//* 模态窗口样式 *//* 关闭按钮样式 */// 设置模态窗口内容。// 定义模态窗口类。

2023-06-08 13:41:10 73

翻译 数据库锁表

答:数据库锁表是指在数据库中,为了保证数据的一致性和完整性,可能会对数据进行加锁,以避免并发操作引起的数据冲突。如果锁定的范围过大或时间过长,可能会导致数据库表被锁定,从而影响系统性能。答:数据库锁表的原因可能有很多,例如事务的执行时间过长、事务的锁定范围过大、索引使用不当、SQL语句优化不足等。当出现大量并发操作时,如果没有合理的处理方式,可能会导致数据库表被锁定。当数据库表被锁定时,其他用户的查询和操作可能会受到影响,从而导致系统运行缓慢甚至崩溃。数据库锁表可能会导致什么问题?如何避免数据库锁表?

2023-06-06 16:19:43 1129

原创 线程

需要注意的是,多线程编程中需要高度关注线程安全问题,尤其是在共享资源的情况下,需要采用适当的线程安全机制,以保证数据的正确性和完整性。线程安全的数据结构:在多线程环境下,需要使用线程安全的数据结构,例如ConcurrentHashMap、CopyOnWriteArrayList等,来实现线程安全的数据操作。可见性:多个线程同时访问同一个变量时,需要保证对该变量的读写操作对其他线程是可见的,以避免出现数据不一致的情况。线程本地存储:线程本地存储是指每个线程都有自己独立的内存空间,线程之间的数据不会相互影响。

2023-06-06 16:12:11 2000

翻译 【无标题】index

其中,B-Tree和B+Tree索引是最常用的索引数据结构,它们可以适用于各种类型的数据查询操作,并且具有较好的平衡性和稳定性。B-Tree(平衡树)索引:B-Tree是一种常用的索引数据结构,它可以对数据进行快速的查找、插入和删除操作。B+Tree(平衡树)索引:B+Tree是一种改进的B-Tree索引,它采用了只有叶子节点存储数据记录的方式,可以减少磁盘I/O操作,提高数据检索效率。创建合适的索引,避免创建过多的索引,因为过多的索引会降低查询性能。定期维护索引,包括重新构建索引、收缩索引、压缩索引等。

2023-06-06 16:10:26 36

翻译 mybatis

二级缓存是Mapper级别的缓存,它的作用域是同一个Mapper下的所有SqlSession。当进行相同的查询时,MyBatis会先从二级缓存中查找,如果找到了就直接返回结果,没有找到则进行数据库查询,并将查询结果存入二级缓存中。一级缓存是SqlSession级别的缓存,它的作用域是同一个SqlSession,当进行相同的查询时,MyBatis会先从缓存中查找,如果找到了就直接返回结果,没有找到则进行数据库查询,并将查询结果存入缓存中。在映射语句中不能使用ResultMap的继承。

2023-06-06 16:04:47 42

原创 springMVC

2、DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping、HandlerExecutionChain),根据配置的映射规则,找到对应的处理器(Handler)和拦截器。5、调用相应处理器(Handler, 即Controller类)中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据。

2023-06-05 11:35:47 25

原创 RESTful

user/arg1/arg2 传统的user?Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。requestmapping 直接可以指名请求方式。直接在url路径传参 而不是传统的变量等于值。

2023-06-04 12:07:42 26

原创 SqlServer sql

n为存储字符的最大长度,其范围是1~8000,但可根据实际存储的字符数改变存储空间,max表示最大存储大小是2的31次方-1个字节。存储大小为n个字节。时间戳数据类型,timestamp的数据类型为rowversion数据类型的同义词,提供数据库范围内的唯一值,反映数据修改的唯一顺序,是一个单调上升的计数器,此列的值被自动更新。在定义的范围内,不论输入的时间长度是多少,binary类型的数据都占用相同的存储空间,即定义时空间,而对于varbinary类型的数据,在存储时实际值的长度使用存储空间.

2023-05-31 16:21:45 102

原创 java面试题 URL

java基础https://blog.csdn.net/ThinkWon/article/details/104390612?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-77.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-77.non

2023-05-30 14:33:14 32

原创 java 常用注解

1. jdk**### spring 注解 **1.声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供都可以注解在set方法和属性上,推荐注解在属性上(一目了然,少写代码)。3.

2023-05-30 14:32:01 728

原创 mockito , jmockit ,PowerMock

1. mockito(1) org.mockitomockito-core2.7.12test(2) init类前@RunWith(MockitoJUnitRunner.class)或者@Beforepublic void initMocks() {MockitoAnnotations.initMocks(this);}(3) 注解@Mock 该对象所有的方法被置空,...

2023-05-30 14:31:39 1195

翻译 eclipse快捷键

查看子类父类:Ctrl +T 或者F4查看结构图。ctrl+g 查看方法被调用。Ctrl +r 搜类名。

2023-05-29 15:58:49 30

翻译 map和set

HashMap 和 HashSet 的区别在于,HashMap 存储的是键值对,而 HashSet 存储的是对象。另外,HashMap 和 HashSet 在添加元素时,会自动调用对象的 hashCode() 方法来确定对象的哈希码,以便在内部实现中进行存储和查找。因此,如果要将对象作为键值存储在 HashMap 中,需要重写对象的 hashCode() 方法,以保证 HashMap 能够正确地存储和查找对象。在添加和查找元素时,HashMap 的效率比较高,但是元素的顺序是不确定的。

2023-05-29 15:13:05 30

翻译 【无标题】Array、ArrayList 和 LinkedList,Vector

因此,如果需要频繁地插入和删除元素,建议使用LinkedList;如果需要频繁地随机访问元素,建议使用ArrayList。ArrayList是一个基于数组的动态数组,它可以自动增长和缩小。它可以随机访问元素,但在插入和删除元素时效率较低。LinkedList是一个基于链表的数据结构,它可以高效地插入和删除元素,但在随机访问元素时效率较低。LinkedList和ArrayList是两种不同的数据结构。

2023-05-29 15:08:28 51

翻译 http状态码

503 Service Unavailable:服务器暂时无法处理请求,一般是由于服务器过载或者正在维护。304 Not Modified:客户端发送的请求已经被缓存,服务器告诉客户端使用缓存。301 Moved Permanently:请求的资源被永久的移动到新的URL地址。401 Unauthorized:未经授权,客户端无法访问被请求的页面。302 Found:请求的资源被临时的移动到新的URL地址。201 Created:请求被成功处理并创建了新的资源。

2023-05-28 23:36:16 40

翻译 restful

回答:相对于传统的 RPC 和 SOAP,RESTful 架构具有以下优势:可伸缩性:RESTful 架构基于 HTTP 协议,可以使用现有的 Web 技术和基础设施,具有更好的可伸缩性。简单性:RESTful 架构采用统一的接口和标准的方式来处理资源和操作,具有更好的可读性和易用性。它的设计有哪些值得称道的特点?该 API 的设计遵循 RESTful 架构风格的设计原则,使用清晰、简洁、易于理解的 URI 来标识和访问资源,使用恰当的 HTTP 方法来表示不同的状态转移,并提供了良好的文档和测试工具。

2023-05-28 23:31:49 32

翻译 linux命令

以上是常用命令的语法,还有很多其他的 Linux 命令可以在终端上使用,可以通过输入 man 命令来查看命令的详细用法。语法:cp [选项] 源文件或目录 目标文件或目录。语法:mv [选项] 源文件或目录 目标文件或目录。touch:创建新文件或更新已有文件的时间戳。语法:chmod [选项] 权限 文件或目录。mv:移动文件或重命名文件或目录。chmod:更改文件或目录的权限。ls:列出目录中的文件和子目录。语法:rm [选项] 文件或目录。cp:复制文件或目录。rm:删除文件或目录。

2023-05-28 18:20:53 28

翻译 ConcurrentHashMap

答案:ConcurrentHashMap的实现中有以下几个优化:采用分段锁(Segment)的机制,将整个Map分成多个Segment,可以独立地进行加锁和解锁操作,从而提高并发性能。在ConcurrentHashMap中,每个Segment都有一个独立的阈值,当Segment中的元素数量超过阈值时,会触发扩容操作。扩容操作包括创建一个新的Segment数组,将原来的Segment中的元素重新分配到新的Segment中,并将新的Segment数组赋值给ConcurrentHashMap的table属性。

2023-05-28 18:10:30 184

翻译 sqlserver

以上是SQL Server的一些基本用法。SQL Server还支持许多高级功能,如使用变量、使用临时表、使用视图和存储过程等。SQL Server是一种关系型数据库管理系统,它提供了许多功能和工具来管理和操作数据。

2023-05-27 17:52:01 16

翻译 java设计模式

工厂模式:工厂模式是一种创建对象的方式,它将对象的创建过程封装在一个工厂类中,使得客户端无需关心对象的创建过程,只需要使用工厂类提供的方法来获取对象。策略模式:策略模式定义了一系列算法,并将每个算法封装在一个类中,从而使得它们可以互相替换。适配器模式:适配器模式用于将一个接口转换成另一个接口,从而让不兼容的类可以一起工作。观察者模式:观察者模式定义了一种一对多的依赖关系,即一个对象(主题)状态发生改变时,所有依赖该对象的对象(观察者)都会收到通知并自动更新。

2023-05-27 17:42:25 14

翻译 【无标题】jsp

例如,<c:if>标签用于条件判断,<c:choose>、<c:when>、<c:otherwise>标签用于选择性执行操作,<c:set>标签用于设置变量值,fmt:formatDate标签用于格式化日期等等。JSTL标签库包括核心标签库、格式化标签库、SQL标签库和XML标签库等多个部分。使用JSTL标签库:在JSP页面中,可以使用JSTL标签库提供的标签来处理数据、流程控制、国际化等任务。以上是JSTL标签库的基本使用方法,熟练掌握JSTL标签库可以帮助开发人员更加高效地开发JSP应用程序。

2023-05-27 17:36:16 20

翻译 jquery

例如,使用 $("#myDiv").html(“Hello”) 将修改具有 ID “myDiv” 的元素的 HTML 内容为 “Hello”。内容过滤选择器:根据元素的内容过滤元素,例如:$(“element:contains(‘text’)”),选择包含指定文本的元素。dblclick:为元素绑定双击事件,例如:$(“#myButton”).dblclick(function() { …click:为元素绑定单击事件,例如:$(“#myButton”).click(function() { …

2023-05-27 16:34:47 20

翻译 数据库优化

数据库优化是指通过调整数据库的结构、索引、查询语句等方面来提高数据库的性能和效率,以满足应用程序的需求。创建合适的索引:索引可以加速查询操作,但是过多的索引会影响插入、更新、删除等操作的性能,所以需要根据实际情况创建合适的索引。设计合理的数据库结构:数据库的结构设计直接影响到数据库的性能,合理的数据库结构可以减少冗余数据、提高查询效率。避免使用过于复杂的查询语句:过于复杂的查询语句容易导致性能下降,可以使用缓存、分页等方式来优化查询。使用合适的数据类型:选择合适的数据类型能够减少存储空间和提高查询速度。

2023-05-27 16:26:35 106 1

翻译 【无标题】hashmap和currenthashmap底层原理

在 JDK8 中,ConcurrentHashMap 的底层实现使用了一种叫做 CAS(CompareAndSwap)的无锁算法,这使得它在高并发情况下的性能得到了极大的提升。ConcurrentHashMap 在 JDK1.8 版本中引入了红黑树(Red-Black Tree)的支持,这是因为在高并发情况下,ConcurrentHashMap 中的某个桶(bucket)中的链表可能会很长,这会影响到查找、删除、插入等操作的效率。不同的是,Hashtable 是线程安全的,它的所有方法都是同步的。

2023-05-27 16:20:51 494 1

翻译 【无标题】springmvc

它是Spring框架的一部分,它通过MVC(模型-视图-控制器)模式来实现Web应用程序的开发。DispatcherServlet 根据请求 URL 找到对应的 HandlerMapping,即处理器映射器,它会将请求映射到对应的处理器 Handler。HandlerAdapter,即处理器适配器,会将 Handler 封装成适配器,以便 DispatcherServlet 可以与多种类型的处理器进行交互。ViewResolver,即视图解析器,根据视图名称将其解析为具体的视图对象。

2023-05-27 16:13:19 40

翻译 spring,springboot,springmvc 注解

PathVariable:将一个 URL 中的变量映射到处理方法的参数上。@PathVariable:将一个 URL 中的变量映射到处理方法的参数上。@RequestMapping:将一个请求 URL 映射到一个处理方法上。@RequestMapping:将一个请求 URL 映射到一个处理方法上。@RequestMapping:用于将 HTTP 请求映射到方法上。@RequestParam:将一个请求参数映射到处理方法的参数上。@RequestParam:将一个请求参数映射到处理方法的参数上。

2023-05-27 16:10:30 76 1

翻译 【无标题】struts

Struts验证框架:Struts提供了一个验证框架,可以验证表单输入并给出错误提示。Struts标签库是Struts框架中的一个重要组成部分,它提供了一些标签,可以帮助开发者在JSP页面上生成HTML表单。Struts框架:Struts是一个基于MVC模式的Web应用程序开发框架,它包含了一个前端控制器,处理所有的HTTP请求并将它们路由到相应的处理程序。Struts拦截器:Struts提供了一个拦截器框架,可以在请求处理程序之前或之后执行一些额外的逻辑。:用于生成一个取消按钮,可以取消表单的提交。

2023-05-27 16:06:27 41 1

原创 hibernate

Hibernate会话工厂:Hibernate会话工厂是Hibernate的核心组件之一,用于创建Hibernate会话。开发人员需要在应用程序中创建Hibernate会话工厂,以便在应用程序中使用Hibernate。Hibernate会话:Hibernate会话是用于执行数据库操作的对象。使用Hibernate会话,开发人员可以执行查询、插入、更新和删除等数据库操作。Hibernate事务:Hibernate支持事务管理,可以在数据库操作期间保持数据的一致性和完整性。

2023-05-27 16:02:03 23 1

翻译 【无标题】spring

Spring是一个开源的Java框架,它提供了一种轻量级的、非侵入式的、基于POJO(Plain Old Java Object,普通的Java对象)的编程方式,以及一系列企业级应用开发的解决方案和技术支持,包括依赖注入(Dependency Injection)、面向切面编程(Aspect Oriented Programming)、声明式事务处理等。Spring框架的主要目标是简化企业级应用的开发,提高代码的可重用性、可维护性和可测试性,同时尽可能地降低应用的耦合度,以实现更好的可扩展性和灵活性。

2023-05-27 15:58:31 39 1

翻译 springboot

Spring Boot 是一个基于 Spring 框架的开源框架,它简化了 Spring 应用的开发过程,提供了一种快速构建、易于配置和可扩展的方式。Spring Boot 的主要目标是让开发者更加容易地创建独立的、产品级别的 Spring 应用程序,而不需要进行复杂的配置。它采用了自动配置和约定优于配置的方式,使得开发者可以快速搭建起一个基础的 Spring 应用,并且可以集成其他的框架和技术。总之,Spring Boot 的出现使得 Spring 应用程序的开发变得更加简单、快速和高效。

2023-05-27 15:54:58 24 1

翻译 【无标题】HashMap和HashCode区别

哈希码值是根据对象的存储地址或者对象的属性计算出来的一个int类型的值,用于确定对象在哈希表中的存储位置。在HashMap中,当我们插入一个键值对时,首先会根据key的hashCode()方法计算出该键值对的哈希值,然后根据哈希值找到对应的存储位置。HashMap内部实现了哈希表数据结构,通过使用key的hashCode()方法来计算键值对的哈希值,从而决定键值对在哈希表中的存储位置。HashMap是一种数据结构,用于存储键值对;而HashCode是一种计算哈希值的方法,用于确定对象在哈希表中的存储位置。

2023-05-27 15:45:55 255 1

空空如也

空空如也

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

TA关注的人

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