Java学习
7先生丶
这个作者很懒,什么都没留下…
展开
-
Java 记录:懒汉式单例对象的优雅书写方式
设计一个登录函数,登录时候需要用到usr(其中包含 name,password),endpoint(ip,port),project(projectId)三个参数,这三个参数由外部对象loginInfo来传递,此后调用authentic方法进行认证,完成登录。ConnectBuilder 类原创 2022-12-05 18:02:35 · 116 阅读 · 0 评论 -
Java 中报空异常NullPointerException的未初始化问题
在一个项目中,idea编译器没有任何报错的提示,也没有任何显见的问题,执行后却报严重的空指针问题,找到问题所在后记录。此时运行Test中的main函数后,结果报空指针异常,而不是打印出 字符 ”1“原创 2022-11-22 20:12:00 · 306 阅读 · 0 评论 -
Java 子类对父类中的数组赋值
前言在实习期间写任务的时候,项目用到了工厂设计模式,不可避免用到类继承的情况,当时的情况是要在子类中完成对父类数组的赋值,实现不同子类在父类中传递不同的情况。代码实例两个类 父类A 子类B父类A:/** * @Author Seven * @Date 2022/5/13 */public class A{ protected int[] array;}子类B:/** * @Author Seven * @Date 2022/5/13 */public class原创 2022-05-13 14:24:32 · 651 阅读 · 0 评论 -
Java 中获取文件的父目录名称和父目录绝对地址
Java 获取文件的父目录名称和父目录绝对地址获取文件的父目录名称获取文件的父目录绝对地址获取文件的父目录名称import java.io.File; public class Main { public static void main(String[] args) { //创建file对象 File file = new File("C:/File/demo.txt"); //先获取file的父文件,再getName String原创 2022-04-21 14:51:43 · 1839 阅读 · 0 评论 -
Java 多线程 生产者消费者模型 实现子线程先循环10次、接着主线程循环20、再接着子线程循环10次、主线程循环20次、反复进行50次
总共四个类:ThreadTest(运行main函数)MyThread(公共类,用于子主线程调用同样的synchronized锁对象)CallSub(子线程)CallMain(主线程)运行结果ThreadTest(运行main函数)public class ThreadTest{ public static void main(String[] args) { MyThread myThread = new MyThread(); CallSub call原创 2022-04-01 16:52:59 · 545 阅读 · 0 评论 -
Springboot [Error]type=Not Acceptable, status=406 控制台:org.springframework.web.HttpMediaTypeNotAccept
使用@RestController注解返回Json格式运行后网页报错:type=Not Acceptable, status=406控制台爆红:org.springframework.web.HttpMediaTypeNotAcceptDEBUG发现:是有返回出来json的解决方法:调用的实体类上加上@Data注解...原创 2022-03-17 00:22:35 · 656 阅读 · 0 评论 -
Java Map遍历方式entrySet()理解
实现思想 :Map接口的方法 Set< Map.Entry<Key,Value> > entrySet()方法返回Set集合,集合中存储的元素,比较特别存储的是Map集合中,键值对映射关系的对象 , 内部接口 Map.Entry public static void mapEntrySet(){ Map<String,String> map = new HashMap<String, String>(); map.put(原创 2022-02-26 15:08:55 · 597 阅读 · 0 评论 -
Java中 String在内存的存放问题
/** * 运行结果为true false */String s1 = "AB";String s2 = "AB";String s3 = new String("AB");System.out.println(s1 == s2);System.out.println(s1 == s3);首先1:直接使用双引号声明出来的String对象会直接存储在常量池中;2:String对象的intern方法会得到字符串对象在常量池中对应的引用,如果常量池中没有对应的字符串,则该字符串将被添加到常原创 2022-01-23 11:04:42 · 701 阅读 · 0 评论 -
Java 方法重载重写
方法重载:在同一个类中,方法名相同,参数列表不同(参数位置、参数个数、参数类型),与返回值无关方法重写:在继承或实现的关系下,方法名相同,参数列表相同,返回值类型相同,子类的修饰权限要大于或等于父类中的修饰符权限...原创 2022-01-20 20:14:24 · 176 阅读 · 0 评论 -
Java继承特点
1.单继承一个类只能继承一个类,不允许同时继承多个类class A extends B,C{} //不允许的行为class A extends B extends C{} //也不允许2.多层继承class A extends B{}class B extends C{}//允许3.继承体系一个类只可以拥有一个直接父类,但是一个父类可以有多个子类class A extends C{} //A是C的直接子类,A是D的子类class B extends C{} //B是C的直接子类,B原创 2022-01-12 21:42:51 · 222 阅读 · 0 评论 -
Java学习——JVM内存模型分析
前言在复习到super关键字的时候,看到了有关于元数据的概念,然后在搜集资料查找元数据的时候,就先学习了JVM(java虚拟机)的内存模型,因为我是一直好奇代码在底层内存中是怎么实现的。总结(1)JVM 内存模型共分为5个区:Java虚拟机栈、本地方法栈、堆、程序计数器、方法区(元空间)(2)各个区各自的作用:a.本地方法栈:用于管理本地方法的调用,里面并没有我们写的代码逻辑,其由native修饰,由 C 语言实现。b.程序计数器:它是一块很小的内存空间,主要用来记录各个线程执行的字节码的地址,原创 2022-01-11 17:36:18 · 95 阅读 · 0 评论 -
Java this关键字
this等于传入的对象主Class:public class TriAngleTest{ public static void main(String[] args) { TriAngle triAngle = new TriAngle(); triAngle.setBase(10); triAngle.setHeight(10); }}另一个Class:构造方法:public class TriAngle{原创 2022-01-09 19:34:27 · 164 阅读 · 0 评论 -
java中构造方法加void的情况分析
前言在复习到Java构造方法的时候,遇到了一个之前没有想过的问题:在构造方法前面加void会有什么变化然后就产生了本文首先新建两个类:TriAngle 和 TriAngleTestTriAngle:public class TriAngle{ private int base; private int height; public TriAngle(int base, int height) { this.base = base;原创 2022-01-08 20:11:00 · 3923 阅读 · 0 评论 -
Java学习笔记——成员变量和局部变量
1.定义的位置不一样局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中2.作用范围不一样局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用。3.默认值不一样局部变量:没有默认值,如果想要使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样...原创 2022-01-07 17:56:24 · 181 阅读 · 0 评论 -
Java变量的作用域
Java变量的作用域在java中,一个变量的作用域为大括号{ },出了大括号就被销毁例如:public class Test{ public static void main(String args) { int sum = 0; for (int i = 0; i < 2; i++) { sum += i; } System.out.print(?); }}如果此时你Sy原创 2022-01-07 02:18:22 · 1936 阅读 · 0 评论