- 博客(23)
- 收藏
- 关注
原创 Spring 事务的几种事务传播行为小总结
当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。使用的最多的一个事务传播行为,我们平时经常使用的注解默认使用就是这个事务传播行为。如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。创建一个新的事务,如果当前存在事务,则把当前事务挂起。也就是说不管外部方法是否开启事务,修饰的内部方法会新开启自己的事务,且开启的事务相互独立,互不干扰。如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;
2023-08-08 15:16:01
157
原创 实习日记:前后端交互参数传递中遇到的一个小坑
3、如果用数组接收参数,需要将url路径写成“/record/list?num=1&num=2&num=5”这样的形式。1、如果传入String或者Integer这样的单个对象,最好加上@RequestParam注解,这样可以提高性能。4、如果用List接收参数,除了3的条件以外,还需要在List前加上@RequestParam注解。2、如果要传嵌套的POJO对象,只需要将url参数写为类似于address.city这样的形式。
2023-05-25 20:11:05
166
转载 深入理解单例模式:静态内部类单例原理
本文主要介绍java的单例模式,以及详细剖析静态内部类之所以能够实现单例的原理。首先我们要先了解下单例的四大原则:1.构造私有。2.以静态方法或者枚举返回实例。3.确保实例只有一个,尤其是多线程环境。4.确保反序列换时不会重新构建对象。我们常用的单例模式有:,我们来逐一分析下这些模式的区别。
2023-03-05 21:48:22
933
原创 数组作为HashMap的键
3、hashmap用数组做key时用的是地址引用计算的的hashcode。所以应避免使用数组为键。2、Arrays.hashcode静态方法能够根据数组的内容创建相应的hashcode。记录自:力扣-剑指 Offer II 033. 变位词组,链接。1、数组的hashcode是根据地址引用计算的。1,将数组转化为string。
2022-11-30 21:02:09
512
原创 Java 内部类总结
可以直接访问外部类的所有成员,包含私有的不能添加访问修饰符,因为它的地位就是一个局部变量。局部变量是不能使用修饰你的,但是可以健用fing!修饰,因为局部交量也可以使用tnal作用域:仅仅在定义它的方法或代码块中。部内部类---访问---->外部类的成员【访问方式:直接访问】外部类---访问---->局部内部类的成员。
2022-11-15 13:03:33
150
原创 Java Stream流
Stream(流)是一个来自数据源的元素队列,元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源:流的来源,可以是集合,数组 等。和以前的Collection操作不同, Stream操作还有两个基础的特征:Pipelining: 中间操作都会返回流对象本身。这样多个操作可以串联成一个管道, 如同流式风格(fluentstyle)。这样做可以对操作进行优化, 比如延迟执行(laziness)和短路( short-circuiting)。内部迭代。
2022-10-26 20:56:17
281
原创 Java注解
一、什么是注解Java注解用于为Java代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解可以用于这一目的。Java注解是从Java5开始添加到Java中。可以理解为“给计算机看的注释”。Java注解通常用于以下目的:编译器指令 编译时指令 运行时指令二、Java内置注解@Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。@Deprecated - 标...
2022-05-17 18:49:29
145
原创 Java反射机制
一、什么是反射Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态(或准动态,为啥要说是准动态,因为一般而言的动态语言定义是程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。)语言的一个关键性质。二、反射的作用我们知道反射机制允许程序在运行...
2022-05-17 18:12:59
86
原创 Java网络编程
一、概念网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net 包中提供了两种常见的网络协议的支持: TCP:TCP(英语:Transmission Control Protocol,传输控制协议) 是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP 层是位于 IP 层之上,...
2022-04-30 18:01:18
167
原创 Java输入/输出流(6)
一、打印流打印流的特点:只负责输出数据,不负责读取数据 有自己的特有方法打印流分类字节打印流:PrintStream 字符打印流:PrintWriter1、 PrintStream(1)创建一个PrintStream为了创建一个PrintStream,我们必须首先导入java.io.PrintStream包。导入包后,便可以在此处创建打印流。1)使用其他输出流//创建一个FileOutputStreamFileOutpu...
2022-04-18 19:09:37
1535
原创 Java输入/输出流(5)
Java IO流中提供了两种用于将字节流转换为字符流的转换流——InputStreamReader和OutputStreamWriter。其中,InputStreamReader用于将字节输入流转换为字符输入流,OutputStreamWriter用于将字节输出流转换为字符输出流。使用转换流可以在一定程度上避免乱码,还可以在使用时制定编码格式(比如UTF-8、GBK、GB2312、ISO8859-1等)一、InputStreamReader...
2022-04-17 19:46:58
760
原创 Java输入/输出流(4)
一、序列化与反序列化Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。类必须实现Serializable或Externalizable接口以便序列化或反序列化。Serializable接口是一个标记接口(空接口)...
2022-04-15 13:10:36
544
原创 Java输入/输出流(3)
一、BufferedInputStream与BufferedOutputStreamBufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。BufferedInputStream与BufferedOutputStream分别是FilterInputStream类和FilterOutputStream类的子类,实现了装饰设计模式。1、 B...
2022-04-14 12:46:15
152
原创 多目标优化—概念与常用模型
一、多目标优化的概念单目标优化的情况下,只有一个目标,任何两解都可以依据单一目标比较其好坏,可以得出没有争议的最优解。多目标化与传统的单目标优化相对。多目标优化的概念是在某个情景中在需要达到多个目标时,由于容易存在目标间的内在冲突,一个目标的优化是以其他目标劣化为代价,因此很难出现唯一最优解,取而代之的是在他们中间做出协调和折衷处理,使总体的目标尽可能的达到最优。在这个情况下,一般可以把多目标优化问题写成以下数学模型:没有转化为单目标问题的帕累托模型:优化的结果是...
2022-04-13 16:29:39
12081
2
原创 Java输入/输出流(2)
一、FileInputStream与FileOutputStreamFileInputStream和FileOutputStream都是用来处理二进制数据源磁盘文件的流的。 他们分别派生自顶层抽象类InputStream和OutputStream。1、FileInputStream作用:用于从文件系统中的某个文件中获得输入字节,处理二进制原始字节文件,如exe 、jpg等。(1)构造关联的文件可以使用 String 描述,也可以使用File ,FileDesc...
2022-04-13 11:27:40
131
原创 Java输入/输出流(1)
一、File类在Java中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。File 类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。File 类提供了如下三种形式构造方法。File(String path):如果 path 是实际存在的路径,则该 File...
2022-04-13 10:27:57
1020
原创 Java集合框架
目录1、介绍2、集合基本结构3、Java集合接口4、Java集合实现类5、Collections类(1)排序(2)查找、替换操作(3)复制1、介绍集合可以看作是一种容器,用来存储对象信息。所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。 数组与集合的区别如下: 1)数组长度不可变化而且无法保存具有映射关系的数据;集合类用于保存数量不确定的数据,以及保存具有映射关系...
2022-04-12 15:25:33
198
原创 Java代码块
代码块分类在Java中,使用{}括起来的代码被称为代码块(Code block),根据其位置和声明的不同,可以分为:局部代码块。 构造代码块。 同步代码块。 静态代码块。 目录 代码块分类 代码块初始化是在什么时候? 代码块执行顺序是怎样的? 代码块在继承时,执行顺序是怎样的?...
2022-04-12 14:23:54
549
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人