简单学点java
文章平均质量分 85
个人Java学习笔记
you0719
这个作者很懒,什么都没留下…
展开
-
过滤器、监听器
在实际开发中,我们项目中会存在很多的资源都需要在登录之后才能访问,所以我们需要在请求到达这些资源之前先判断当前用户是否登录,如果没有应该跳转到登录页面。请求的结果缓存到本地磁盘,若请求相同的资源,不再发送新的请求,而是直接使用缓存中的结果。因为会发现,上面那样处理还是会导致静态资源不可以访问到,而实际开发中,我们需要排除的资源较多的话,尤其是像静态资源,会很麻烦。以上操作能够解决登录检查的需求,但存在大量重复代码,在每个资源的代码中都会编写检查登录的代码,从增加维护成本。对哪些资源做登录校验处理。原创 2024-07-25 18:45:00 · 1478 阅读 · 0 评论 -
Mybatis--分页查询
分页查询则是在页面上将本来很多的数据分段显示,每页显示用户自定义的行数。为了能在页面上显示上述的分页效果,那么我们就得在把页面上的每一个数据封装成到某个对象共享给。:把多个需要共享的数据,封装到一个对象,往后就只需要把数据封装到该对象,再共享该对象即可。,获取页面传递的分页参数,执行查询,将结果共享到请求作用域,请求转发回到。,表示要显示某一页数据的页码,在程序中表示翻页要去往的页面,比如。:数据太分散,需要共享多个数据,不方便统一管理多个数据。增加两个方法,一个查询数据总量,一个查询当前页的数据。原创 2024-07-18 18:15:00 · 1667 阅读 · 0 评论 -
Mybatis -过滤查询
属性是字符串类型,用户查询的时候,可能没传此参数或者传的是空字符串,所以我们需要在拼接条件之前进行判断,若用户查询传的是非空且有内容的的字符串时,才按照此条件过滤查询商品信息。根据前面我们对多条件过滤查询的分析得知,用户过滤查询时,请求时会传递可能会传递多个过滤条件的参数来查询对应的数据,又因为这些参数需要在后台多个层次之间进行传递(例如:在商品列表中,用户可以根据自己的需要,按照商品的名称和价格范围对商品进行查询。,这样既可以封装分页查询的参数,又可以封装过滤查询的参数,且减少代码重复。原创 2024-07-09 16:59:07 · 1122 阅读 · 0 评论 -
WEB编程-了解Tomcat服务器
⽹络的通信,本质上是两个进程(应⽤程序)的通信。操作系统、⽹络管理软件及⽹络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。在⽹络通信协议下,实现⽹络互连的不同计算机上运⾏的程序间可以进⾏数据交换。以上架构各有优势,但是⽆论哪种架构,都需要基于⽹络进⾏通信,那他们是如何通信的?通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进⾏通信。此时的问题,是我们⾃⼰造成的,把资源的名字写错了或者说根本就没。算机指定⼀个唯⼀的标识,通过改标识来找到相应的计算机,⽽。原创 2024-07-06 18:15:00 · 783 阅读 · 0 评论 -
Mybatis框架的集成使用
基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。开发工程师建立在框架的基础之上完成开发部分功能 加 框架自身完成部分功能组成一个完整的产品。:指框架自身是一个软件,但是该软件无法直接运行,需要配合其他的程序才可以完成指定的工作。它主要的目的是根据调用的请求完成一次数据库操作。框架是一个半成品,已经对基础的代码进行了封装并提供相应的。:指框架可以完成特定的功能,不同的框架功能不同。原创 2024-07-04 18:15:00 · 637 阅读 · 0 评论 -
JDBC的应用(二)
事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。对于每一次数据库连接,使用完后都得断开,不能控制被创建的连接对象数,系统资源会被毫无顾及的分配出去,如连接过多,可能导致内存泄漏,服务器崩溃。持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。若同时有几百人甚至几千人在线,频繁的进行数据库连接操作将占用很多的系统资源,严重的甚至会造成服务器的崩溃。原创 2024-07-02 18:15:00 · 879 阅读 · 0 评论 -
JDBC的使用(一)
大多数企业级应用,数据持久化是将数据保存到各种关系数据库, 而在。来代替拼接,这样语义更加清晰,数据设置也很清晰,所以以后都使用。作为组件,主要的是方法的设计,而方法设计需要注意什么呢?中存的数据则为查询出来的结果,这个结果就是一张表的结果。编写的一组接口组成,接口的实现由各个数据库厂商来完成。而其底层的静态代码块在完成注册驱动工作,将驱动注册到。: 驱动管理对象,主要用于加载注册关系型数据库的。书写实现,实现一个方法测试一个方法并且测试通过。需要获取返回的数据,而这些数据都被存在一个叫。原创 2024-06-29 18:15:00 · 553 阅读 · 0 评论 -
JAVA8--Stream了解
并发是多个任务共享时间段(由CPU切换执行,就像是在同时执行)并行是多个任务发生在同一时刻(真真正正的同时执行)(必须在多核CPU下)并行就像用更多的马车(CPU)来拉货(执行任务),货物总量(任务量)一定,那么花费的时间自然减少了。所以并行可以缩短任务执行时间,提高多核CPU的利用率。原创 2024-06-25 20:00:00 · 877 阅读 · 0 评论 -
lambda表达式
修饰符 interface 接口名称 {[public abstract] 返回值类型 方法名称(可选参数信息);☆其他为了便于区分并方便编译器进行语法校验, JDK8 中还引入了一个新的注解:该注解可用于一个接口的定义上,一旦使用该注解来定义接口,编译器将会强制检查该接口是否确实有且仅有一个抽象方法,否则将会报错。需要注意的是,即使不使用该注解,只要满足函数式接口的定义,该接口仍然是一个函数式接口,使用起来都一样。(可以类比下@Override注解的作用)原创 2024-06-22 18:15:00 · 877 阅读 · 0 评论 -
JavaBean与内省,注解的语法及使用
JavaBeanJavabean 是Java 中最重要的一个可重用的组件(减少代码重复,可重用,封装业务逻辑,封装数据).组件:一些符合某种规范的类,可以完成特定的功能. JavaBean 的规范要求:使用public 修饰. 字段私有化. 提供get/set 方法. 公共的无参数的构造器.(使用反射,使用字节码对象.newInstance去创建对象.)三大成员:事件. 方法. 属性(最重要的一个概念).什么是属性(property)呢?:JavaBean 可以封装数据原创 2024-06-20 18:15:00 · 874 阅读 · 0 评论 -
Java反射机制简介
使用反射其目的无外乎就是使用程序动态操作类的成员。,去获取到类中的成员信息(构造器,方法,字段)获取到它的真实类型以及调用该对象中的方法。目的是通过程序自动获取构造器来创建对象。调用方法的实际参数 方法的返回值表示。方法也是可以被访问私有修饰符修饰的。表示可以使用字节码对象来获取信息。三种方式获取到的字节码是同一个吗。大多数类都有公共的无参数的构造器。表示调用该方法要作用到那个对象上。基本上都是要通过字节码对象的。还记得我们获取构造器的经验吗。而对象是通过构造器来创建的。可以获取到所有的公共的方法。原创 2024-06-18 18:47:29 · 741 阅读 · 0 评论 -
Java的IO基本操作2
在开发中使用比较多的还是字节和字符流的读写操作,务必要非常熟练,再体会一下六字箴言(读进来,写出去),到底有何深意。为了避免代码版本升级而造成反序列化因版本不兼容而失败的问题,在开发中我们可以故意在类中提供一个固定的。有了包装流之后,我们只关心包装流的操作即可,比如只需要关闭包装流即可,无需在关闭节点流。,比一般的输出流更好用。可以作为处理流包装一个平台的节点流使用,平时我们使用的。此时关闭资源的代码,又臭又长,在后续的学习中为了方便就直接使用。操作数据量比较大的流,都建议使用上对应的缓存流。原创 2024-06-15 18:15:00 · 571 阅读 · 0 评论 -
Java的IO基本操作 1
中国人是认识汉字的,现在需要和外国人通过网络交流,此时需要把把汉字信息传递给外国人,但。那么,请问水缸是源还是目标。四大抽象流是不能创建对象的,一般的我们根据不同的需求创建他们不同的子类对象,比如操作文。和目的地,所以,如果需要具体的读写操作,一定要找其子类,其子类明确了数据源和目的地。设备:和电脑通信的设备,此时要站在电脑的角度,把信息传递给电脑叫输入设备,把电。知识点的时候,习惯和生活中的水流联系起来,一起来看看复古的水井和水缸。流操作是一个相对的过程,一般的,我们在程序角度来思考(程序的内存)。原创 2024-06-13 18:30:00 · 242 阅读 · 0 评论 -
了解多线程
线程是进程的细分,通常,在实时性操作系统中,进程会被划分为多个可以独立运行的子任务, 这些子任务被称为线程,多个线程配合完成一个进程的任务。程序允许使用任何对象作为同步监听对象,一般的,我们把当前并发访问的共享资源作为同步监听对象,比如此时三个线程的共同资源。:是指一个内存中运行的应用程序(程序的一次运行就产生一个进程),每个进程都有自己独立的一块内存空间,比如在。操作和打印输出剩余操作,应该是一个原子操作,也就说是一个不能分割的操作,两个步骤之间不能被其他线程插一脚。,导致程序的运行轨迹不确定。原创 2024-06-11 18:59:38 · 918 阅读 · 0 评论 -
Java异常机制
在异常声明或者上抛出的过程中,应该遵循以下原则:能在调用处明确处理优先处理,否则继续上抛。所以我们在开发中要一套机制来处理各种可能会发生的异常,并对其作出正确的处理,确保程序的。意识:遇到不懂的异常类时,首先要分辨它属于检查时还是运行时异常。异常发生后,从异常发生的那句代码开始,程序不继续向下运行,立即转入异。在实际开发过程中,开发者也可以根据程序的需要,手动抛出异常,通过。,数组索引越界等,这种情况下,程序员通过合理的异常处理,确保程。中的异常类型不能满足程序的需要时(也即需要定义具体的业务异常时。原创 2024-06-08 18:15:00 · 1113 阅读 · 0 评论 -
Java集合的迭代操作,Set Map接口以及工具类方法
根据散列出来的位置查看哈希表该位置是否有无元素,如果没有元素,直接添加该元素即可。,则认为两个对象是同一个对象,返回正数排前面,返回负数排后面。类:底层采用红黑树实现,可以对集合中元素排序,使用不多。第一步:插入第一个节点,无须比较,直接作为根节点。第一步:第一个节点进去,直接作为根节点,无需比较。是平衡二叉树,如果树不平衡,会对节点进行调整。是平衡二叉树,如果树不平衡,会对节点进行调整。的,根据对象的字段数据比较来判断,通常情况下。集合中的元素对象是相同的数据类型,否则报错。原创 2024-06-06 18:15:00 · 576 阅读 · 0 评论 -
Java List数据结构与常用方法
不同的数据结构,底层采用不同的存储方式(算法),在具体操作的时候效率是不一样的,比如有的查。在未来具体业务场景时,我们需要分析具体的需求场景,是查询的操作多,还是添加的操作多?查询操作多,我们就要选择适合查询性能高的集合,如果添加操作多,我们就需要选择添加性能高的集。一般的,数组中元素在数组中的索引位置是随机的,元素的取值和元素的位置之间不存在确定的对。在计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间,常用大。因此,在数组中查找特定的值时,需要把查找值和一系列的元素进行比。原创 2024-06-04 18:15:00 · 905 阅读 · 0 评论 -
浅谈面向对象--继承
之前说过,变量名称或方法参数名称,要见名知意,下列两个set方法的参数名,就显得太LOW了。原创 2024-05-21 18:30:00 · 1538 阅读 · 0 评论 -
浅谈面向对象--多态
接口可以认为是一种特殊的类,但是定义类的时候使用class关键字,定义接口使用interface关键字。接口表示具有某些功能的事物,接口名使用名词,有人也习惯以I打头如IWalkable.java。在java中,接口也可以继承,一个接口可以继承多个接口,也就是说一个接口可以同时继承多个接口,如两栖动物可以行走也可以拥有。两栖动物规范,即可以游泳,又可以行走。此时子接口能继承所有父接口的方法。接口表示一种规约(规范、标准),它里面定义了一系列抽象方法(功能),它可以被多个类实现。原创 2024-05-23 18:15:00 · 623 阅读 · 0 评论 -
浅谈面向对象--知识补充
使用int和String类型,且先假设使用int类型,因为分类情况是固定的,为了防止调用者乱创建类型,可以把三种情况使用常量来表示。原创 2024-05-25 18:15:00 · 720 阅读 · 0 评论 -
Java数组操作
对未排序的各元素从头到尾依次比较相邻两个元素的大小关系,如果前一个元素大于后一个元素则交换位置,经过第一轮比较后可以得到最大值,同理第二轮比较后出现第二大值,以此类推,直到数组中数据有有序。,该类提供了对数组元素的拷贝、元素搜索、元素排序、打印等功能方法,且该类为不同数据类型的数组都重载了相同功能的方法。对于我们而言,最基本的要求就是能调用这些方法,当然我们对自己有更高的要求,应该知其然,并知其所以然。之间的商品价格,等玩家来猜,猜之后,电脑提示出三种结果:你猜的数偏大,偏小和猜中了。原创 2024-06-01 18:30:00 · 802 阅读 · 0 评论 -
Java常用类学习(String、StringBuilder、StringBuffer、Math、Date、UUID)
其算法通过电脑的网卡、当地时间、随机数等组合而成,优点是真实的唯一性,缺点是字符串太长了。类包含用于执行简单的数学运算的方法,如随机数、最大值最小值、指数等,该类的方法都是。类型提供了对字符串的只读操作,也即调用字符串的部分方法都会返回一个新的字符串。对象时,默认打印的是欧美人的日期时间风格,如果需要输出自定义的时间格式,比如。修饰的,在开发中其实运用并不是很多,里面有一个求随机数的方法,偶尔会用到。类用于生产一个伪随机数(通过相同的种子,产生的随机数是相同的),提供了相同的增删改查和自动拓容操作。原创 2024-05-30 18:15:00 · 1589 阅读 · 0 评论 -
Java常用工具类、包装类
封装到一个类中,提供便利的方法,让开发者更方便的操作基本类型,包装类的出现不是为了取代基本数据类型。对象创建完毕之后,该对象的内容是不能改变的,一旦内容改变就变成了一个新的对象,看下面代码。从性能上考虑,把常用数据存储到缓存区域,使用时不需要每次都创建新的对象,可以提高性能。此时必须把工具类的构造器私有化,防止创建工具类的对象来调用静态方。对象创建完毕之后,该对象的内容是不能改变的,一旦内容改变就变成了一个新的对象。对象创建完毕之后,对象的内容可以发生改变,当内容发生改变的时候,对象保持不变。原创 2024-05-28 18:10:55 · 815 阅读 · 0 评论 -
java的方法到底是什么
如何定义一个方法,主要是确定有没有参数,是什么参数,有没有返回值,返回什么,这得结合具体需。返回值类型:限定返回值的类型,方法在完成一个功能后,是否需要给调用者返回一个结果?如果方法有返回类型,此时需要返回类型定义变量,接受方法返回的结果,并打印,这才有意义。方法名称:用于调用方法,遵循标识符规范,使用动词表示,首字母小写,采用用驼峰表示法。),在同一类中,方法名称相同,但参数列表不同的多个方法构成方法重载。说明有两个未知的因素,使用两个。参数类型,在同一个类中,方法签名必须是唯一的,否则编译报错。原创 2024-05-14 18:30:00 · 775 阅读 · 0 评论 -
浅谈面向对象-封装
类是拥有相同特征(状态)和相同行为(功能)的多个事物的抽象(抽出像的部分)描述。类是用来描述群体的,是对群体的描述。在程序中,类就可以作为一种新型的数据类型。可以使用类来声明变量。例如:白富美:女 白净 富有 漂亮,爱好学java,银行工作描述类或者说定义类,就从状态和行为上分析,那么怎么来表示状态和行为呢?使用成员变量来表示特征(状态)使用成员方法来表示行为(功能)类定义语法格式:public class 类名 {//可编写0到N个成员变量[修饰符] 数据类型 变量名1;原创 2024-05-18 18:15:00 · 1038 阅读 · 0 评论 -
java学习记录day05数组
一.jvm内存模型方法区:线程共享的内存区域,存储已被虚拟机加载的类信息、常量、静态变量即时编译器编译后 的代码数据等(这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载)。Java虚拟机栈:简称栈区(stack),每个方法被执行的时候都会同时创建一个栈帧用于存储该方 法的局部变量、操作栈、动态链接、方法出口等信息。 一句话:java方法执行时,在栈区执行Java堆:简称堆区(heap),被所有线程共享的一块内存区域,在虚拟机启动时创建。所有的对象实例 以及 数组 都要原创 2022-01-12 20:54:19 · 190 阅读 · 0 评论 -
java学习记录day01计算机理论基础
一、程序在计算机中的运行运算单元是CPU的大脑内存:读写速度,内存>固态硬盘>机械硬盘。机械硬盘是靠电机带动盘片转动来读写数据的1.计算机中CPU设备负责执行程序?2.内存的速度比硬盘的速度快?3.我们的程序是安装在硬盘中的?4.内存条通常只有4G / 8G / 16G / 32G5.计算机关机之后,内存中的数据都会消失二、java程序的执行流程Java是一种新型的跨平台分布式和程序设计语言程序分为汇编程序、编译程序和解释程序汇编程序、编译程序必须生成原创 2022-01-07 20:02:37 · 291 阅读 · 0 评论 -
java学习记录day04选择语句&循环语句
一.顺序结构如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的,一条语句执行完之后继续 执行下一条语句,中间没有判断和跳转,直到程序的结束。二.选择结构选择结构也被称为分支结构。代码根据逻辑判断,存在多个不同的结果,此时就会产生不同的选择,不 同的选择执行不同的代码。Java中存在两种选择结构语句: if-elseif-else 语句 switch 语句1.if语句if(boolean表达式) { 语句体; }if后面...原创 2022-01-11 20:15:31 · 121 阅读 · 0 评论 -
java学习记录day03变量和运算符
一.数据类型/常量 No. 数据类型 占位(字节) 数据范围 1 byte 1 [ -128 , 127 ] 2 short 2 [ -32768 , 32767 ] 3 int 4 [ -2^31^ , -2^31^ - 1 ] ≈ [-21亿,21亿] 4 long 8 [ -2^63^ , -2^63^-1 ] 6 float 4 [-3.4x10原创 2022-01-09 21:07:19 · 288 阅读 · 0 评论 -
Java学习记录day02java开发环境和入门
1、Java和跨平台Java的三大平台:Java SE、Java EE,Java MEJava SE:Java标准平台,它允许开发软件运行在电脑桌面上(用户需要下载,安装),我们未来使用的IDEA开发工具就属于桌面端应用。 JavaSE适合做桌面端应用 ,同时JavaSE也是JavaEE的基础。Java EE:Java企业平台,它允许开发的软件运行在服务器上,针对Web方向,主要应用于开发企业项目和互联网项目,如淘宝,京东,12306,各大银行网站等。JavaEE 适合做服务器端开发原创 2022-01-08 21:19:22 · 156 阅读 · 0 评论