自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring容器解析

在beanfactory中,属性singletonObjects是一个ConcurrentHashMap(一种线程安全的集合)如果发现他是单例的,那么就会去beanfactory中singletonObjects中对应的hash下的val中。我们的查询过程是先来到beanDefinitionmap中进行对应的数据查询(其中记载了他的相关信息)有一个table默认初始化的数组(默认的大小是512,如果出现超过的情况,那么会自动扩容)中记录了对应的bean 的名字,方便对应的配置内容查找(名字通常都是id)

2025-01-21 21:49:41 349

原创 JS中使用事件绑定

一个事件中也可以绑定多个函数,其实在java中也被称为方法,也就是上述我举例的代码中,点击按钮后会触发一系列的弹窗,不是单独的一个.需要注意一件事就是,关于键盘的触发必须要先获取焦点,才能触发相关的事件,否则无法触发onkeyup和onkeydown。onkeyup 当松开键盘的时候(不操作键盘不会触发,这是一个释放键盘按键后产生的事件)在之前的学习中,javaweb前端的一些基础页面操作和JS串的转化完成前后端的交互.本章内容讲解一系列在JS中的scrpit中使用的事件api以及他们的绑定.

2024-12-07 17:18:18 402 1

原创 JSON 串的转化

当然,在java中不仅仅只有单一的对象和字符串的转化交互,还有集合中不同的数据也可以转换成JSON串.使用的方法都是objectMapper.writeValueAsString()以及readValue()进行序列化和反序列化完成集合和字符串的相互转换.(数组在java中也可以看作对象,所以是同理的)var personStr='{"属性名":"属性值",....."对象名":{"属性值",""},"数组类":[..{}..]}'(数组里面每个属性都要被大括号包裹)//创建需要转化成JSON串的对象.

2024-12-06 21:14:39 359

原创 html中页面布局的设计

其中 solid是我们通常默认的一种实线边框,如果想要实现其他类型的边框,我们也可以使用其他语句。在网页的开发设计中经常需要用到页面布局的设计,使用通常的默认分布格局不足以满足当前网站的需求。以下是常见的在div中应用的style语句中的api(n为程序员编写的变量)我们需要在网站中建立一个又一个的框架和区块,以便区别不同类别的内容。分割后使用我们的width:npx设置该div的宽度。同时,我们也可以在div中使用div实现块中块的布局。在默认的情况下,div是一个黑线方框包裹内容。

2024-12-06 16:29:20 283

原创 html表单标签的介绍和使用

上述代码中可以看到除了用户名和密码外都含有完整的键值对,但是用户名和密码没有,这是因为用户本身的输入密码和用户名就是作为value存在,所以其本身只要包含key就可以.其中name是为了标明具体的input,因为使用同一个方法有许多,但是name一般都是独特的,一般都不允许重复.这有利于服务器接受处理,不造成数据混淆.在radio的单选框中,为了保证单选不重复,name需要保证相同,其次保证选择,就需要使用checked作为后缀保证默认选择一个性别.因为表单的本身是一种输入,可以作为一个表单提交给后端.

2024-12-05 20:00:19 359

原创 html前端标题基础api介绍

使用相对路径是在本文件所处的文件夹下进行查询,只需要输入对应的文件名或者文件夹//文件名即可查找并跳转对应的文件进行执行.(一般如果跳转的文件也是html格式会直接跳转对应的网页)如果使用绝对路径,一般都是在一些比较关键的跳转使用,面对可能随时会修改的文件夹,使用绝对路径可以在一定程度上保证无论文件自身的位置怎么变化,都可以抵达对应的需要跳转的文件位置.如果我们需要在文章中写入一些标题,那么我们就需要使用<h1></h1>其中的数字从一到6,标题的文字大小的加粗随着数字的增大而减小.

2024-12-05 19:16:45 442

原创 mysql存储基础介绍

上述给出了三种常见的查询方式,其中使用like和WHERE NAME都是比较常用的查看特定存储的方式,因为数据库中所有的存储太多,只有使用like和where name才能快速查找到需要的存储。mysql中使用存储可以实现封装一系列的sql语句,方便程序员的直接使用,封装的sql语句已经实现编译完成,存储sql语句大大的提高了sql语句的重用性.如果本身已经存储了大量封装好的函数,我们可以使用一些方法去查看我们已经封装好的函数,以便我们的使用.上述的举例是一个无参创建的存储.

2024-12-04 21:08:17 310

原创 mysql中分支语句和循环语句

使用REPEAT语句中也类似WHILE,但是与之相反的是,WHILE语句是条件返回TRUE的时候执行,REPEAT是返回FALSE的时候执行,直到返回TRUE停止循环,而且REPEAT的条件内置在循环体中.返回FLASE则执行下一个IF后的条件进行返回,直到出现返回TRUE完成THEN后的语句,或者遇到END IF;还有一种判断方式IF (条件,结果一,结果二)如果条件返回TRUE那么执行结果一,返回FALSE执行结果二.IFNULL(结果一,结果二)同上,不是NULL返回结果一,是返回结果二。

2024-12-03 19:49:43 442

原创 mysql触发器的创建和删除

在mysql中,多表的增删改查往往伴随着同步的修改,比如用户下订单,不仅仅商家的订单会添加,而且在平台方面的订单记录也会添加,也就是无论哪个商家订单的增加,平台上添加的记录也会同步进行.为了达成这个效果,我们需要使用触发器来完成这个事件,因为触发器本身的功能就是随着事件的发生,随之引发另一个事件的发生.before的含义是在此之前,即当我们触发事件后,该事件执行之前触发器先执行完毕后,事件进行执行.反之,after就是在触发事件后,先执行事件,完成事件的执行之后再完成触发器的执行.DELIMITER;

2024-12-03 19:08:49 357

原创 mysql视图

在实际用户的使用环境中,对多表数据进行查询,往往存在大量的组合运算,这意味着用户在查询过程中需要等待的实践可能过长,为了缓解这一现象,我们往往会在各种需要查询数据的后端中设定我们的视图程序,每次用户的查询都会被视图功能保存封装.因为视图本身可以是多个表查询连接的结果而存在,其中包含多个表,而且如果需要修改表中数据,可以和普通表一样修改 ,修改的结果也会一起反馈到基表中,省去了还要在多个基表中查询修改的麻烦工作.其功能创建的视图可以作为普通表来使用,同时,又具有极高的灵活性.这是视图在实际开发中的应用.

2024-12-03 18:50:42 177

原创 mysql约束

设置了该级联后父表和子表的改动将会统一修改,但是这种修改是单向的,一般都是父表修改连带子表进行修改,但是子表本身无法修改,如果想要修改子表影响父表,那么父表需要建立和子表的外键才可以完成。同时,需要注意的是,唯一约束中也不限制数据的内容,内容物可以出现NULL,而且NULL的值在其中不被认为是确定的,即是可以重复的,一张表中UNIQUE允许出现多个NULL。父表中的改动受到了较大的级联约束,常规的修改删除更新的方式无法对父表和子表单一进行修改,因为他们是相关联的.ADD PRIMARY KEY(列名)

2024-12-03 11:59:43 245

原创 多表查询中的各种连接

外连接其实是我们在多表连接中已经知晓的,但是,我们的左外连接和适用的情况是在一些记录成绩或者结果给各种人员时候使用的,一张人员名单,一张奖励名单,要求连接,但是要求连接后的临时表要保留人员名单,因为有些人并不在奖励范围,如果使用单纯的连接就不会出现在名单上.上述的例子有点不太恰当,因为会出现交叉无法理解谁是老师谁是学生的情况,所以我们对这种自连接其实往往都会使用别名,尽量,让其中的本表的别名改变变成老师或者学生的标志,以便区别.最好也能将老师id和学生标记的老师id名字区别,以便区分防止交叉重复.

2024-12-02 20:31:03 294

原创 多表查询的常用方法

比如我们有两张表,一张表记录了学生和老师的id但是没有老师的名字,另一张表上记录了关于所有老师的信息和id,我们需要通过今天的查询来获取学生对应老师名字的表.我将在接下来的语句中介绍这系列的使用。因为我们对一张单独的表进行查询的情况并不是最常见的情况,更多的时候我们将要应对许多关联的表,而我们需要通过一些关键词从海量的表筛选出自己需要查询的部分.在查询的结果中我们可以看到我们需要的一张新表,当然我们也把这张表称为临时表,我们可以通过这个多表连接筛选的手段来获取我们想要的数据.

2024-12-02 19:08:44 173

原创 java反射的介绍

比如test4plus类中含有一个person类的可以公开访问的名字,私有的年龄,私有的网站用户名,公开的方法一,执行后可以获取该人的口头禅,还有一个方法二,私有属性,隐藏了他内心的一些想法,你可以理解成他的日记.在反射的调用方法中,往往需要先加载需要调用的类,这通常是静态的,然后再创建一个动态对象,同时,由于我们需要完成通过修改外部文件来调整内部程序的运行,所以我们加载了一个properties的文件.反射中基本都遵循加载静态,动态,获取方法对象,属性对象,属性方法调用动态对象执行结果.

2024-11-26 21:45:48 494

原创 mysql数据库对表的基本操作方法

比如在一个公司中每个人都有各种各样的信息,我们可以通过上述的方法只查看工资来筛选排除其他无用信息,但是如果附加我们需要看到工资在10000以上的人员信息,这时候我们就需要添加一个筛选具体行的子句WHERE.执行以上代码可以查看,但是这通常没有实际的应用常见,比如来个生活情景,某公司因为经济效益不如期望,希望找出年龄在60以上,或者工资在10000以上的所有人信息.INSERT INTO 表名 (列 1, 列2 ,列3)VALUES(添加的列1,添加的列2,添加的列3);如果我们需要查看这些人的名字和年龄.

2024-11-26 20:01:59 502

原创 io流的介绍

其中,关于流的概念主要是在内存和存储之间的流,inputstream是将存储中的数据输入到内存之中,outputstream是将内存的数据输出到存储之中.以下将举例一些常见的包装流,又被称为处理流,这些流一般不具备直接单独使用能力,主要是建立在底层的情况上进行修饰和额外的功能拓展.缓冲流在基础的流上额外添加了缓冲区域,这个区域可以让基础流在操作过程中减少io流的交互次数,显著的节省性能开销.在创建该流的时候需要为该流输入一个路径,相对路径或者是绝对路径,用于传输数据的位置.3.内存流(又被称为数组流)

2024-11-25 19:31:10 302

原创 泛型的通配符

在泛型的使用,如果类对象作为参数传入,那么可以认为该对象传入了一堆的属性,被传入的类或者方法往往使用这些属性调用自身的方法进行操作,这有益于减少代码的复用.在泛型的实际使用过程中,有时候不可避免的遇到多种需要传入多种类的情况,但是如果一个一个输入,会显得代码繁杂,这时候就需要用到泛型的通配符.一般的统配符应用在集合中用于接受多种不同数据类型的元素PS:所有的类型根类(超类)都是Object.在通俗化的理解中,通配符中使用了super就会规定好该方法的下界,extends的使用规定了上界.

2024-11-24 09:13:06 178

原创 泛型的介绍

相较于传统存储的优势,传统ArrayLIst集合中一般都是默认Object类型,在存储的时候时候使用Object类进行存储需要将类型转换称为Object类然后在取出的时候在转换成原本的类型,但是定义和约束的相对应的泛型之后,省去了存储和取出时候的类型转化,节省了性能开销.在类的中也可以使用一些泛型方法,泛型方法与一般方法差异在于可以独创一个属于自己的泛型类型进行输入,既能调用类中的泛型属性,也能调用方法自身的泛型进行自适应.在调用了泛型类和方法之后,相应的泛型就会被确认,后续的运行中不会变化.

2024-11-24 08:25:19 187

原创 多线程的创建以及线程安全

在这个例子中为了防止线程一执行过快无法呈现效果,在重写的方法中添加了sleep,增大了死锁的概率,这里线程一执行的情况下手握着a的锁对象,在内部代码块中又需要b的锁,但是由于另一个线程也开始执行,且其手握b的锁对象,又需要a 的线程锁,在这个过程中两个线程都互不相让,两个线程都无法结束,造成了死锁的现象.在写出的代码中,我们创建一个没有隐标识符的对象,并且为了让效果明显使用了Thread.sleep方法减缓该线程的执行,确保两个线程存在交错的并行的时间.

2024-11-23 19:54:23 562

原创 集合collection类介绍

3.remove()删除一个元素输入,如果输入一个元素,那么将会删除该子类中所有的相同元素,如果只是想要删除特定的索引值上的元素,那么只需要使用相对应的索引值就可以完成删除.1.add()增添一个元素(ps,该方法存在重载的情况,比如你想要将元素插入某个位置可以输入相应的索引值然后进行插入,原本处于该索引值的元素会向后移动插入元素的长度)因为链表的使用减少了内存浪费,所以她可以更加有效的使用内存,总体来说,如果在一个庞大的集合中进行删除,那么使用LinkedList是一个不错的选择。

2024-11-23 18:05:57 401

原创 关于包装类的介绍和使用

包装类作为引用类型的一种,实际上也是以对象的形式存在,那么是可以接受空指针的{NULL},这个过程并不会存在什么错误,但是如果在不注意细节情况下,将存有空指针的包装类进行自动拆箱赋值给基本数据类型,那么将会抛出一个空指针访问异常的错误(NullPointerException).造成程序的崩溃,而且这在自动拆箱的过程是无法避免的.(除非使用if-else语句,但是稍微大的项目中容易造成代码繁杂)总的来说,对于一个好的程序员,熟练掌握手动拆箱也是必要的,这对于企业开发一些对性能有要求是十分有必要的.

2024-11-23 12:47:46 185

原创 java异常认识以及处理try-catch的使用

在这一次的运行中 ,属于是访问空指针,因为被初始化长度的数组并未填充其中的内容,因此进行equals比较就会导致运行时异常中的空指针异常,同时从这个例子我们也可以了解到try-catch中catch可以捕获异常并进行处理,同时后续程序也不会崩溃.对于在编程中出现的(指非语法错误和非逻辑错误的编程错误),往往分成两类,一类是无法通过try-catch方法改变,例如栈的溢出,不可避免的连带后续程序崩溃.另一类是指可以通过try方法可以正常处理的错误.接下来我将演示其余四类情况。

2024-11-12 19:48:19 339 1

空空如也

空空如也

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

TA关注的人

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