常用
追光的人(陈聪)
这个作者很懒,什么都没留下…
展开
-
springmvc中常见的简单的文件上传和下载
一.文件上传:这里只使用不用导包的part方法1:上传单个文件@PostMapping("uploadByPart2") public String uploadByPart2(HttpServletRequest request) throws IOException, ServletException { //找到要存放文件的绝对路径 String realPath = request.getServletContext().getRealPath(原创 2021-06-01 23:59:00 · 125 阅读 · 0 评论 -
关于配置文件的几点常识
1.properties:专门配置一些等级不高,等级不深,等级不复杂的配置2.xml:一般作为框架的配置文件,对于深等级支持良好,查看方面容易看懂首行是固定写法,有且仅有一个跟标签,格式和html5的格式基本一样,但是xml中的标签全部都是自定义的,3.yml(yaml)->springboot...原创 2021-05-28 09:31:33 · 116 阅读 · 0 评论 -
mybatis--关于接口参数注解的几个小问题
接口中参数有多个的情况下,一般有两种方法进行配置。第一种是封装到一个类中,第二种是直接在接口形式参数前面写注解。这里说下第二种容易出错的地方。拼接字符串的时候常常需要用到where,foreach等语句然而:①接口中有方法:List<User> selectByIdAndUsername(@Param("id1") int id,@Param("username1") String username);<select id="selectByIdAndUsern原创 2021-05-25 23:30:22 · 162 阅读 · 0 评论 -
Mybatis--关于插入数据后返回id的操作
如果xml仅仅只是这样写的话:<insert id="insertUser" > insert into user(username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert>并且执行以下代码的话static void function2() throws IOException { String path原创 2021-05-25 22:15:14 · 875 阅读 · 1 评论 -
复习-arrary和arraylist的对比以及arraylist的遍历中删除的原理
1.空间大小array是不可变的,必须事先控制其大小。arraylist是可扩容数组,每次扩大容量的0.5倍。2.存放内容array只能存放相同类型的元素,但存放对象可以是基本类型或者对象类型arraylist可以存放不同类型的元素(object),但存放对象只能是对象类型,而且如果加上<>的话,就是指定类型了。3.使用方法arraylist在array的基础上增加了例如addall(),removeall(),iterator()等常用方法。注意:我们经常需要在遍历元素原创 2021-04-28 14:39:18 · 232 阅读 · 0 评论 -
复习-jvm内存分配(1)
1.首先,jvm内存大致有三块,分别是栈(stack),堆和方法区。2..class文件在运行期间被类加载器加载到jvm的时候,是被加载到了方法区里,此时是一个一个的代码片段。3.jvm访问方法区的代码片段,就是去进入到一个又一个的方法里面去(从上到下)。4.每进入到一个方法里,都会给该方法在stack里分配对应的空间,空间里面存放局部变量和要用到数据。5.stack是先进后出的,进栈也叫做压栈(push),出栈也叫做pop,栈帧永远指向最顶部的方法栈,并且最顶部的方法栈拥有优先活跃权。.原创 2021-04-27 23:13:03 · 86 阅读 · 0 评论 -
复习-java运行的整个流程
1.编写--首先咱们要编写自己的源代码,这个可以在任意文档编辑器内完成,以.java为文件名 -----无需jdk2.编译--这个时候就要用到javac这个.exe程序了,它存在于jdk的bin目录下,并且能把.java文件编译成以.class结尾的字节码文件,此时的.class文件不同于咱们自己在源码中定义的class,它已经与源文件无关了。另外:字节码文件不是二进制文件,它是一种jvm能读懂的东西,并且这个字节码文件,在所有种类的jvm上都能运行。(小结就是:能接受相同的输入,但是输出不一样) -.原创 2021-04-26 23:01:59 · 105 阅读 · 0 评论 -
关于常量池的一些整理
含义:常量池是介于栈和堆外的另一种独立的内存管理空间,相同内容常量池中永远只有一份,基本数据类型、对象的引用都存在栈中,执行速度快,包装类型,对象存储,new出来的对象都是存储在堆中,Byte,Short,Integer,Long,Character这5种整型的包装类只是在对应值小于等于127(其实是-128到127)时才可使用对象池。超过了就会自动申请空间创建对象,所有才会出现上述情况,而String是个较为特殊的包装类型,直接用=“”创建的数据是存放在常量池,且无论数据大小都不会申请空间创建,除非使用n原创 2021-04-08 21:10:14 · 137 阅读 · 0 评论 -
关于序列化的几个注意点
1.如果要序列化的对象是普通类,需要此类实现Serializablepublic class NumB implements Serializable { private static NumB instance=new NumB(); private NumB(){} public static NumB getInstance(){ return instance; }}但是如果是enum枚举类的话,则不需要public enum Num原创 2021-04-06 22:51:16 · 179 阅读 · 0 评论 -
hashmap8底层源码剖析1--构造以及put
以下内容第一遍全按照记忆来,会有一些不太全的地方。1.首先构造有两种:①带参数构造,如hashmap(10),此时底层会将输入的参数进行多次位运算(转换成后几位全是1的,比如111,1111),扩容的时候就在二进制转化为10进制的时候再加上1即可。也就是说,会就近返回一个2的次幂,这个才是数组的大小。比如说传入10,会返回16,传入15也是16,传入17会返回32。以此类推。 ②无参构造,内部什么也不做,仅仅只是定义一个负载因子,这个因子等...原创 2021-04-04 23:44:19 · 212 阅读 · 0 评论 -
关于账号密码校验的两种IO流操作
需求:从控制台出入账号密码并和某个文件中保存的账号密码匹配,一致则登陆成功分析:目前来说,要从文档中找到指定的数据,①可以用数据流进行写入并读取(劣势1),此时需要注意到底是哪个字符串写在前面,毕竟写入和读取要保持一致的(劣势2) ②可以用数据库流来进行键值对的匹配,无需用代码写入,直接去文件里自己写就行(优点1),通过key值可以得到对应的value...原创 2021-04-01 21:28:07 · 435 阅读 · 0 评论 -
关于List和Set的遍历
1.List有四种遍历方式:普通for循环,增强for循环,迭代器,foreach.其中需要注意的是,Linkedlist虽然没有明着的索引位,但是它本身有first和last,所以可以通过从头或者从尾部开始循环找到索引位置2.Set有三种遍历方式:增强for循环,迭代器,foreach.需要注意的是,Set由于底层是Map,所以完全没有索引位...原创 2021-03-29 23:05:24 · 391 阅读 · 0 评论 -
ArrayList的初始化常用方式,扩容,和应用(去重)
下面介绍ArrayList的三种初始化1.无参构造如果调用的是无参构造 数组其实是空数组 在第一次add的时候开始进行扩容 生成一个默认长度为10的数组。2.有参构造(int)直接用传进来的参数当作数组的长度。3.有参构造(collection)直接传进来一个collection类型的对象时,会调用toArray()方法,比如:ArrayList list1 = new ArrayList(1);list1.add(1);list1.add(2);list1.add(3)原创 2021-03-29 22:51:31 · 1010 阅读 · 0 评论 -
String.valueOf()方法的使用总结
以下内容转自链接:https://www.jianshu.com/p/6f6932717a27String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 也就是 String.valueOf() 这个参数多载的方法 有下列几种 String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 String.valueOf(char c) : 将 char 变量 c 转换成字符串 String.valueOf(char[] dat转载 2021-03-28 23:36:50 · 1077 阅读 · 0 评论 -
关于random的多种用法
1.math.random()会产生一个0到1(坐开又闭)的随机小数。所以:(int)(math.random()*10)会得到一个随机的0到9的整数2.new 一个Random rand=new Random();int num=rand.nextInt(10);原创 2021-03-12 21:20:14 · 790 阅读 · 0 评论