JavaSE
文章平均质量分 74
JavaSE
Surpass余sheng军
要么不做,要么做到最好,只有废物,才做一半。
展开
-
MyBatis动态SQL
简单说就是这条SQL语句它不是固定的,是动态变化的。3.1 什么是动态SQL。原创 2023-08-11 00:29:46 · 265 阅读 · 0 评论 -
MySQL概述 -- 数据模型&SQL简介&DDL数据库操作
在MySQL数据库服务器当中存储数据,需要先去创建数据库,然后在这个数据库下再去创建对应的表结构,然后再将数据存放在这个表结构当中,而且在一个数据库服务器当中,我们可以创建多个数据库,而且多个数据库之间是相互独立的互不影响的,而一个数据库下面我们又可以创建多张表,一张表当中又可以存储多条数据,这就是MySQL的数据模型。而在这个数据库下面,我们就可以来创建表结构来存放数据,一个数据库下面我们是可以创建多张表结构的,而表结构当中存储的就是一条一条的数据。参照页面原型和需求进行编码,实现业务功能。原创 2023-05-04 22:36:11 · 1333 阅读 · 0 评论 -
MySQL概述 -- 安装配置 -- 学习笔记
之前我们可以把数据存储到内存里面,也可以把数据存储到文件里面,但是存储到内存里面的数据,它只是一些临时性的数据,当计算机一关机或者一断电的时候,再次开机的时候数据就没有了。数据库它是持久化存储数据的,那就意味着它一定是将数据存储在文件里面的,那么存储到文件里面呢,可以得出一个结论:其实数据库就是一个文件系统。如果我们把数据存储到文件里面,数据可以做一些持久化的保存,当计算机再次关机,再次打开的时候,它还是在里面的。把数据存储在数据库的文件里面和存储在这种普通的文件里面有什么区别呢?原创 2023-04-10 23:18:08 · 310 阅读 · 0 评论 -
日志技术-Logback
一. 日志是什么:二. 日志技术体系、Logback概述三. Logback快速入门四. Logback配置详解-输出位置、格式位置ALL表示所有的级别我们都打印OFF表示所有的级别全都不打印为什么要有日志级别?五. Logback配置详解-日志级别设置。原创 2023-04-28 21:56:06 · 1066 阅读 · 0 评论 -
Spring Boot Web响应 & 分层解耦
ResponseBody注解可以作用在Controller方法上,也可以作用在Controller类上,它的主要作用就是将方法的返回值直接作为响应数据响应给客户端浏览器,而如果方法的返回值是一个对象或者是一个集合,它会先将这个对象或者是集合转为JSON格式的数据,然后再响应给客户端浏览器。前面介绍到在Web应用程序的请求响应的整个流程当中,我们需要重点关注的就是Controller程序,而。Controller程序的核心职责就是接收请求,然后设置响应。学习完请求参数的接收,接下来进入到设置响应数据。原创 2023-04-24 23:18:40 · 408 阅读 · 0 评论 -
Servlet & Spring Boot Web请求
一. 请求那我们所编写的XxxController 是如何处理请求的,又与Servlet之间有什么联系呢?通过该流程我们可以看出DispatcherServlet在Web请求当中是一个非常核心的一个类,所以这个类在Spring Boot当中我们称为核心控制器或者叫前端控制器。我们如何在Servlet程序当中来获取请求的参数呢?那Tomcat怎么就知道要给浏览器响应哪些数据呢?这就是Web应用程序整体的请求访问流程,对于我们来说,我们需要重点关注的就是我们所编写的Controller控制器程序。原创 2023-04-21 22:32:40 · 2316 阅读 · 0 评论 -
Spring Boot Web
首先我们先来看一下pom.xml这一份配置文件,在这份配置文件当中,最上面有这么一堆标签叫做parent,parent这里指定了一个坐标,这个是Spring Boot的父工程,我们把创建的所有的Spring Boot工程,它都需要继承自这个父工程,这个呢Maven当中叫做继承,就是来指定一个父工程,因为这些框架它都属于Spring体系内的框架,框架之间的整合会非常的容易,甚至可以说是无缝衔接,所以这是当前企业开发当中非常流行,也是非常受欢迎的一种解决方案,原创 2023-04-16 20:35:43 · 4071 阅读 · 0 评论 -
完美解决运行SpringBoot项目时pom.xml文件显示找不到插件爆红
artifactId标签下面加上一个version标签,声明版本与当前Spring Boot的版本一致即可。原创 2023-04-16 20:11:15 · 1200 阅读 · 0 评论 -
运行Spring Boot项目时[ java: 错误: 不支持发行版本 17 ]
在使用idea创建springboot项目时,因为idea只能选择一些新版本的springboot,那么我们怎么才能创建其他版本呢?在创建项目时应该是忽略了我指定的JDK版本,而是选择了满足条件的最低的JDK,又因为我没有安装这个版本所以报错。这下就清楚了,应该是。原创 2023-04-16 20:03:26 · 2014 阅读 · 0 评论 -
完美解决Maven添加依赖爆红,不自动提示的问题
在feile-->settings-->Build,Execution,Deployment-->Build Tools -->Maven-->Repositories中点击右边的Update更新自己的本地仓库Maven即可原创 2023-04-15 22:16:13 · 1718 阅读 · 1 评论 -
Maven-依赖管理
间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源。排除依赖:指主动断开依赖的资源。如果引入的依赖,在本地仓库中不存在,将会连接远程仓库。直接依赖:在当前项目中通过依赖配置建立的依赖关系。的依赖具有传递性,所以会自动把所依赖的其他jar。问题:之前我们讲了依赖具有传递性。项目中,我们可以通过排除依赖来实现。点击刷新按钮,引入最新加入的坐标。例如:在当前工程中,我们需要用到。如果不知道依赖的坐标信息,可以到。依赖:指当前项目运行所需要的。利用中央仓库搜索的依赖坐标。来记录日志,此时就可以在。原创 2023-04-15 23:17:50 · 1250 阅读 · 0 评论 -
Maven保姆式教程---从入门到安装(超级详细)
Maven是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。Apache软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织。原创 2023-04-14 22:34:27 · 1379 阅读 · 0 评论 -
Java动态代理[JDK Proxy]
要给这个方法去增加其他的功能只能把这两段代码都写在eat方法当中,那此时直接去修改代码,是叫做侵入式修改。代理会帮你先去做拿筷子和盛饭这两个准备工作,等真正的吃饭了再去调用Student里面的方法去吃饭,这个呢其实就是动态代理。1.为什么需要代理呢?原创 2023-04-11 19:09:43 · 713 阅读 · 0 评论 -
JavaWeb学习笔记
JavaWeb就是使用Java语言开发互联网项目,简单理解:使用Java语言开发网站!Web核心技术:服务器端编程技术,要想把静态页面变成动态的,就要学习Web核心技术!数据库:数据存储技术,因为存储到内存里面的数据只是临时性的数据。JavaWeb:使用Java语言完成服务器端程序的开发。学习JavaWeb可以获得现在主流开发技术!JavaWeb需要学习哪些东西?网页前端技术:页面展示技术。Web就是互联网的统称。原创 2023-04-10 22:46:44 · 73 阅读 · 0 评论 -
懒汉单例模式下的线程安全问题
这样就解决了懒汉单例模式下的线程安全问题,不论创建多少个线程去创建实例对象,此时创建的都是同一个实例对象,符合单例模式对外只创建一个对象的原则。@后面打印的是对象的哈希值,hascode不一样,足以证明这是两个引用,两个引用指向的肯定是两个实例对象。在多个线程都判断它都没有实例对象的时候,可能多个线程会多次创建这个实例对象!此时,会出现线程安全问题!把返回单例对象的方法给改成同步方法或者同步代码块即可,让每次只有一个线程进来返回单例对象。原创 2023-04-09 20:05:39 · 660 阅读 · 0 评论 -
线程的优先级、守护线程、礼让线程、插入线程、中断线程
一. 线程的优先级一. 线程的优先级在计算机当中,线程的调度有两种方式:抢占式调度模型多个线程它是在抢夺CPU的执行权,CPU在什么时候执行哪条线程是不确定的,执行多长时间也是不确定的,所以抢占式调度它体现了一个随机性优先级高的线程获取的 CPU 时间片相对多一些。非抢占式调度 / 分时调度模型所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间片轮流的执行执行的时间也是差不多的在Java当中,它采取了第一种抢占式调度模型的方式。抢占式调度,重点掌握两个字随机性。原创 2023-03-29 23:04:27 · 941 阅读 · 0 评论 -
Java反射机制
什么是反射?信息进行编程访问这里的字段指的就是成员变量,方法指的就是成员方法,构造函数指的就是构造方法反射:反射是在运行时获取类的字节码文件对象,然后可以解析类中的成员变量,构造方法以及成员方法,反射允许对成员变量、成员方法和构造方法的信息进行编程访问!反射的核心思想和关键就是:得到编译后的字节码文件对象,也就是class文件对象。反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;原创 2023-04-07 14:48:10 · 426 阅读 · 0 评论 -
Junit单元测试(了解)
单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,单元测试就是针对Java方法的测试,进而检查方法的正确性。JUnit是使用Java语言实现的单元测试框架!JUnit单元测试框架属于标准测试框架,IDEA已经集成!老版本相对来说比较稳定!原创 2023-04-06 15:41:37 · 346 阅读 · 0 评论 -
Java网络编程
在网络通信协议下,不同计算机上运行的程序,进行的数据传输。原创 2023-03-31 17:03:13 · 819 阅读 · 0 评论 -
多线程综合练习
有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};分别为:10,20,100,500,2,300最高奖项为300元,总金额为932元。创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”,“抽奖箱2”原创 2023-03-31 16:11:15 · 280 阅读 · 0 评论 -
多线程:线程通信:生产者和消费者(等待唤醒机制)代码实现
概述1.生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们 对多线程编程的理解更加深刻。2.所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据3.为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类的等待和唤醒方法。原创 2023-03-30 20:50:11 · 641 阅读 · 0 评论 -
多线程:死锁
A线程拿着A锁,B线程拿着B锁,它们都在等着对方释放锁,所以这个时候程序就会卡死,运行不下去了!死锁说白了,就是在我们的程序中出现了锁的嵌套,外面一个锁,里面一个锁,这就形成了死锁!死锁它不是一个知识点,它是一个错误,现在学习死锁的目的就是以后不要去犯这个错误!在以后写锁的时候,千万千万不要让两个锁嵌套起来!原创 2023-03-30 17:16:13 · 89 阅读 · 0 评论 -
线程安全、线程同步机制(同步代码块、同步方法、同步锁)
多个线程同时修改同一共享资源的时候,会出现线程安全问题。读数据是绝对不会出现线程安全问题的,它一定是因为同时在修改。一旦线程同步了,就是解决了安全问题了。CPU负责调度线程执行的,它是控制中心。线程安全问题出现的原因?存在多线程并发同时访问并存在修改同一共享资源。原创 2023-03-27 23:15:02 · 1309 阅读 · 0 评论 -
Java多线程
什么是线程?线程(thread)是一个程序内部的一条执行路径。我们之前启动程序执行后,main方法的执行其实就是一条单独的执行路径。main方法启动它是由一个主线程来执行,就是能够默认的线程我们一般把它叫做主线程,除此之外的线程一般叫子线程。main方法就是由一个所谓的主线程来调的。main方法是由主线程负责调度的!主线程的默认名称就叫main建议把主线程任务都放在子线程之后,不要把主线程任务放在子线程之前!程序中如果只有一条执行路径,那么这个程序就是单线程的程序。原创 2023-03-27 23:03:25 · 672 阅读 · 0 评论 -
一次搞懂Java异常处理(超详细!!!)!
Java标准库中提供了非常多表的异常类型,用来表达各种异常情况,然而在真实开发中,这些异常并不能完全满足我们的需求,因为标准库的异常往往表达的是技术层面,而不是业务层面,像账号密码错误这种情况,用标准库的异常就不太合适,所以在开发中我们会自定义异常类型,来表达符合我们业务的异常情况。finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法放入finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。原创 2023-03-17 17:07:29 · 6930 阅读 · 1 评论 -
Set系列集合的特点
【代码】Set系列集合的特点。原创 2023-03-13 23:03:32 · 265 阅读 · 0 评论 -
Java泛型深入
类后面---------------------->泛型类方法申明上---------------->泛型方法接口后面------------------->泛型接口/**目标:泛型的概述。什么是泛型?泛型就是一个标签:泛型可以在编译阶段约束只能操作某种数据类型。注意:JDK 1.7开始之后后面的泛型申明可以省略不写小结:泛型就是一个标签。泛型可以在编译阶段约束只能操作某种数据类型。泛型只能支持引用数据类型。*/直接报错。原创 2023-03-07 16:04:04 · 384 阅读 · 0 评论 -
集合的并发修改异常问题
【代码】集合的并发修改异常问题。原创 2023-03-07 15:34:29 · 118 阅读 · 0 评论 -
List系列集合
一. List集合特点、特有API。原创 2023-03-07 15:22:27 · 249 阅读 · 0 评论 -
常见数据结构
因为二叉查找树它小的会往左边走,大的会往右边走,因此左子树上所有节点的值都小于根节点的值,右子树上所有节点的值都大于根节点的值。二叉树是包含一个父节点,父节点产生一个左节点,还有一个右节点。我们希望这个树它能在满足二叉树的规则之上,能够尽量的矮小,因为树越矮,去搜索的深度就会越短,可以提高检索的性能。链表中的每个元素节点首先是包含了自己的节点的地址,每个元素节点的内部包含了自己的数据值和下一个元素的地址。平衡二叉树要求任意节点的左右两个字数的高度差不超过1,这样可以使元素分布的尽量均匀,把树做的尽量矮小。原创 2023-03-06 18:02:06 · 529 阅读 · 0 评论 -
集合体系概述以及Collection集合常用API + 迭代器详解 + CopyOnWriteArrayList
集合是Java中存储对象数据的一种容器。集合的大小不固定,启动后可以动态变化集合非常适合做元素个数不能确定,且要做元素的增删操作的场景注意:集合中只能存储引用类型数据,如果要存储基本类型数据可以选用包装类。包装类:把基本数据类型变成了一个引用数据类型,不是基本数据而是对象数据。数据也可以称为元素。原创 2023-03-05 17:51:15 · 426 阅读 · 0 评论 -
Lambda表达式
注意:Lambda表达式只能简化函数式接口的匿名内部类的写法形式函数式接口:首先必须是接口,其次接口中有且仅有一个抽象方法的形式@FunctionalInterface,一旦加上这个注解必须是函数式接口,里面只能有一个抽象方法。Lambda表达式的使用前提:必须是接口的匿名内部类,接口中只能有一个抽象方法。原创 2023-03-03 15:45:40 · 61 阅读 · 0 评论 -
Arrays类、常见算法(选择排序、二分查找)
二分查找的思路:定义两个位置,一个在前,一个在后,这样才能折半,前面位置和后面位置,一半的位置作为中间索引。自定义Comparator比较器对象,只能支持引用数据类型的排序!二分查找一旦发现左边位置等于右边位置还没有确定值的话,那就说明找不到了。二分查找相当于每次去掉一半儿的查找范围,检索速度非常快。Comparator是一个函数式接口。min和max表示查找的范围。原创 2023-03-03 15:13:29 · 330 阅读 · 1 评论 -
Java正则表达式详解
正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性。正则表达式就是用来验证各种字符串的规则。原创 2023-03-03 14:31:54 · 5526 阅读 · 0 评论 -
日期时间类常见API以及包装类
Integer.valueOf(int i),如果i的值在-128到127之间,它会提前创建好Integer的对象,并且放到一个数组当中,用Integer.valueOf方法去获取对象的时候,它会判断你这个数据是不是在-128到127之间,如果说在,它不会创建新的对象,而是从数组当中获取已经创建好的对象给你返回,如果说不在-128到127之间,它才会new新的对象。包装类是引用数据类型,包装类的本质就是在堆内存中创建了一个对象,对象当中记录对应的数据值。如果要用到了不会创建新的,而是返回已经创建好的对象。原创 2023-03-01 15:49:16 · 470 阅读 · 0 评论 -
程序,进程,线程、协程 + {并发,并行} + {同步,异步} + 回调、轮询、阻塞
在计算机宏观过程中,并发是执行多个程序,但是在微观过程中,处理机只执行了一个程序。,线程是在进程下执行的。一个进程可以包含多个线程,进程要比线程消耗更多的计算机资源,进程之间不会相互影响,但是如果一个线程挂掉了,将导致整个进程都挂掉!程序的指令在代码里面相当于一个函数,调用一个函数相当于向程序发出一条指令,数据就是一些变量,变量就是用来保存数据的。进程是一个程序的运行状态。在没有使用多线程的情况下,它一定是个单任务程序/单线程程序,只有一个执行通道。程序的本质是初始的数据加一些指令,是数据跟指令的集合。原创 2023-02-28 17:21:14 · 635 阅读 · 2 评论 -
Java枚举详解
枚举 Java如果我们的程序需要表示固定的几个值:比如季节:spring (春),summer(夏),autumn(秋),winter(冬)原创 2023-02-28 16:52:22 · 995 阅读 · 0 评论 -
Java美颜相机入门(图像处理实现各种滤镜算法)
一款简易美颜相机的功能我们可以简单分为两大块:1.图像处理 2.功能区。原创 2023-02-26 19:26:41 · 907 阅读 · 0 评论 -
马赛克效果的滤镜实现
【代码】马赛克效果的实现。原创 2023-02-26 15:47:45 · 125 阅读 · 0 评论 -
绘制指定图片的像素点
通过图像缓冲区bufferedImage对象的getRGB()方法获取每个像素点的像素值,通过左移运算把三个byte合成了一个int。原创 2023-02-26 14:45:27 · 647 阅读 · 0 评论