![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 54
wuli_凡凡
想通过写技术博客和大家交流
展开
-
递归的理解
递归的例题,给读者思考原创 2022-08-03 16:23:20 · 524 阅读 · 0 评论 -
java基础-增强for循环
增强for循环,比普通的for循环简洁多了,必须要熟练输出一维数组 String[] ni=new String[]{"国家","nih"}; for (String i : ni) { System.out.print(i+"\t"); }输出二维数组 for (int[] arr : dp) { for (int num : arr) { Sys原创 2020-11-11 15:26:41 · 128 阅读 · 0 评论 -
反射
反射是JAVA开发的高级特性,官方概念如下:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。其实就是,反射可以知道任意类或对象的属性和方法,比如,我建立了一个student类如下,内含公有,私有的属性和方法:package c...原创 2019-12-20 09:10:31 · 95 阅读 · 0 评论 -
线程池小结
系统启动一个线程的成本很高,所以用线程池可以很好的提高性能,特别是,需要创建大量生命期很短的线程,更应该用线程池。线程池在启动的时候,就会创建大量空闲的线程,程序将Runnable,callable对象传给线程池,线程池就会启动一个线程执行run()或call()方法。执行完之后,线程也不会死,而是继续返回线程池,变成空闲的线程。1.创建线程池由Executors工厂类中的某个静态工厂...原创 2019-07-18 16:12:24 · 98 阅读 · 0 评论 -
多线程知识点总结:
1.继承Thread类,重写run方法,调用start方法。这个方法是多线程中最简单的,但也是最普通的。package cn.com.Thread;/*创建多线程继承Thread类,重写run方法,调用start方法 */public class FirstThread extends Thread{ private int i; public void r...原创 2019-07-18 15:07:05 · 1331 阅读 · 1 评论 -
ubuntu下安装jdk
ubuntu下的jdk,氛围open jdk和oracle jdk两种,前者是开源的,其实也行。不过大部分人使用的还是oracle jdk。有些博客推荐用ppa的方式安装,但这个安装的链接被墙了,所以经常会安装失败。现在介绍另一种,手动解压安装。1.下载,并解压缩先去 oracle官网上,下载linux,64位的安装包,这里以tar.gz为例。链接如下https://www.ora...原创 2019-07-15 20:27:31 · 972 阅读 · 2 评论 -
抽象类
为什么要使用抽象类?我们已知,抽象类不能创建实例,只能当父类来继承,所以抽象类体现的是一种模板模式的设计,提供方法名给子类自己去实现。抽象类的特点:抽象类可以含有抽象方法,抽象方法只有方法名,没有方法体,因为不关心怎么实现。通过其他类来继承抽象类,重写抽象方法来实现。抽象类可以没有抽象方法,但是有抽象方法的一定是抽象类。具体示例代码如下:Shape.javapacka...原创 2019-07-09 14:21:05 · 98 阅读 · 0 评论 -
this关键字
在java基础中,this关键字有什么用呢?答:让类中的一个方法,访问类中另一个方法或实例变量。先看代码:Dog.javapackage cn.com;public class Dog { public void jump(){ System.out.println("正在执行jump方法"); } public void run(){...原创 2019-07-09 13:38:20 · 120 阅读 · 0 评论 -
java基础--向上转型
我们在写继承的时候,经常会用到向上转型。那么在创建对象的时候,向上转型会调用谁的方法或变量呢,看下面的例子package cn.com;class BaseClass{ public int book = 6; public void base(){ System.out.println("父类的普通方法"); } public void t...原创 2019-07-09 11:34:28 · 5834 阅读 · 4 评论 -
String类为什么是不可变的
String,StringBuilder,StringBuffer是经常考的东西其中,String是不可变的。为什么呢,简单解释如下:String类new了一个对象后,我们看到的该对象只是引用,存放了真正内存的地址。并不是真的内存值,如果修改它,会重新生成一个对象的内存值,然后重新引用。为什么这样处理呢,其实有内部原因。那就是,String类下面的成员函数,value,offset,cou...原创 2018-09-07 15:43:09 · 166 阅读 · 0 评论