java学习
balences
stubborn is cool
展开
-
线程池
关于线程池的一些事情今天就主要说一下面试的时候关于线程池最常问的几个问题三大方法关于创建线程池的三个方法,ExecutorService pool = Executors.newSingleThreadExecutor();//单个线程ExecutorService pool1 = Executors.newFixedThreadPool(5);//创建一个固定大小的线程池ExecutorService pool2 = Executors.newCachedThreadPool();//可伸缩的原创 2020-07-20 23:34:04 · 160 阅读 · 0 评论 -
反射学习
了解反射为什么要用反射?如果一个类的属性和方法不想在外部被访问时,我们只需将其设置为private或者protected即可,那有些情况下我们还需要访问类中私有的方法如何操作?这个时候就需要用的反射了,那么什么是反射呢?反射的概念Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(ref原创 2020-05-22 21:42:11 · 158 阅读 · 0 评论 -
二叉树前中后非递归遍历
如何求解非递归遍历关于二叉树的遍历,我们知道有递归来遍历它;但是,递归遍历二叉树太简单了,今天,我们来看一下如何用非递归的方法遍历二叉树;非递归前序遍历二叉树:思路:借助栈1:如果是空树,返回2:非空,将根节点入栈3:循环一下操作。3.1:取栈顶元素cur不删除3.2:遍历该元素3.3:删除栈顶元素3.4:如果cur的右子树存在,将右子树入栈3.5:如果cur的左子树存在,将...原创 2020-03-14 23:01:49 · 119 阅读 · 0 评论 -
认知二叉树
初识二叉树在说二叉树之前,先来对树有一个认知吧。树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。树的一些基本特性:...原创 2020-03-03 14:02:06 · 154 阅读 · 0 评论 -
栈与队列
简单说明栈与队列1:什么是栈?**栈**就是一种特殊的线性表,允许在固定的一端进行插入和删除元素操作,进行元素插入和删除的一端称为栈顶,另一端位栈底。栈中元素遵循 后进先出的规则。这个图可以直观地看出它的特点。它可以利用顺序表来实尾插和尾删操作。public class MyStack{ //先不考虑扩容问题了 private int[] array = new int[100];...原创 2020-02-15 19:36:59 · 77 阅读 · 0 评论 -
集合框架
集合框架入门1:什么是集合框架?集合框架也可以看作是容器,是java.util包下的一组接口和实现类,主要就是对一组元素的增删查改。集合按照**存储结构**可以分为两大类,为单列集合java.util.Collection和双列集合java.util.MapCollection有两个重要的子接口,分别是java.util.List和java.util.Set注意:List的特点是元素无序...原创 2020-01-13 23:09:13 · 178 阅读 · 2 评论 -
认识字符串String
String的美妙之处1:如何创建一个字符串?方式一:String str = "Hello Bit";方式二String str2 = new String("Hello Bit");方式三char[] array={'a','b','c'};String str=new String(array);2: String是一个引用类型;所以对于以下代码:String ...原创 2019-12-15 23:55:51 · 96 阅读 · 0 评论 -
接口和抽象类
接口和抽象类今天我看了接口和抽象类,对此我有了自己的理解和想法,首先我们要明白这二者之间是有区别的1:什么是抽象类?抽象类就是没有实际工作的方法, 我们可以把它设计成一个 抽象方法(abstract method), 包含抽象方法的类我们称为 抽象类(abstract class).下面就是一个抽象类,既包含了抽象方法,也有一些自己的属性和普通方法public abstract clas...原创 2019-11-18 17:18:20 · 402 阅读 · 0 评论 -
初识继承与多态
继承与多态1.为什么会出现继承呢?因为平时在写代码的时候会出现许多的相同的代码,这就出现了代码的冗余,这时候用继承就可以解决这个问题。public class Animal { public String name; public Animal(String name) { this.name = name; ...原创 2019-11-13 23:54:16 · 169 阅读 · 0 评论 -
类与对象
类与对象的认知最近学习了类与对象,我对java有了进一步的认识,java里面可以将万事万物包装为对象,以对象来解决问题容易多了,不用在乎过程。oop:面向对象程序语言设计oop语言的三大特征:继承,封装,多态1:类是什么?类就相当于一个模板,用它来创造对象一个类可以创造多个对象2:什么是对象?对象就是一个类的实例,3:如何创造出一个对象?class Person{ publi...原创 2019-11-04 23:20:36 · 380 阅读 · 0 评论 -
数组的相关方法
数组的魅力数组本质上就是让我们可以批量创建相同类型的变量数组可分为:一维数组,二维数组以及多维数组,今天我们着重看一下一维数组,二维数组也用的比较少,常用的就是一维数组了。1:创建一维数组有以下方法: int[]a={1,2,3,4}; //静态初始化 int[]b=new int[]{1,2,3,4,5}; //动态初始化,new出来的对象在堆上 int[]c...原创 2019-10-19 21:18:16 · 169 阅读 · 0 评论 -
汉诺塔问题求解
汉诺塔问题下面是汉诺塔问题:汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?汉诺...原创 2019-10-17 18:50:44 · 448 阅读 · 0 评论 -
制作一个日历表
如何制作日历表首先要明白 Date类,DateFormat类,Calendar类分别是干什么的,它们有什么方法,可以实现什么功能,只有明白了这些,才能够制作一个日历表Date类:setTime(long date) ,使用给定的毫秒时间值设置现有的 Date对象。Date类大多方法已经弃用了,常用的就是这个,一般用他的子类DateFormat较多Dateformat类:可以实现字符串和时间...原创 2019-10-14 21:43:00 · 1314 阅读 · 0 评论 -
如何传对象
如何传对象在java里面要交换两个数的值,最好按对象或者引用传递,因为按值传递无法成功改变两个数的值。1:可以先建一个类,定义一个n,package AK.homeWork;public class test { int n; }2:创建类的对象并调用n并且给值s输出 test a1=new test(); test b1=new test(); ...原创 2019-10-13 22:41:40 · 303 阅读 · 0 评论