JAVA大类
南风~古草
贵州大学软件工程专业大三,学子彦秉成。立志于笃行求是,践行人生信仰的奋斗者!
展开
-
maven中的scope属性简析
Scope属性的值有6种打包项目时的作用范围:1、compile(不主动设置scope时的默认值):项目编译、测试、运行。2、provided编译、测试。补充:下的子标签有两点需要注意如果该标签设置为true,package打包时不会被打入jar包,同时不会有父子工程的依赖传递效果。3、runtime运行4、test仅测试编译与测试运行5、system6、import原创 2023-02-03 15:47:54 · 504 阅读 · 1 评论 -
HttpSession的常见用法(javaWeb)
HttpSession的常见用法(javaWeb)一、HttpSession的概述:二、获取HttpSession对象:三、HttpSession对象的常用方法:1、获取Session会话中指定名称的对象:2、获取绑定在该Session会话中所有的对象名称:3、获取Session会话被创建的时间:4、获取客户端最后一次发送该Session会话相关请求的时间:5、获取分配给该Session会话的唯一标识符(字符串):6、获取Servlet容器保持该Session会话访问的最大时间间隔:原创 2022-11-19 08:00:00 · 4778 阅读 · 0 评论 -
Cookie和Session的区别(javaWeb)
Cookie和Session的区别(javaWeb)1、大小方面的区别:2、存储位置方面的区别:3、存储内容不同:4、相应应用场景:5、两者各自的弊端:6、Cookie的请求和设置流程:原创 2022-11-16 08:00:00 · 689 阅读 · 0 评论 -
Cookie的常用方法(javaWeb)
一、Cookie常用方法:1、设置Cookie过期时间(以秒为单位):2、获取Cookie过期时间(以秒为单位):3、获取Cookie的名称:4、设置与Cookie关联的值:5、获取Cookie关联的值:6、设置对应Cookie适用的路径:7、获取Cookie适用的路径:8、设置是否配置SSL加密安全:9、设置Cookie注释:10、获取Cookie注释:11、Servlet删除Cookie:二、Servlet中设置Cookie的三个步骤:创建一个Cookie:原创 2022-11-12 10:51:53 · 3064 阅读 · 0 评论 -
通过redis在控制台模拟手机验证码功能(java)
通过redis在控制台模拟手机验证码功能(java)一、题目要求:手机验证码功能需求:1、输入手机号,点击发送后随机生成6位数字码,2分钟内有效2、输入验证码:点击验证,返回成功或者失败3、每个手机号每天只能获取3次验证码二、代码和分析(分析和数据存储结构的设计在代码注释中):三、运行测试结果:四、跑验证码代码开发前的准备:1、对redis进行配置:2、启动redis3、在java项目中导入需要用到的redis对应jar包:原创 2022-10-21 08:00:00 · 776 阅读 · 0 评论 -
投票动态代理proxy案例(java)
投票动态代理proxy案例(java)二、题目要求:1.现有一个投票管理器的接口VoteManagerInterface ,该接口用来管理学生选举班长等活动。三、UML类图:四、运行代码:1、Student信息类2、投票管理接口3、投票管理类4、实现InvocationHandler接口的代理类:5、投票测试类:五、运行结果:原创 2022-10-18 08:00:00 · 623 阅读 · 0 评论 -
java反射实操案例
一、反射介绍:二、常用反射操作:1、获取类对应的字节码对象(后缀为.class):(1)类对象.getClass()(2)类名.class(3)Class.forname("类的路径")2、获取了类的Class对象后,可通过该字节码对象获取该类的多种信息(1)测试用的学生类:(2)得到类属性的方法:(3)得到类方法的方法:(4)通过获取字节码,进而创建对象:(5)通过字节码对象获取包名、类名:原创 2022-10-09 15:14:04 · 1630 阅读 · 0 评论 -
Map集合中的常用函数(java)
一、Map集合常用函数:1、添加:2、删除:3、清空:4、获取:5、获取所有键:6、获取所有值:7、获取键值对的Set集合:8、判断Map中指定的键是否存在:9、判断Map中指定的值是否存在:10、判断Map集合是否为空:11、获取Map集合中键值对的对数(即长度):原创 2022-10-06 11:25:38 · 1629 阅读 · 0 评论 -
java中接口的定义和使用
一、接口的定义: 如果一个类只是由抽象方法和全局变量组成,这时就可定义为接口。即:接口是个特殊的类,这个类只有抽象方法和全局变量。二、接口的使用:(1)接口的完整写法:(2)接口的常规写法(简化开发的写法):对于常量,public static final可省略。对于抽象方法,public abstract可省略。(1)一个抽象的类只能继承一个抽象的父类,而接口可以继承多个接口。(2)一个类只能够继承一个抽象的父类,而一个类可以实现多个接口。原创 2022-09-07 08:15:00 · 2870 阅读 · 0 评论 -
Arrays.copyOfRange方法的使用和解释(Java)
Arrays.copyOfRange(T[ ] arr,int m,int n);arr为原数组,该方法复制返回一个新数组:从下标m复制,复制到上标n新数组包括下标m,不包括上标n原创 2022-08-16 20:15:00 · 393 阅读 · 0 评论 -
Collection集合的常见使用(Java)
一、Collection本身是接口,不能被实例化,被实现后,可实例化使用。(1)Collection的常用子接口的实现类:1、List体系:ArrayList、Vector、LinkedList2、Set体系:HashSet、TreeSet原创 2022-08-13 10:45:42 · 283 阅读 · 0 评论 -
ArrayDeque类的常见用法(java)
一、概况:ArrayDeque实现了Deque接口。可当作栈来用,效率高于stack。也可当作队列来用,效率高于LinkedList。二、底层用可变数组实现,无容量限制。三、ArrayDeque是不安全的。四、各种常用操作对应方法:添加元素:删除元素:获取元素:...原创 2022-08-09 23:13:42 · 1078 阅读 · 0 评论 -
进程调度模拟(操作系统实验,java,优先级抢占式时间片轮转进程调度)
进程调度模拟(操作系统实验,java,优先级抢占式时间片轮转进程调度)原创 2022-07-09 08:47:28 · 896 阅读 · 0 评论 -
用JAVAFX作图画出来的一段挺有意思的代码(个人认为)
用JAVAFX作图画出来的一段挺有意思的代码(个人认为)写代码时,走弯路不可怕,有行动就行。暴力解法也是解了。就是要让字符串工整点绕个圈展示出来原创 2022-06-27 21:30:47 · 504 阅读 · 0 评论 -
redis在服务器linux下的启动的相关命令(安装和配置)
redis在服务器linux下的启动的相关命令(安装和配置)原创 2022-06-16 16:19:11 · 7612 阅读 · 5 评论 -
编译文件时报错:错误: 编码GBK的不可映射字符
编译文件时报错:错误: 编码GBK的不可映射字符原创 2022-06-04 18:15:00 · 2802 阅读 · 0 评论 -
java上机实验,文件numbers.dat存放6个32位整数。使用RandomAccessFile类完成以下功能(题目未经改编,为原题)
若运行时带一个参数,内容为2,提示用户输入整数序号(1~6)以及一个新的整数,将输入的整数写入文件中以更新这个序号的整数;原创 2022-06-02 19:22:34 · 203 阅读 · 0 评论 -
java上机实验,测试RandomAccessFile(自我改编后的题目)
若运行时带一个参数,内容为2,提示用户输入整数序号(1~6)以及一个新的整数,共6次,需将1~6号都更新掉,更新顺序由用户决定。将输入的整数写入文件中以更新文件数据;原创 2022-06-02 19:17:00 · 212 阅读 · 0 评论 -
服务器部署jar包的方式(java)
部署案例:用finalShell作为案例第一步: 第二步: 第三步:点击SSH连接(Lunix)第四步: 第五步:完事后正常的话这里会有一个连接入口。如果没显示可以重启下程序。 第六步:进来后切换到对应目录下 将要部署的jar包拖到这里面上传 或者去电脑里找文件: 第七步:上传成功后检查下java端口是否已被占用,如果已经被占用用kill -9干掉它 当然服务器可以部署多个jar包,我这里有冲突所以要先把它干掉。没冲突的话可以共存。第八步:敲部署指令,完工!原创 2022-06-01 10:53:45 · 3379 阅读 · 0 评论 -
sql语句存储过程的写法(mysql和java)
1、2、题目案例:(仅供参考,具体情况需要具体分析)创建一个名为stu_pr的存储过程,该存储过程能查询出系名及各系教师的人数。原创 2022-05-21 06:45:00 · 3900 阅读 · 0 评论 -
File和I/0专题(java)
绝对路径:File f1 = new File("c: \\book\\welcome.java");相对路径:File f2 = new File("welcome.java");十六进制;0001,0010,0011,0100,0101,0110,0111,1000,1001,1010:A,1011:B,1100:C,1101:D,1110:E,1111:F原创 2022-05-19 18:45:00 · 112 阅读 · 0 评论 -
Cloneable接口(java,clone接口的使用)
String类不可被clone(String不可修改)Clone对应的异常:CloneNotSupportedException原创 2022-05-17 16:13:02 · 587 阅读 · 0 评论 -
mysql触发器的用法与案例(数据库与java)
1、对于insert语句, 只有new是合法的; 对于delete语句,只有old才合法; 对于update语句,new、old可以同时使用。2、before触发器的执行效率比after触发器高,在before触发器和after触发器都能被使用的情况下,应该优先选择before触发器。3、补充:在mysql中写触发器时,最好使用delimiter(分隔符),具体的delimiter可自定义,这种写法是为了方便区分语句分隔符号“;”与触发器分隔符。4、current_user(...原创 2022-05-15 23:24:28 · 1332 阅读 · 0 评论 -
关于List集合常用的重要方法(java)(如ArrayList和LinkedList等实现List接口,以下方法通用)
说明:集合对象在下面叙述中用list代表。1、向集合中添加数据:list.add(T t)2、获取集合的大小:list.size()3、判断集合是否为空:list.isEmpty(),返回值为boolean,集合空为true,不空为false4、获取集合中指定下标位置处的元素(从0开始):list.get(int index)5、在指定位置添加元素,原来此位置的元素后移:list.add(int index,T t)6、替换指定位置处的元素:list.set(int index,T原创 2022-05-12 19:44:08 · 764 阅读 · 0 评论 -
以输入流的方式读文件(Java)
案例一:使用类相对路径,需要读的文件需要放在idea项目名下的resource文件中。这样编译后idea能在存放class文件的项目名对应包下,直接找到文件,读取文件。(通用,代码好移植)/*pathname传文件名,如/projectDetails.txt*/ public ArrayList<String> readFromTextFile(String pathname) throws IOException { ArrayList<String> st原创 2022-05-03 18:15:00 · 1099 阅读 · 0 评论 -
关于Queue的相关重要方法(Java)
1、Queue是队列,FIFS(先来先服务,first come,first serve)2、添加一个元素到队尾:add(E e):(如果超临界值或出错,会抛异常)offer(E e):(如果超临界值,会添加失败,不会抛异常)专门为容量受限的队列设置的。3、获取队头元素并删除:remove():(如果队列为空,会抛异常)pull():(如果队列为空,会返回null,不抛异常)4、获取队头元素但不删除:...原创 2022-05-01 10:30:40 · 1134 阅读 · 0 评论 -
String.join()方法的使用(java)可利用这种方法简化输出写法
1、案例:public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); list.add("6");原创 2022-04-10 18:15:00 · 1972 阅读 · 0 评论 -
java多线程,线程的创建和线程池的使用
创建线程类两种方法:1、继承Thread类。2、实现Runnable接口。线程池的创建方法是:Executors.newFixedThreadPool(线程池的容量)。import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ThreadTest { public static void main(String[] args) { /.原创 2022-03-31 18:15:00 · 475 阅读 · 0 评论 -
java中将字符串转为数字的方法
使用Interger类的相关方法 String s = "222"; Integer i1 = Integer.valueOf(s); Integer i2 = new Integer(s); Integer i3 = Integer.parseInt(s);// 以上三方法可将数字字符串转化为Integer数值型,得到整型的222 Integer i4 = s.charAt(0)-'0';// .原创 2022-03-27 18:15:00 · 23564 阅读 · 2 评论 -
java判断数据类型
1、基本数据类型。如byte、short、char、int、long、float、double、boolean,这些的比较用==。2、对象数据类型。如Integer,String,List,Collection,Map。(1)方法一:使用对象变量.getClass().getName(),如: String s = "jessica"; System.out.println(s.getClass().getName());// 输出结果:java.原创 2022-03-25 18:15:00 · 34957 阅读 · 0 评论 -
Mapper.xml中sql的多种情况的写法(java)
1、动态条件查询。<where>标签会智能地将第一个不为空的值对应语句前面的and删去。<!-- 动态条件查询--> <select id="selectByCondition" resultMap="brandResultMap"> select * from tb_brand <where> <if test="status != null">and原创 2022-03-20 18:15:00 · 4000 阅读 · 0 评论 -
MyBatis单条件查询案例(java)
MyBatisTest.java文件:package com.teng.test;import com.teng.mapper.StudentMapper;import com.teng.pojo.Student;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import原创 2022-03-18 18:15:00 · 765 阅读 · 0 评论 -
MyBatis模糊查询时数据库有数据但查询结果为空的两种可能(java)
1、数据库连接的字符编码有误。可先在数据库里添一条全英文数据,进行查询,如果查出来了,就说明数据库编码有误,中文解析映射时出错。可在数据库连接地址后添加UTF-8字符编码,即:useUnicode=true&characterEncoding=UTF-8示例:修改mybatis-config.xml文件(在配置文件中&相当于&):<dataSource type="POOLED"><!-- ...原创 2022-03-16 18:15:00 · 5062 阅读 · 2 评论 -
使用druid数据库连接池查询数据库中的数据(java)
核心代码:import com.alibaba.druid.pool.DruidDataSourceFactory;import com.itheima.pojo.Account;import javax.sql.DataSource;import java.io.FileInputStream;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import .原创 2022-03-12 18:15:00 · 3089 阅读 · 1 评论 -
解决登录时sql注入的方法:预编译时放入sql(java)
1、使用import java.sql.PreparedStatement;2、先将sql里用户名和密码分别用?占位,先预编译将sql放入PreparedStatement的对象中。然后用调用该对象的set方法将用户名和密码设置,接着执行。3、这样做的话如果密码被注入为' or '1' = '1,在设置密码时会将'转义为\';即:select * from tb_user where username ='lisi' and password = '\' or \'1\' = \'1'..原创 2022-03-10 18:15:00 · 1230 阅读 · 0 评论 -
sql注入,登录的漏洞(java)
注入核心代码: ' or '1' = '1拼接后,得恒等式:select * from tb_user where username ='ahfahfkl' and password = '' or '1' = '1'查询后得所有用户,直接登录成功。当然目前所有实际运营的网站几乎都解决了这个漏洞。import org.junit.jupiter.api.Test;import java.sql.Connection;import java.sql.DriverManager...原创 2022-03-08 18:15:00 · 561 阅读 · 0 评论 -
JAVA与C++加快输入输出速度的方法
1、对于C++加快输入输出:cin,cout效率低,是因为输入输出的内容要经过缓存,导致效率降低。std::ios::sync_with_stdio(false)可以来打消中间的缓存,节省时间。但这样处理后不能同时混用cout和printf。#include<iostream>using namespace std;int main(){ std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int m;..原创 2022-03-06 18:00:00 · 1659 阅读 · 0 评论