- 博客(25)
- 收藏
- 关注
原创 Web后端开发——请求响应
1)在原始的web程序中,获取请求参数,需要通过HttpServletRequest 对象手动获取。//getParameter为红色需要引入tomcat 的lib文件夹下的jsp-api.jar和servlet-api.jar2)SpringBoot简单参数:参数名与形参变量名相同,定义形参即可接收参数如果方法形参名称与请求参数名称不匹配,可以使用 @RequestParam 完成映射。//@RequestParam 完成映射){
2023-12-04 22:00:41 871
原创 Java基础——IO流
在缓冲流中定义了数组拷贝new byte[8192],所以加快了速度,相对于普通流 加上自定义数组拷贝的效率很多时候是差不多的,缓冲流也可以加上自定义数组一起进行拷贝,效率会更好些,如果加大普通流 加上自定义数组的数组容量也会有相应的速度。注:缓冲流不具备读写功能, 它们只是对普通的流对象进行包装 ,真正和文件建立关联的, 还是普 通的流对象。加密思路:改变原始文件中的字节,就无法打开了。解密思路:将文件中的字节还原成原始字节即可。字节缓冲流在源代码中内置了字节数组,可以提高读写效率。
2023-10-10 09:30:19 115
原创 创建SpringBoot web项目遇见的坑
注意:JDK和Java的版本(我用的是JDK8,java默认会是17)因为我的是JDK8,所以选择了一个比较低版本SpringBoot。在下面的文件中添加:server.port=8888,更改端口号。1.java: 警告: 源发行版 17 需要目标发行版 17。第二步 启动时报下面的错误,说明端口被占用。可以在Setting设置自己的maven。第一步 创建web项目。注意下面截图位置的配置。
2023-09-14 14:29:29 113
原创 Maven安装步骤
1.选择 IDEA中 File --> Settings --> Build,Execution,Deployment --> Build Tools --> Maven。方式一:打开IDEA,选择右侧Maven面板,点击 + 号,选中对应项目的pom.xml文件,双击即。方式二:打开IDEA,选择右侧Maven面板,点击 + 号,选中对应项目的pom.xml文件,双击即。1.Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。2.填写模块名称,坐标信息,点击finish,创建完成。
2023-09-11 08:16:47 101
原创 Java基础——Stream流、File类
static <T> Stream<T> stream(T[] array)将传入的数组封装到 Stream 流对象中。Collections.addAll(list, "林青霞", "张曼玉", "王祖贤", "柳岩","张敏","张无忌");Collections.addAll(girl, "黄蓉", "林超风", "小龙姐", "赵敏","周芷若","小昭");Collections.addAll(boy, "郭靖", "黄药师", "王祖贤", "乔峰","杨过","张无忌");
2023-09-05 14:23:52 168
原创 Java基础——集合(HashSet 集合类、LinkedHashSet 集合类、Collections 集合工具类、Map 接口、Map 集合的遍历方式)
④boolean containsKey(Object key) 判断集合是否包含指定的键。Collections.addAll(list1, "南京市", "扬州市", "苏州市", "无锡市", "常州市");Collections.addAll(list2, "武汉市", "孝感市", "十堰市", "宜昌市", "鄂州市"); ⑦int size() 集合的长度,也就是集合中键值对的个数。
2023-09-02 09:32:12 1303 1
原创 Java基础——集合(泛型、数据结构(树)、TreeSet 集合)
③ 如果一个节点没有子节点或者父节点,则该节点相应的指针属性值为Nil,这些Nil视为。 ④ 如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连的情。 ⑤ 对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色。 需要进行一次左旋。常见的泛型标识符 : E V K T。
2023-08-29 16:02:42 137 1
原创 Java基础——集合(单列集合:ArrayList、LinkedList)
① 使用空参构造器创建的集合,在底层创建一个默认长度为0的数组。 ② 添加第一个元素时,底层会创建一个新的长度为10的数组。public boolean remove(E e) : 把给定的对象在当前集合中删除。 ArrayList 底层是数组结构的,数组默认长度为10。public int size() : 返回集合中元素的个数(集合的长度)
2023-08-22 14:34:48 43 1
原创 Java基础——递归、异常
编译阶段就出现的错误 主要起到提醒作用,需要在运行之前, 给出解决方案。1 ~ 2 的和 2 += (1~1的和);1 ~ 4 的和 4 += (1~3的和); 例:封装为 Student 对象,键盘录入学生的姓名和年龄,要保证年龄的正确。 try { 可能会出现异常的代码 }
2023-08-18 14:37:39 79 1
原创 Java基础——常用API(时间类)
System.out.println("相差的千年数:" + ChronoUnit.MILLENNIA.between(birthDate, today));System.out.println("相差的十年数:" + ChronoUnit.DECADES.between(birthDate, today));System.out.println("相差的毫秒数:" + ChronoUnit.MILLIS.between(birthDate, today));
2023-08-17 10:37:31 70 1
原创 Java基础——常用API(Arrays工具类、冒泡排序、选择排序、二分查找、正则表达式)
第一轮 : arr[0]-arr[1] arr[1]-arr[2] arr[2]-arr[3] arr[3]-arr[4] 比较4次。第二轮 : arr[0]-arr[1] arr[1]-arr[2] arr[2]-arr[3] 比较3次。邮箱:"\\w+[@][\\w&&[^_]]+(\\.[a-z]{2,3})+"[a-z&&[^m-p]] a到z,除了m到p:([a-lq-z]减法)第三轮 : arr[0]-arr[1] arr[1]-arr[2] 比较2次。// -1: 避免索引越界。
2023-08-15 15:30:10 277 1
原创 Java基础——常用API(Object、Math、System、BigDecimal、包装类)
如果地址不相同, 就会返回false, 短路 || , 左边为false, 右边要继续执行.getClass()!&& : 左边为false, 右边不执行, 右边不执行, 记录着null值的a, 就不会调用equals方。① a == b : 如果地址相同, 就会返回为true, 这里使用的符号是短路 || , 左边为true, 右边。3.public static void arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引, 拷贝个数)请将该字符串转换为整数并存入数组。
2023-08-14 08:02:36 100
原创 Java基础——面向对象高级(接口新特性、代码块、内部类、Lambda表达式、窗体、组件、事件)
useStringHandler(msg -> System.out.println("Lambda打印:" + msg));System.out.println("static...Student类的静态代码块");System.out.println("右移动业务代码");System.out.println("我的爸爸回家...");System.out.println("Student类的构造代码块");System.out.println("我的爸爸");
2023-08-09 17:17:15 68
原创 Java基础——面向对象高级(包、抽象类、接口、多态)
System.out.println("通过银行卡网银支付了:" + money + "元!System.out.println("通过支付平台支付了:" + money + "元!System.out.println("通过信用卡快捷支付:" + money + "元!System.out.println("请输入您的支付金额: ");通俗的理解:判断关键字左边的对象,是否是右边的类型,返回boolean类型结果。如果被转的引用类型变量,对应的实际类型和目标类型不是同一种类型,那么在转换的。
2023-07-28 15:29:42 95 1
原创 Java基础——面向对象高级(1)
是不能被继承,子类需要自己手动编写构造方法,子类在初始化之前已经完成父类的初始化(因为子类在初始化的过程中可能需要调用父类的成员),在所有的构造方法中,都默认隐藏了一句话 super();② static:被JVM调用不用创建对象(因为main方法是静态的,所以测试类中其他方法也需要静态的);员变量,若果被调用的变量和方法, 在子类中不存在, super.可以直接省略的。当类与类之间,存在相同 (共性) 的内容,并且产生了 is a 的关系,就可以考虑使用继承,来优化代码。
2023-07-25 17:05:42 40
原创 Java基础——集合基础
当创建ArrayList集合容器的时候,底层会存在一个长度为10个大小的空数组,当10个大小的空数组装满之后,如果又像集合中存入数据,这时系统会在开辟原数组1.5大小的新数组(15个大小),将原数组的数据复制到新数组中,再将添加的数据添加到新的数组,原来的数组将等待java垃圾回收机制处理。public E set(int index, E element) : 修改指定索引位置, 为对应的元素, 返回被覆盖掉的元素。// 输出结果[11.1,44.4,22.2,33.3]//输出结果33.3。
2023-07-17 07:46:02 26 1
原创 java基础——常用API(String、StringBuilder)
根据Sting的创建方式创建a1时直接去常量池找,发现没有,在常量池中创建“abc”字符串,a1指向常量池中的字符串,创建a2时,因为有new所以在堆空间中开辟一块String空间,然后去常量池中查找字符串,发现有字符串“abc”,将字符串拷贝一份存入创建的String空间,之后地址赋值给a2,这样a1指向的是常量池,a2指向的是字符空间,a1和a2指向不同,所以返回值是false.System.out.println("登录失败, 您还剩余" + (3 - i) + "次机会");
2023-07-10 13:44:36 164 1
原创 Java基础——面向对象
MovieMessage movie1= new MovieMessage(1,"东八区的先生们","2022",2.1,"中国大陆","喜 剧","夏睿","张翰 王晓晨");MovieMessage movie2= new MovieMessage(2,"上海堡垒","2019", 2.9, "中国大陆", "爱情 战争 科幻", "滕华涛", "鹿晗 舒淇");System.out.println("----------电影信息系统----------");
2023-06-21 22:49:10 56
原创 java基础——数组
若果我们直接打印数组名会发现数据名存储的是一个16进制的地址名,这个地址名就是数组在内存中的位置,根据这个位置再加上索引就可以找到数组中的元素。方法最开始是放在方法区,被调用后进入栈内存,在占内存创建数组的时候,就会在堆内存中开辟一块空间,用于存储数组的各个元素。数据类型 [][] 数组名 = new 数据类型 [][] {{ 元素 1, 元素 2},{ 元素 1, 元素 2}};数据类型 [][] 数组名 = {{ 元素 1, 元素 2}, { 元素 1, 元素 2}};
2023-06-15 09:50:07 31 1
原创 java运算符和方法(函数)
,当方法中含有return时,如果return后面有值,需要用对应类型的参数进行接收,如果方法是int型即public static int 方法名(int a,intb…看下面的代码,a是int,b是double类型,在计算的过程先将a转成了double进行计算,转换完赋值的时候又强转成int类型了,类似于int a = (int)(a+b);在同一个类中,定义了多个同名方法,但每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。重载避免了大量的记忆方法名,简化了方法。
2023-06-04 21:22:35 55 1
原创 java基本数据类型、数据类型之间的相互转化
我们用两个byte类型的数据相加,再用byte的变量去接收,idea直接报红,原因是byte在计算的过程中会先将数据类型转换为int行进行计算,在接收时要用int类型,这个计算中也会含有隐式转换。我们可以将取值范围小的数据类型直接赋值给取值大的数据类型,否则会报错,在将a赋值给c的时候就发生了一次隐式转化,将int类型转换成了double类型。运算后的结果还是int, int类型结果给byte类型变量赋值, 大的给小的, 不能直接给, 编译错误.提升之后, 就是两个int在运算了, 运算的结果还是int.
2023-06-02 22:57:05 170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人