
Java
Java相关
菠了个白了个菜
没有梦想,只有目标,看不见未来,看不懂现在,只会走好脚下每一步。
展开
-
https证书-openssl
证书搭建原创 2022-06-24 15:36:50 · 384 阅读 · 0 评论 -
获取客户端真实IP
客户端IP获取获取客户端IP地址的方法是request.getRemoteAddr(),大部分情况下适用, 但如果用了代理和网关转发的情况下是获取不到客户端真实IP的,是代理请求服务器或网关的IP地址。在我们使用nginx等反向代理软件时,不能通过这个方法获取客户端真实IP地址。使用 X-Forwarded-For要想获取真实IP地址,就要使用request.getHeader("x-forwarded-for")来获取在请求头部中x-forwarded-for存的信息是:ip1,ip2,i原创 2022-02-21 18:05:16 · 2230 阅读 · 0 评论 -
JAVA压缩流(ZipOutputStream)的简单使用
ZipOutputStream压缩流此流用于以 ZIP 文件格式写入文件,包括对压缩和未压缩条目的支持,也就是把文件打包成压缩文件,常用于附件下载(多文件下载),文件压缩存储。类图:常用的两个方法:public void putNextEntry(ZipEntry e);开始写入新的 ZIP 文件条目并将流定位到条目数据的开头。如果仍处于活动状态,则关闭当前条目。这里的ZipEntry就是一个条目public void closeEntry();关闭当前 ZIP 条目并定位流以写入下原创 2022-02-17 17:58:57 · 25374 阅读 · 3 评论 -
mybatis中#符号
#{id}这句话告诉mybatis创建一个PreparedStatement类,它所对应的参数会由?来标识,并把传的值给替换掉//JDBC代码String selectPerson = "SELECT * FROM PERSON WHERE ID=?";PreparedStatement ps = conn.prepareStatement(selectPerson);ps.setInt(1,id);//MyBatis代码<select id="selectPerson" param原创 2021-07-30 14:41:02 · 163 阅读 · 0 评论 -
parameterType和@Param的使用
paramenterType:该参数只表示一个参数类型,按照类型进行匹配@Param:按照名字进行匹配一个参数:@Param("id") String id 多个参数:@Param("id") String id, @Param("name") String username//List<User> searchMeaItemsVo(@Param("id") String id, @Param("name")String username); Map类型:para原创 2021-07-30 14:39:22 · 1414 阅读 · 0 评论 -
@RequestParam和@Param区别
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSizevalue:参数名defaultValue:默认参数名,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值。@RequestParam(value = "modelCode",required = false) String modelCode required:是否包含该参数,默认为true,表示该请求路原创 2021-07-30 14:22:11 · 924 阅读 · 0 评论 -
MultipartFile接口
MultipartFile接口位于:package org.springframework.web.multipart;包下中文名:多组件文档继承自:InputStreamSource,并封装了getInputStream()方法 此方法用法:@RequesParam("file")MultipartFile file InputStream is = file.getInputStream();方法:String getName():得到的是@RequesParam(value = "f原创 2021-07-30 14:16:43 · 832 阅读 · 0 评论 -
Stream流操作集合
//forEach:遍历 List<String> list = Arrays.asList("abc", "cd", "anvd", "akln"); Stream<String> stream = list.stream(); stream.forEach(System.out::printf); //distinct:去重 //map:用于映射每个元素到对应的结果 //collect:使用Collector对此流的元素执行可变归约操作 List<Integ.原创 2021-07-27 09:04:09 · 336 阅读 · 0 评论 -
Java IO流大家族(总结)
1.IO流的分类1.1 通过流分类:输入流,输出流 输入流:从接收器输入到java程序。 输出流:输出流接受输出字节并将这些字节发送到某个接收器,也就是从java程序输出到接收器。1.2 通过数据单位不同分分类:字符流,字节流 在java版本中是先有字节流,再有字符流,1字符 = 2字节 字节流:每次传输一个字节,一个中文汉字是两个字节,会出现乱码。 字符流:每次传输两个字节,一般传输中文1.3 抽...原创 2020-06-27 09:41:30 · 610 阅读 · 0 评论 -
Java集合(HashMap和Hashtable区别,集合工具类Collectoins)
一、HashMap与Hashtable区别HashMap与Hashtable的区别: 1.HashMap:键允许为null,值允许为null,线程不安全,效率高 2.Hashtable:键不允许为null,值不允许为null,线程安全,效率低示例代码:package com.map.test;import java.util.HashMap;import...原创 2020-05-05 18:44:45 · 285 阅读 · 0 评论 -
Java集合(Map集合)
目录一、Map集合的特点二、Map集合的功能1.添加功能:V put,这个返回值有点特殊,v>2.移除功能:3. 判断功能:返回值是:boolean4. 获取功能:5.遍历Map一、Map集合的特点接口Map<K,V>中,K - 此映射所维护的键的类型,V - 映射值的类型,其中K是唯一的,Set接口与Map接口特点基本类似,HashSet的...原创 2020-04-29 20:28:34 · 265 阅读 · 0 评论 -
Java集合(HashSet的子类LinkedHashSet和Set的实现类TreeSet)
一、LinkedHas类特性LinkedHashSet类与HashSet不同的是,它保证了有序。程序代码:package com.linkedhashset;import java.util.LinkedHashSet;public class LinkedHashSetDemo{ public static void main(String[] args) { /...原创 2020-04-09 16:31:54 · 221 阅读 · 0 评论 -
Java集合(Set接口及其子类HashSet)
目录一、 Set接口 1、Set接口特点:无序的,唯一的二、HashSet类1、Set接口的一个实现类,它不保证Set的迭代顺序,特别是它不保证该顺序恒久不变。2、唯一性:底层依赖于hashCode()和equals()方法。关于hashCode()和equals():一、 Set<object>接口1、Set接口特点:无序的,唯一的...原创 2020-04-09 16:30:18 · 443 阅读 · 0 评论 -
Java集合(List接口+其三个子类)
一、Link接口 Link接口是Collection接口的子接口,他有三个子类,ArrayList,Vector,LinkedList,其特有的功能展示:ListDemo.javapackage com.test_02;import java.util.*;public class ListDemo { public static void main(St...原创 2019-11-19 17:02:39 · 225 阅读 · 0 评论 -
Java集合(Collection及其功能[迭代器])
一、Collection功能:Collection<引用类型>是集合的顶层接口,因为是接口所以不能实例化,要Collection c = new ArrayList();其有很多子体系。CollectionDemo.javapackage com.collection;import java.util.ArrayList;import java.util.Co...原创 2019-11-18 16:53:40 · 142 阅读 · 0 评论 -
Java反射(获取有参成员方法+理解)
一、获取有参成员方法(ReflectDemo1.java)1.获取字节码对象2.getMethod("", )使用,无返回值,有一参,有两参 getDeclaredMethod("", ),访问私有要有*.setAccessible(true);//暴力访问3.有返回值的用法ReflectDemo1.javapackage com.java.test;import...原创 2019-11-12 18:45:13 · 1102 阅读 · 0 评论 -
Java反射(获取成员变量+获取无参成员方法)
一、获取成员变量(Reflect.java)1.获取字节码对象2.获取成员变量3.给获取的成员变量赋值 (1).通过无参构造方法创建对象 (2).public void set(Object obj,Object value);package com.test;import java.lang.reflect.Constructor;import jav...原创 2019-11-11 18:47:19 · 539 阅读 · 0 评论 -
Java反射(字节码对象+获取构造方法)
一、首先准备一个对象(Student.java)这个对象包含有默认的,私有的,公共的,为后面测试使用方便。package com.test;public class Student { private String name; public int age; public int num; private Student(String name, int age, ...原创 2019-11-11 16:08:28 · 297 阅读 · 0 评论 -
JAVA窗口:JFrame常用方法
JFrame():创建一个无标题的窗口JFrame(Starting s):创建一个标题为s的窗口setBounds(据屏幕左面a个像素,据屏幕左面b个像素,窗口宽width,窗口高height).相同的分开写(setSize(窗口宽width,窗口高height),setLocation(据屏幕左面a个像素,据屏幕左面b个像素))setVisible(boolean b):窗口默...原创 2019-05-07 18:34:32 · 2197 阅读 · 0 评论 -
方法重载和构造方法
方法重载:方法名是一样的,但是参数类型不一样。调用方法attack的时候,会根据传递的参数类型以及数量,自动调用对应的方法。同样的,构造方法也适用于方法重载。 class Hero{ String name; int att; }//attack方法的重载 ,提供了三种重载,会根据参数不同来选择所用方法 class ADCHero extends Hero{ pub...原创 2019-05-05 13:33:58 · 995 阅读 · 0 评论 -
继承extends
类和对象:继承extends练习扩充//继承的练习:扩充,继承。class Itme{//物品类 String name; int price; }//***extends:扩充,继承。继承写法***class Weapon extends Itme{ int sal; }public class Week_55 { /*public class We...原创 2019-05-05 11:11:16 · 198 阅读 · 0 评论 -
JAVA参数传值,可变参数
引用类型参数的传值一个类声明的两个对象如果具有相同的引用,二者就具有相同的变量。Battery.javapackage zhiChuanDi;public class Battery { int eleAmount; Battery(int amount){ //构造方法 eleAmount = amount; }}Radio.javapackage z...原创 2019-04-28 22:30:27 · 1327 阅读 · 0 评论 -
封装与private
private:私有的。可以修饰成员变量和成员方法。被private修饰的成员只能在此类中使用。package duiXiangLianXi;/* private:私有的。 可以修饰成员变量和成员方法。 被private修饰的成员只能在此类中使用。 */class Man{ String name; private int age; public void s...原创 2019-07-08 11:57:19 · 206 阅读 · 0 评论 -
狗跳高案例和学生老师案例(继承,抽象类,接口)
狗跳高案例从抽象到具体一一实现 接口比抽象类更抽象,先写接口 然后抽象类//扩展功能用接口interface Jump{ public abstract void jump();}abstract class Animal2{ //成员变量 private String name; private int age; //构造方法 pu...原创 2019-07-11 15:26:31 · 278 阅读 · 0 评论 -
Java的事件监听机制
事件监听机制:A:事件源:事件发生的地方(对象)B:事件:要发生的事情(接口)C:事件处理:针对发生的事情做出的处理方案(实现的接口)D:事件监听:把事件源和事件关联起来(操作)首先我们先创建一个窗口public class text2 { public static void main(String[] args) { Frame f = new Frame(...原创 2019-07-16 17:39:28 · 301 阅读 · 0 评论 -
Java简单计算器的实现(+-*/)
package JFrame_001;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class JiSuanQi { public static void main(String[] args)...原创 2019-07-16 17:44:55 · 2162 阅读 · 1 评论 -
第一个Java项目———Java实现简单图书管理系统(GUI)
暑假写了个图书管理系统,编译器用的是eclipse,加入了WindowBuilder插件做界面(做的特丑),数据库用的是MySQL。 实现了图书的查询,借阅,归还,删除,增加。用户的删除,查询。分为管理员和用户。一,程序整体框架从项目开始,无从下手,随着学习的深入,慢慢的熟悉了开发流程,先把整体框架搭起来,这个过程可以减少后续的一些麻烦,做数据库前先想好需求,...原创 2019-08-03 11:45:35 · 49789 阅读 · 42 评论 -
Java多线程的2种实现方式
一.继承Thread类 在写Thread子类时,需要重写父类的run()方法,如下:package com.lei.java;public class MyThread extends Thread { public MyThread() { } //设置线程的名称setName(); public MyThread(String nam...原创 2019-09-27 13:46:32 · 216 阅读 · 0 评论 -
Java 数组的简单用法
package hello;public class Hello{//数组的用法 public static void main(String arge[]) { int a[][]; a = new int[2][3]; float b[]; b = new float[12]; ...原创 2019-04-02 17:29:42 · 288 阅读 · 0 评论