Java多线程(二)实现多线程的三种方法之Thread类
摘要:Java实现多线程的三种方法 继承Thread类 实现Runnable接口 实现Callable接口,这JUC并发包下的,属于比较高级的用法 一:继承Thread类的步骤: 继承Thread类 重写run方法 调用start方法启动多线程.run是普通方法,只有调用start()方法才能启动多线程。
阅读全文
Java静态代码块,普通代码块和构造函数的执行顺序
摘要:1.静态代码块和普通匿名代码快都比构造函数先运行 2.静态代码块比非静态代码块先执行。 3.静态变量、静态方法都属于类,类加载时便有了,而此时还没有对象 示例: public class Demo { public static void main(String[] args) { A a = ne
阅读全文
Java中的普通类、抽象类、接口的区别
摘要:知乎: https://zhuanlan.zhihu.com/p/94770324 接口JDK1.8 https://zhuanlan.zhihu.com/p/86191186 https://www.runoob.com/java/java-interfaces.html 其它 https://z
阅读全文
Java的多线程(一)
摘要:并发:指两个或多个事件在同一时间段内发生 并行:指两个或多个事件同时发生。 进程:内存中的运行的程序 线程:线程是进程中的一个执行单元。 关于线程与进程的具体区别: https://www.cnblogs.com/qianqiannian/p/7010909.html 线程调度的方法: 分时调度,所
阅读全文
Java的File类之打印文件以及文件夹,递归调用
摘要:代码 import java.io.*; public class FileDemo { public static void main(String[] args) { String path = "D:\\ideaSpace\\LearnJava01"; File file = new File
阅读全文
Java的输入与输出流InputStream/OutputStream
摘要:先看InputStream和FileInputStream的结构 操作输入流的步骤: 创建源 选择流 操作 释放源 代码示例: import org.testng.annotations.Test; import java.io.*; public class FileDemo { @Test pu
阅读全文
Java的File类浅析
摘要:File类,输入输出流基本上是离不开File类的。 File类里面常用的构造方法 File(String pathname) File(File parent, String child) File(String parent, String child) File(URI uri) 常用实例方法
阅读全文
Java的Collection,List,ArrayList,LinkedList
摘要:先来看看Collection,List,ArrayList,LinkedList它们之间的关系 Collection/Iterable/List都是接口。 List是有序的可重复的,这一点可以从官方文档中得出。 List是一种有序的集合 An ordered collection (also kno
阅读全文
Java方法的递归调用求100以内自然数的累加和以及斐波拉契数列
摘要:问题: 求100以内自然数的累加和。1+2+3+4+5...+98+99+10 考察:方法的递归调用 难点: 递归调用可以看作的循环,既然时循环就要有结束循环的条件,不然就是个死循环。 方法一: 用for循环来实现累加求和。难点在于,要定义一个变量"sum"来接收每次相加的和。 @Test publ
阅读全文
Java求100以内的质数的四种方法
摘要:质数: 又称素数,只能被1和它本身整除的数就是质数。 难点: 需要两层循环,外层循环99遍; 内层循环,控制除数为2到98(也就是2到被除数前面的一个数)。 为什么从2开始?因为所有数都能被1整除。 需要定义一个变量flag来记录某个数是不是质数 内层循环结束后需要重新把flag重置为true 方法
阅读全文
Java二分查找(折半查找)
摘要:难点: 查找之前必须把数组排序,从大到小或从小到大都可以,不排序没法查找。 定义三个变量,min代表数组的开始脚标;max代表数组的结束角标,mid代表数组的中间角标 如果要查找的数大于数组Array[mid],则把min的值设置为mid+1; 如果要查找的数小于数组Array[mid],则把min
阅读全文
Java冒泡排序
摘要:冒泡排序通过比较相邻两个数的大小来排列顺序。 难点: 需要两层循环 需要交换相邻两个数组元素的值 下面这段代码,只有一层循环。这个循环执行完毕时只是找出了最大的数,剩下的数并没有排序。 import org.junit.Test; import java.util.Arrays; public cl
阅读全文
Java数组的三种初始化方法
摘要:import org.junit.Test; //import org.testng.annotations.Parameters; public class Demo { @Test public void test() { //数组的静态初始化 int a[] = {2, 0, 1, 9, 20
阅读全文
Java的抽象类与抽象方法(abstract class and abstract method)
摘要:为什么需要抽像Abstract 当多个类出现相同的功能,而只是功能的主体不同时,可以向上抽象。 所谓抽象就是,只抽取功能的定义,而不抽取功能的主体 抽象Abstract,简单理解就是:看不懂。 抽样类的特点: 抽象方法一定定义在抽象类中,但抽象类中的方法不必全是抽象的,也可以有非抽象的方法。 只要类
阅读全文
Java中的static关键字
摘要:1.static可以用来修饰类的成员:成员变量和成员方法 2.static修饰的类成员的特点: 随着类的加载而加载,随着类的消失而消失,也就是说它的生命周期最长。 优先于对象的存在,静态先存在,对象后存在 被所有对象共享 可以直接被类名调用,也可以用对象调用 3.实例变量和类变量的区别: 实例变量存
阅读全文
Java中this关键字的作用
摘要:This 的作用 解决类变量与局部变量重名问题 this永远代表的是调用某个变量或方法的类对象 先看看没有this的情况 class Person { private String name; Person(String name) { name = name;//这里的两个name都是构造方法形参
阅读全文
java的构造函数和构造代码块
摘要:一:构造方法 Java当中有两种函数:构造函数和普通函数(实例函数)。 构造函数的特点: 构造函数的函数名字与类名相同 构造函数不可以定义返回值 构造函数不可以写return语句 每个类默认有一个无参数构造函数 构造函数可以重载但不能重写 构造函数的作用: 给对象进行初始化 注意:虽然每个类都有一个
阅读全文
java的private权限修饰符
摘要:Java四大特性:抽象,封装,继承,多态。 java四大权限修饰符:public,protected,default,private.private这个关键字可以帮我们实现java的封装。 封装: 何为封装?我的理解就是,在一个java类里面,成员变量设置为private,不让其它类直接访问这个pr
阅读全文
Spring MVC RequestMapping的使用方法
摘要:1.这是Spring的官方文档 https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping 2.老外写的,很有参考价值 https://springfram
阅读全文
Java Spring MVC的视图解析器
摘要:没有使用Spring MVC 试图解析器之前的java controller package com.qa.controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bi
阅读全文