
Java
吾欲乘风归去,又恐琼楼玉宇
一个00后IT男,正在深度学习java,个人QQ邮箱:1992311525@qq.com
展开
-
Maven的pom文件添加插件无效和默认自带插件爆红解决方案
Maven的pom文件添加插件无效和默认自带插件爆红,但是使用idea却不影响运行,但是报错终究来说很难受,还是要解决下. 放在dependency标签中让他缓存(冷静)下,再添加到插件中就不报错了!原创 2022-06-15 09:07:02 · 1904 阅读 · 1 评论 -
IDEA2021下Maven项目运行Tomcat控制台和界面乱码解决方案
加入加入 加入 图样: 酌情参考复制:6.对JSP显示文件进行标注原创 2022-06-01 10:41:37 · 1254 阅读 · 2 评论 -
Socket通讯使用遇到(BufferedReader||Write)(Output||InputStream)(Object Input||Output Stream)的问题/阻塞/空
使用 BufferedReader 和 BufferedWrite 接收读取数据,用 readLine 无法接受数据,一直等待的解决方案:1.因为BufferedReader#readLine检测读取完一行必须是通过检测换行符才判断一行读取完成,所以写数据就要加上"\r\n",也可用newLine()方法添加2.写完数据后是否调用 flush() 方法冲水参考:java socketclient 换行_Java Socket/SocketChannel通信/换行/...原创 2022-05-14 12:01:27 · 870 阅读 · 0 评论 -
Java DOM4J解析String类型XML,Document对象转String
解析String类型XML数据Document doc = DocumentHelper.parseText(String text);Document对象转StringString text = doc.asXML()原创 2022-05-12 12:56:48 · 1883 阅读 · 1 评论 -
com.sun.org.apache.xerces.internal.dom.DeferredTextImpl cannot be cast to org.w3c.dom.Element
代码 List<book> list = new ArrayList<book>(); Document doc = new DOCUntil().getDocument("src/ww/t/qp/books.xml"); Element root = doc.getDocumentElement(); NodeList books = root.getElementsByTagName("book"); for原创 2022-05-10 12:34:37 · 1775 阅读 · 2 评论 -
JAVA DOC XML解析中,item获取到Node对象使用getAttribute()无法获取指定属性名称的值解决方案
代码 Element n1 = (Element) books.item(i); System.out.println(n1.getAttribute("id"));直接把Node对象强转Element对象集合,Element和Node是继承关系,所以强转也可以正常使用,还可以使用Element独有的getAttribute(String name)的方法...原创 2022-05-26 12:08:56 · 503 阅读 · 0 评论 -
多个线程共享一个资源的情况下用Thread和Runnable,Thread和Runnable的区别
Thread 我个人认为不支持多线程共享资源的操作,主要使用实现Runnable接口理论:继承Thread,每次执行一个线程都需要new MyThread()一个线程,每个new出的线程对象都是新开辟出的一片空间,每个空间都是有其独立数据的,所以 " 很难 " 或者根本无法实现共享资源!而实现Runnable接口实现Run()方法则不同,他是实现了线程中的Run()方法,但是这个Run()方法不属于任何一个线程.①只有在使用时,把这个包含Run...原创 2022-05-05 10:34:56 · 360 阅读 · 0 评论 -
两个线程同时进入了synchronized同步代码块
预期只能一个线程进入synchronized进入同步代码块解决方案synchronized(this){}一般情况下是synchronized关键字传入的对象并不是当前的线程,使用this传入该线程即可错误原因我之前写的synchronized(Integer i)传入的是要并发处理的数据对象,传入这个并无法锁死线程借鉴java是如何防止两个线程同时进入synchronzed同步块的? - 知乎...原创 2022-05-04 23:44:27 · 797 阅读 · 0 评论 -
自定义异常及其使用
/*** 测试类*/class k5{ Scanner scanner = new Scanner(System.in); public void show(){ try { Person p1 =new Person(); //进行添加测试 p1.setAge(101); } catch (Exception e) { e.printStackTrac.原创 2022-04-25 09:42:53 · 376 阅读 · 0 评论 -
(看这一篇就够了)基本数据类型的赋值与引用类型赋值的区别
总结:基本类型的变量值小,可直接拷贝;对象包含多个值,不容易复制,赋值采用共享同一块内存区域。基本类型示例:public class Test{ public static void main(String[] args){ int a = 5;//基本数据类型的赋值过程就是值拷贝的过程,将5这个值拷贝给a int b = 0;//同理,将0这个值拷贝给a b = a;//执行这一步时,将a的值拷贝给了b,b此时的值就是5 ...原创 2022-04-04 20:41:05 · 790 阅读 · 0 评论 -
System.arraycopy
System.arraycopy的方法原型:public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);src : 源数组srcPos : 源数组要复制的起始位置(从0开始)dest : 目标数原创 2022-04-01 12:15:20 · 372 阅读 · 0 评论 -
Java输出彩色字符
前言在绝大部分情况下我们在命令行终端或者控制台所输出的内容都是黑白色的,但是在使用 Spring Boot 与 IDEA 时却发现启动项目后在控制台竟然出现了彩色字体,那么这是这么实现的呢,其实就是用到了ANSI 转义序列。ANSI 转义序列ANSI 转义序列(ANSI Escape codes)是一种带内信号(In-band signaling)的转义序列标准,用于控制视频文本终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列,大部分以 ESC 转义字符和 [ 字符开始,终端会把这.转载 2022-03-24 08:58:23 · 2992 阅读 · 0 评论 -
位运算符和解释
运算符 含义 运算规则 & 按位与 两个操作数都是1,结果才是1 | 按位或 两个操作数一个是1,结果为1 ^ 按位异或 两个操作数相同,结果为0;两个操作数不同,结果为1 ~ 按位非 两个操作数...原创 2022-03-17 10:35:53 · 375 阅读 · 1 评论 -
按位异或运算和求反运算解析
按位异或运算按位异或运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现。例如9^5可写成算式如下:00001001 ^ 00000101=00001100(十进制为12)求反运算求反运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反。例如求反运算为:~(1001)结果为:0110...原创 2022-03-16 11:37:23 · 1611 阅读 · 1 评论 -
Java内部类
成员内部类成员:类中的属性内部类代码package 成员内部类;/** * @auther LiuWeirui * @date 2022/3/5 13:50 * 成员内部类特点: * 1.内部类可以访问外部类的成员(包括方法和属性包括私有的) * 2.外部类如果访问内部类的成员,必须创建内部类对象 * 3.内部类可以修饰共有私有,因为他在外部类中被作为一个成员属性看待 */public class Outer{ private static int i; /原创 2022-03-05 14:39:45 · 298 阅读 · 0 评论 -
Java中Synchronized的用法(简单介绍)
简单介绍synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象; 4. 修改一个类,其作用的范围是synchronized后面括号括起来的...转载 2022-03-04 15:05:47 · 6407 阅读 · 0 评论 -
将数字字符串转换成逗号分隔的数字串,即从右边开始每三个数字用逗号分隔
public class t4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一串数字:"); StringBuffer sb = new StringBuffer(scanner.next()); int index = sb.indexOf(".")>=0.原创 2022-03-03 17:51:26 · 1584 阅读 · 0 评论 -
Java随机数控制范围
1.Random求50~100的随机数public class RandomTest { public static void main(String[] args) { Random ran = new Random(); for(int i=0;i<100;i++){ System.out.println(ran.nextInt(51)+50); } }}分析 ran.nextInt(51)+5原创 2022-03-02 17:15:58 · 3298 阅读 · 0 评论 -
Java格式化日期和时间模式占位符
字母 日期或时间组件 描述 示例G 纪元指示符 Text ADy 年 Year 1996; 96Y Week year Year 2009; 09M 年中月份(上下文相关sensitive) Month July; Jul; 07L 年中月份(独立形式) Month July; Jul; 07w Week in year Number] 27W Week in m...转载 2022-02-28 20:23:48 · 920 阅读 · 0 评论 -
Map的Value值转换为List集合
不多废话,直接看代码,有注解public class Map转List { public static void main(String[] args) { //开辟空间 HashMap<Integer,String> hashMap = new HashMap<Integer,String>(); //存入数据 hashMap.put(1,"张三"); hashMap.put(2,"李四"原创 2022-02-24 12:50:49 · 6995 阅读 · 0 评论 -
Map中已知Key的值,如何改Value的值
直接重新 put 一个相同 key 的就行,value会自动覆盖。 HashMap<Integer,String> hs = new HashMap<Integer, String>(); hs.put(1,"张三"); System.out.println(hs.toString()); hs.put(2,"李四"); System.out.println(hs.toString());原创 2022-02-24 02:59:09 · 8258 阅读 · 0 评论 -
Java中的<T>是什么?
这种是 jdk1.5 引入的泛型机制,没有T这种类型,T是根据你输入的来动态匹配。假如你集合放入的String类型,那么你就可以使用List<String>,然后代码中所有出现T的地方都用String代替就可以了 ,放入的是Object类型,那么你就用List<Object>,同理。其中T叫做通配符,常用的通配符有T,E,K,V分别表示类型、元素、键、值,当然这并不是硬性规定,而是大家形成的一种通识。文章第一段来自java 里 泛型中 <T>代表什么类型呀?_百度转载 2022-02-24 00:41:09 · 12488 阅读 · 1 评论 -
Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则
Collections算法类1.Collections类是Java提供的一个集合操作工具类。2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序、查找和替换等操作。3.Collections和Collection是不同的,前者是集合的操作类,后者是集合接口Collections的常用静态方法(不是所有的方法) 1.sort(集合对象):排序2.binarySearch...原创 2022-02-24 00:26:38 · 1586 阅读 · 1 评论 -
Java迭代器中的next()方法
作用next()获取当前游标指向的下一个元素并返回,游标移到下一个元素(迭代器和数据结构中的链表一样,同理判断下一个元素位置已在存入时链接好)注意:先返回游标指向的下一个元素,游标再移到该位置疑问存入四个数据,如果next()元素获取的是下一个元素,那么为什么我输出出来的是我存入的第一个元素?解释Iterator(迭代器)是一个对象,其内部存储数据第一次游标指向的是一个 “空” ,第一次指向和我们存入的数据完全没有关系,使用...原创 2022-02-23 00:17:08 · 3510 阅读 · 0 评论 -
idea设置scanner = new Scanner(System.in);的实时模板
样式内容java.util.Scanner scanner = new Scanner(System.in);注意1. 一定要勾上缩短完全限定名称,不然 java.util 这个导包的语句不会生效 (因为Idea中没有等效于Eclipse${:import(...)}的东西,所以只能利用其特性来实现导包,其实开自动导包功能也可以解决导入java.util.Scanner包的问题,但是我不喜欢自动的导包.)效果参考文章在...原创 2022-02-22 23:38:20 · 1338 阅读 · 0 评论 -
List集合存入int类型值1,remove(1)方法按下标还是按对象删除信息
ArrayList的Remove方法有两种传值方法删除集合中的元素1. remove(下标)2. remove(对象)问题来了,如果集合中添加的值都是int类型,那么list.remove(1);删除的是下标1的还是值是1的? //添加值 List list = new ArrayList(); list.add(1); list.add(2); list.add(3); li...原创 2022-02-22 17:00:35 · 1583 阅读 · 0 评论 -
Java输出语句(System.out.println)中的运算规则
pirntln、print的运算规则在遇到第一个 字符 / 字符串 / 变量之前,所有的数遇到加号即相加。当遇到任意字符后,加号就变成了 字符 / 字符串的拼接。参考Java中关于System.out.println/print的运算规则_努力的小白马-CSDN博客_java print 加法...转载 2022-02-17 17:27:08 · 2036 阅读 · 0 评论 -
类的加载顺序和静态代码块和匿名代码块的区别
静态代码块和匿名代码块的区别静态块: static { }匿名块:{ }静态块只在类第一次被加载的时候执行一次,一般用于进行初始化工作;匿名块在每一次创建本类对象或者子类对象时都会被调用一次 ; 对于父类,每创建一个父类对象都会调用一次父类匿名块;对于子类,每创建一个子类对象都先调用父类匿名块,再调用子类的匿名块。在一个类中可以有多个静态块和匿名块,在类加载的时候静态块是按照先后顺序执行的,在创建对象的时候匿名块也是按照先后顺序执行的。...原创 2022-02-16 15:36:03 · 329 阅读 · 0 评论 -
认识异常信息
printStackTrace的堆栈跟踪功能显示出程序运行到当前类的执行流程异常堆栈信息原创 2022-02-16 03:07:35 · 256 阅读 · 0 评论 -
try-catch块捕获异常三种情况
第一种情况 :try块中所有语句正常执行完毕,不会发生异常,那么catch块中的所有语句都将会被忽略第二种情况 :try语句块在执行中遇到异常,那么在try块中其余剩下的代码都将被忽略,系统会自动生成相应的异常对象,如果这个异常对象与catch中声明的异常类型相匹配,则相应的catch块将会被执行第三种情况 :try语句块在执行中遇到异常,如果这个异常对象与catch中声明的异常类型不匹配,程序会中断。...原创 2022-02-16 03:04:35 · 13404 阅读 · 0 评论 -
java异常大全,如何处理异常,如何自定义异常
此文章截图转载自:java异常大全!如何处理异常!如何自定义异常!_qq1328585964的博客-CSDN博客_java 异常大全s我怕文章莫名消失所以转载下!!!我收藏的文章偶尔会没有转载 2022-02-16 02:28:07 · 167 阅读 · 0 评论 -
控制台输出红色字体异常提示err
控制台输出语句Out换成errSystem.err.println("Value");原创 2022-02-15 16:17:48 · 502 阅读 · 0 评论 -
文件模板变量
文章内容转载自IDEA官方帮助文档:File template variables | IntelliJIDEA翻译由谷歌翻译预定义的模板变量以下预定义变量可用于文件模板: 多变的 描述 ${DATE} 当前系统日期 ${DAY} 每月的当前日期 ${DIR_PATH} 从内容根目录到新文件目录的路径 ${DS}.转载 2022-02-14 17:03:35 · 342 阅读 · 0 评论 -
Java中static的含义和用法
Java中static的含义和用法static:静态的,用于修饰成员(成员变量,成员方法);1.被static所修饰的变量或者方法会储存在数据共享区;2.被static修饰后的成员变量只有一份!3. 当成员被static修饰之后,就多了一种访问方式,除了可以被对象调用之外,还可以直接被类名调用,(类名.静态成员);4.static的特点:1.随着类的加载而被加载;2.优先于对象存在;3.被所有对象共享;5.被static修饰的变量成为静态变量(类变量)或者实例变量;6转载 2022-02-14 14:26:28 · 559 阅读 · 0 评论 -
instanceof用法
1.对象和类继承树上有关系:对象是类的类型或者是其子类型返回true对象不是类的类型或者其子类型返回false2、对象和类在继承树上没有关系:编译错误...原创 2022-02-11 17:37:20 · 164 阅读 · 0 评论 -
继承和多态的区别[发现记混了,区别下]
继承子类继承父类后,将子类的引用指向子类的对象son s1 = new son();多态子类继承父类后,将父类的引用指向子类的对象father f1 = new son();s1和f1对象调用范围的区别s1:可以调用son继承father的所有方法和属性(不包括father私有的),也可以调用自身独有或重写父类的方法和属性.f1: 只能调用子类重写或继承的父类方法或者...原创 2022-02-11 17:20:48 · 853 阅读 · 0 评论 -
当double类型数学计算精度偏差解决
使用Java.math包中的BigDecimal类进行高精度计算1. 通过构造函数的方式把要计算的值给BigDecimal对象传入,使用BigDecimal对象进行乘除加减操作//通过构造函数的方式把要计算的值给BigDecimal对象传入,使用BigDecimal对象进行乘除加减操作BigDecimal b1 =new BigDecimal(值); 2.使用方法add(BigDecimal) BigDecimal对象中的值相...原创 2022-02-10 18:44:41 · 835 阅读 · 0 评论 -
JAVA俗语:编译看左边,运行看右边的简单理解
左边的类是规范对象的类型,右边的实现是对象的具体内容规定。原创 2022-02-08 15:03:24 · 725 阅读 · 1 评论 -
一个java文件中多个类
一个.java文件中可以有很多类。不过注意以下几点:1、public 权限的类只能有一个(也可以一个都没有,但最多只有1个)2、这个.java文件的文件名必须是public类的类名(一般的情况下,这里放置main方法是程序的入口。)3、若这个文件中没有public的类,则文件名随便是一个类的名字即可4、用javac 编译这个.java文件的时候,它会给每一个类生成一个.class文件...转载 2022-01-08 02:10:20 · 2477 阅读 · 0 评论 -
Java中main函数只能调用同类中的静态方法?
静态方法只能直接访问静态成员,无法访问非静态成员,如果想要访问非静态方法,则实例化该类对象,使用对象名.非静态方法()的方式来访问!static是一种访问修饰符,在java中可以修饰代码块、方法和属性1、静态块:用于在类加载之前完成一些初始化操作,仅会执行一次2、静态方法:可以使用类名和对象调用,只能直接访问静态成员,无法访问非静态成员3、静态属性:可以使用类名和对象名调用,多个对象共享...原创 2022-01-07 22:26:55 · 1185 阅读 · 0 评论