
Java高级
Pengsen Ma
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一分钟读懂java的super关键字
① java中提供了访问父类的成员变量,成员方法的关键字super super.成员变量 super.成员方法(【参数1,参数2***】) ② super关键字调用父类的构造方法 super(【参数1,参数2***】) 调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次, 子类的构造方法一定会调用父类的构造方法,如果将子类构造方法中不指定调用父类的哪个构造方法,那...原创 2018-09-05 20:36:18 · 5099 阅读 · 0 评论 -
Remote URL test failed: protocol ‘Remote URL test failed: Authentication failed for,不能clone,push和pul
如果你设置好了SSH公钥然后还是不行,那么你试一下其他的开源的项目地址,然后如果你可以git clone 下来,那么说明你想要clone的这个项目的地址是错误的,或者是你的权限不够将此处的地址换成https的地址而不要用SSH的地址,配置好以后有可能还是不行,重启一下电脑就可以了...原创 2021-04-12 19:38:56 · 17780 阅读 · 0 评论 -
java每过一段时间执行一次代码(方法)
//线程类public class TestThread extends Thread { public void run() { while(true){ try { sleep(60*1000); //这里可以写你自己要运行的逻辑代码 System.out.println("一分钟运行一次"); } catch (InterruptedException e) { // TODO Auto-g..原创 2020-12-23 17:27:02 · 22629 阅读 · 3 评论 -
super和this关键字详解
super关键字:①java中提供了访问父类的成员变量,成员方法的关键字supersuper.成员变量super.成员方法(【参数1,参数2***】)②super关键字调用父类的构造方法super(【参数1,参数2***】)调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次,子类的构造方法一定会调用父类的构造方法,如果将子类构造方法中不指定调用父类的哪个构造方法,那么就会默认调用父类的无参的构造方法。在类的继承中,子类的构造方法中默认会有super(原创 2020-10-12 17:12:09 · 15626 阅读 · 0 评论 -
List<?> list= new ArrayList<?>接口引用指向实现类的对象.
经常使用接口 XXX = new 实现类(); 而不是 接口的实现类 XXX = new 接口的实现类();例如: List list = new ArrayList(); ArrayList arraylist = new ArrayList(),1.为什么要这么写?为什么要用接口(List)引用指向实现类(ArrayList)的对象?便于程序代码的重构. 这就是面向接口编程的好处List list;是在栈区开辟一个空间放list引用,并没有创建...原创 2020-10-12 16:29:08 · 17059 阅读 · 0 评论 -
多线程介绍
多线程程序是乱序执行。因此,只有乱序执行的代码才有必要设计为多线程。提醒一下大家:main方法其实也是一个线程。在java中所以的线程都是同时启动的,至于什么时候,哪个先执行,完全看谁先得到CPU的资源。在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。因为每当使用java命令执行一个类的时候,实际上都会启动一个JVM,每一个jVM实习在就是在操作系统中启动了一个进程。...原创 2020-10-08 20:14:11 · 15096 阅读 · 0 评论 -
一文理解接口和抽象类
一.抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstractvoidfun(); 抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类(必须对class前加abstract关键字),抽象类必须在类前用abstract关键字修饰。 下面要注意一个问题:如果一个类不包含抽象方法,只是用abstract修饰的话也是抽象类。也就是说抽象类不一定必须含有抽象方法。个人觉..原创 2020-09-28 16:44:51 · 14387 阅读 · 0 评论 -
scanner
下面是创建 Scanner 对象的基本语法:Scanner s = new Scanner(System.in);接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext 与 hasNextLine 判断是否还有输入的数据:next() 与 nextLine() 区别next方法其实也是可以获取字符串的。但是next不能获取空格,比如输入Hello World,使用next方法原创 2020-09-28 09:16:10 · 14460 阅读 · 0 评论 -
map和list
Map map2=new HashMap();map2.put(1,1);map2.put(1,12);System.out.println(map2);List:是存储单列数据的集合,存储的数据是有序并且是可以重复的Map:存储双列数据的集合,通过键值对存储数据,存储的数据是无序的,Key值不能重复,value值可以重复...原创 2020-09-25 11:12:08 · 14567 阅读 · 0 评论 -
Java代码性能优化常用方法
4. 尽量使用final修饰符带有final修饰符的类是不可派生的。在JAVA核心API中,有许多应用final的例子,例如java、lang、String,为String类指定final防止了使用者覆盖length()方法。另外,如果一个类是final的,则该类所有方法都是final的。java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关),此举能够使性能平均提高50%。如:让访问实例内变量的getter/setter方法变成”final:简单的gette原创 2020-09-19 15:57:47 · 14738 阅读 · 0 评论 -
Java的正则表达式
文章目录Pattern 类:Pattern.compile函数Matcher 类:groupPattern 类:pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。Pattern pattern=Pattern.compile("topicId=[0-9]+");Pattern.compile函数来实现对指定字符串的截取原创 2020-07-31 10:09:33 · 7860 阅读 · 0 评论 -
Java的static关键字用法及原理
主要用法:1、用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;2、用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类;3、静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键;static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗,我们可能会经常在帮助类中看到它的使用。本质问题:理解了之前的文章,你只是初步了解了static,要想更近一原创 2020-07-31 08:19:39 · 7962 阅读 · 0 评论 -
IDEA的debug查看某一变量或字段的具体值
原创 2020-07-30 08:10:02 · 20424 阅读 · 5 评论 -
Entry()
Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。Map<String,String> map=logParser.parse("原创 2020-07-30 07:20:07 · 9753 阅读 · 0 评论 -
Iterator用法整理
@Override protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int count=0; Iterator<IntWritable> iterator= values.iterator(); //<1,1,1>原创 2020-07-22 16:06:26 · 8653 阅读 · 0 评论 -
public,protected,private
原创 2020-07-22 15:33:38 · 7698 阅读 · 0 评论 -
多态和重载的区别及用法
文章目录多态重载多态在同一个方法中,由于参数类型的不同从而导致执行效果各异的现象就是多态。重载java允许一个程序中定义多个名称相同的方法,但是参数类型或个数必须不同方法的重载和返回值类型无关,他只需要满足两个条件:1)方法名相同2)参数个数或参数类型不同public class E12 { public int add(int x,int y){ return x+y; } public int add(int x,int y,int z){//参数原创 2020-07-21 08:57:23 · 20556 阅读 · 0 评论 -
final
1)final修饰的类不能被继承,也就是不能派生子类2)final修饰的方法不能被子类重写3)final修饰的变量是常量,只能赋值一次final修饰的局部变量可以不赋初值,但是final修饰的成员变量必须在定义时就赋初值final String name="李芳";...原创 2020-07-21 08:30:15 · 7714 阅读 · 0 评论 -
java接口
如果一个抽象类的所有方法都是抽象的,则可以将这个类用另外一种方式来实现,即接口。在定义接口时,需要使用interface关键字进行声明:interface Animal{ int ID=1;//常量 void breathe();//抽象方法 void run();}会发现接口中的方法没有使用abstract关键字进行修饰,这是因为接口中的方法默认使用“public abstract“进行修饰,即抽象方法。接口中的变量默认使用 public static final 进行修原创 2020-07-21 08:24:05 · 7711 阅读 · 0 评论 -
java抽象类
在定义方法时不含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰,例如:abstract void shout();当一个类包含了抽象方法,该类必须使用abstract关键字来修饰,使用abstract关键字修饰的类为抽象类注意:在定义抽象类时,可以不包含抽象方法,但包含抽象方法的类必须声明为抽象类。抽象类是不可以被实例化的,这是因为抽象类中可能包含抽象方法,抽象方法是没有方法体的,不可以被调用。如果想要调用抽象类中定义的方法,需要创建一个子类,在子类中将抽象类的抽象方法实现原创 2020-07-21 07:59:12 · 7747 阅读 · 0 评论 -
IDEA快捷键显示重载
Ctrl+ Alt +Space显示该方法的其他重载等等原创 2020-07-14 09:39:55 · 11033 阅读 · 2 评论 -
new关键字和newInstance()方法的区别?Class.forName()
类的加载方式不同在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法的时候,必须保证这个类已经加载并且已经连接了,而这可以通过Class的静态方法forName()来完成的。使用关键字new创建一个类的时候,这个类可以没有被加载,一般也不需要该类在classpath中设定,但可能需要通过classlaoder来加载。所调用的构造方法不尽相同ne...原创 2020-07-20 16:35:41 · 7743 阅读 · 0 评论