简单入门java
文章平均质量分 54
基础知识
shadow___h
这个作者很懒,什么都没留下…
展开
-
函数式接口的简单理解
文章目录函数式接口(都只有一个需要我们实现的方法)1. 函数式接口 Function2. 供给型接口 Supplier3. 断言型接口 Predicate4. 消费型接口 Consumer函数式接口(都只有一个需要我们实现的方法)1. 函数式接口 Function@FunctionalInterfacepublic interface Function<T, R> { // 将此函数应用于给定的参数。 // 传入T 返回R的类型 R apply(T t);原创 2021-04-21 12:23:56 · 262 阅读 · 0 评论 -
多线程使用的三个工具类:CountDownLatch,CyclicBarrier,Semaphore
文章目录多线程使用的三个工具类:CountDownLatch,CyclicBarrier,SemaphoreCountDownLatchCyclicBarrierSemaphore多线程使用的三个工具类:CountDownLatch,CyclicBarrier,SemaphoreCountDownLatch减法计数器构造方法 public CountDownLatch(int count) { if (count < 0) throw new IllegalAr原创 2021-04-20 12:43:34 · 384 阅读 · 0 评论 -
ArrayList在多并发下的不安全问题以及解决方法
文章目录ArrayList在多并发下的不安全问题以及解决方法**为啥不安全**1. 使用Vector()数组来解决这个问题2. 使用Connections集合3. 使用 CopyOnWriteArrayListArrayList在多并发下的不安全问题以及解决方法为啥不安全多线程并发插入元素和读取元素的时候会出现 ConcurrentModificationException public static void main(String[] args) { ArrayL原创 2021-04-19 21:42:38 · 706 阅读 · 0 评论 -
JAVA中代码块,静态代码块,构造方法的执行顺序
文章目录父类子类main方法结果结论父类package Test;public class Parent { private static String s = "abc"; private String o = "def"; static { System.out.println("Pa static"); } public Parent() { System.out.println("Pa cons"); }原创 2021-03-23 18:32:50 · 75 阅读 · 0 评论 -
认识Java中的异常
文章目录认识Java中的异常LBYL 和 EAFP认识异常异常的分类处理异常的方法两种方法的比较我们处理异常的时候一般是抛出异常和自己处理异常的方法相结合线程中出现异常的话认识Java中的异常LBYL 和 EAFPLBYL (look before you leap) 在操作的时候就做充分的检查EAFP (Easier to Ask Forgiveness than Permission)先操作遇到问题再处理就比如你想吃你妹妹的零食,你先问你妹妹可以吃嘛,你妹妹同意后再去吃,就是LBY原创 2021-01-23 21:27:00 · 330 阅读 · 1 评论 -
Java中简单的数据比较
数据的比较这个代码实现都放在了maven项目的单元测试中int数据类型的比较基本数据类型之间的比较 == 都是比较字面量 @Test public void test1_3(){// 测试通过 int i1 = 127; char c = (char) 127; Assert.assertTrue(i1 == c); } @Test public void test1_4(){// 测试通过原创 2020-12-13 20:11:16 · 562 阅读 · 0 评论 -
JAVA中序列化和反序列化
Java中的序列化和反序化背景比如我们在两台电脑上传输数据,A电脑构造了并且发送了一段数据,但是在传输过程中需要转化成bit流才可以发送过去,而B电脑接收这段数据后,需要让人看得懂,就需要把bit流转化成这种数据。序列化和反序列化把JAVA对象转化成字节序列的过程就被称为序列化。把字节序列恢复成Java对象的过程就被称为反序列化。什么时候需要使用序列化和反序列化一般当我们需要将内存中的对象状态保存到数据库或者文件中的时候。用套子节在网络上传输数据的时候。简单的代码使用packag原创 2020-11-30 17:03:57 · 98 阅读 · 0 评论 -
一篇博客带你了解java中的异常机制以及异常的分类和异常的分类
Java中的异常机制Throwable是JAVA语言中所有错误或异常的超类,下一层分为error或者Exception。Error:Error类是指系统的内部错误和资源耗尽的错误,应用程序不会抛出该类对象,如果出现这样的错误,应用程序会尽量让程序安全的终止。Exception又有两个分支 , 一 个是运行时异常 RuntimeException , 一个是 检查异常CheckedException。RuntimeException 如:NullPointerException、ClassCast原创 2020-10-15 22:28:41 · 75 阅读 · 0 评论 -
用java实现一个简单的图书管理系统
首先我们需要实现有关书的两个类package Book;public class Book { private String name;//名字 private String price;//价格 private String author;//作者 private boolean isBorrow;//是否借出 public Book() { ...原创 2020-04-12 00:14:05 · 1750 阅读 · 4 评论 -
String的常量池和String不可变
字符串常量池String str1 = "hh";String str2 = "hh";String str3 = "hh";System.out.println(str1 == str2);//trueSystem.out.println(str2 == str3);//true我们应该知道String是一个引用类型,str1 str2 str3 内存储的是这个"hh"的地址,这就...原创 2020-04-08 17:50:05 · 197 阅读 · 0 评论 -
异常Exception的处理
我们可以很简单的认为将异常定义为程序运行时所发生的非正常状况。我们必须清楚的认知到异常不同于错误,错误发生后程序是不能编译的,而异常一般是再程序编译途中所发生的。第一种处理方式,异常捕获try { for (int i = 0; i < 6; i++) { System.out.println(arrays[i]); }} catch (ArrayIn...原创 2020-04-06 23:00:38 · 251 阅读 · 0 评论 -
Cloneable接口
Cloneable的使用,在我看来就是为了当你创建两个对象的时候,虽然两个对象的所表达的内容一样,但引用不一样,通俗的来说就是当你改变另一个对象的内容时,不会引起另一个对象内容的改变,也就是说不会让两个对象指向同一个引用。创建一个简单类public class Person implements Cloneable{ private String name; private i...原创 2020-04-06 22:16:41 · 103 阅读 · 0 评论 -
Comparable接口
Comparable接口一般是用来比较大小,然后将一个类的数组进行排序的时候来使用的。可以让其使用**Arrays.sort(数组名);**来进行排序用代码举例首先我们实现一个简单的Student类,但是这个Student类需要用接口继承Comparaable并且后面要加上/ <类名>public class Student implements Comparable<St...原创 2020-04-06 21:38:13 · 226 阅读 · 0 评论 -
接口
接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法, 和字段. 而接口中包含的方法都是抽象方法, 字段只能包含 静态常量众所周知,java用extends只能实现单继承的,而接口时是为了实现多继承的。首先我们实现一个抽象类public abstract class Car { private String carName; private String carNum;...原创 2020-04-06 20:02:38 · 142 阅读 · 0 评论 -
抽象类与抽象类的继承
没有实际工作的方法, 我们可以把它设计成一个 抽象方法,而包含抽象方法的类我们称之为抽象类我们将汽车的所加的燃料设计成一个抽象方法,将其放入类中,就构成了一个抽象类public abstract class Car { private String carName; private String carNum; public String getCarName() ...原创 2020-04-06 17:28:24 · 3094 阅读 · 0 评论 -
Java中类的继承
基本语法子类 extends 父类 { }1.java当中只能继承一个类,单继承。2.父类的私有属性和方法不能在子类中被访问。3.子类继承了父类中除了构造方法外的所有东西。4.子类继承了父类,子类包含父类中所有的属性。5.如果有一个类不想被继承,只需要在类名前加一个final。final修饰的类叫做密封类。6.super关键字,继承父类中的属性。就以下面的代码来陈述所述问题。父类...原创 2020-04-02 22:15:26 · 2649 阅读 · 0 评论 -
Java中的代码块
什么是代码块使用{}定义的一段代码代码块可以分为四种1.普通代码块public class Main { {//普通代码块 int a = 10; } int a = 20; }2.构造代码块(实例代码块)定义在类中代码块,不加修饰符。public class Main { class Calculator { pr...原创 2020-03-22 21:34:23 · 100 阅读 · 0 评论 -
this,static关键字,
static关键字1.修饰类中的属性,2.修饰关键字3.修饰代码块4.修饰类(这篇博客不做阐述)//修饰属性时,属性变为静态属性,class TestDemo{ public int a; public static int count; }//修饰方法时class TestDemo{ public int a; public st...原创 2020-03-20 12:03:13 · 72 阅读 · 0 评论 -
java中的类和对象
类是面向对象的,一切我们只是定义一类事物,不是面向过程的。Java中简单的构造一个类一个类中一般有:属性,方法,代码块,接口这篇博客中只简单阐述类中的属性属性一般有三种:public,private,protectedpublic是公有属性,是比较容易访问且易被改变class Person { public String name; // 字段 public int a...原创 2020-03-20 11:42:49 · 91 阅读 · 0 评论 -
Java中简单的数组拷贝
首先我们需要了解的是什么是数组的拷贝,就是将一个数组中的内容完全的复制在另一个数组中,一般数组的拷贝都是浅拷贝,我们要了解的是浅拷贝一般都是引用类型,若是深拷贝,我要知道深拷贝是直接改变其中一个的值,而不会通过引用。数组的拷贝一般是有四种方法,而这四种方法都是浅拷贝。1,我们自己写一个函数来进行数组的拷贝,这种代码还是非常简单的。import java.util.Arrays;public...原创 2020-03-16 17:13:09 · 102 阅读 · 0 评论 -
java中汉诺塔和青蛙跳台阶的递归问题
青蛙跳台阶问题:假设有n个台阶,青蛙每次可以跳一次或者两次,跳上去有多少种方法import java.util.Scanner;public class Frog { public static int frog(int i) { if(i == 1) { return 1; } else if (i == 2){ ...原创 2020-03-15 20:54:42 · 94 阅读 · 0 评论 -
java中的方法的重载
首先我们要明白的是什么是方法的重载,java中的方法相当于C语言中函数。而重载可以理解为写了几个方法,方法名相通,但函数可以正常运行。也就是同一个方法名,提供不同的实现。重载的规则:1.方法名相通2.方法的参数不同(参数个数或者参数类型)3.方法的返回值类型并不影响重载代码示例import java.util.Scanner;public class Start { pub...原创 2020-03-09 16:58:33 · 173 阅读 · 0 评论 -
Java方法中的迭代和递归
迭代就是循环,可以这样简单的理解。递归:可以理解为采用分治的方法,分而治之,大事化小,大的问题,化解成为一个小问题来解决。递归的要求:1.一个程序需要调用自己本身。2.必须有趋近于终止的条件。(若是不给这个终止条件,栈将会溢出。每一个方法的调用时需要在栈上开辟内存的,而栈是有大小的。最终可能会把内存占满。)递归的原理:函数的运行需要开辟栈帧,只需要运行一个函数,就需要在栈上开辟内存。这...原创 2020-03-08 21:23:13 · 122 阅读 · 0 评论 -
JAVA中循环结构和C语言的循环结构有何不同
首先我们需要明白的是C语言中非0位真,0为假。然后在Java中是没有这个概念的,Java中的布尔类型(boolean)只存在true和flas这两个值。而向while()循环 do_while()循环 if()语句中括号的表达式都是布尔表达式,只有在括号中的布尔表达式为真的时候,循环才会继续。而for(表达式1;表达式2;表达式3) 其中表达式2为布尔类型,我们一定要明确java中布...原创 2020-03-08 21:09:44 · 1543 阅读 · 0 评论 -
水仙花数,四叶玫瑰数
import java.lang.Math;public class TestLi { public static void main(String[] args) { for ( int i = 1; i <= 999999; i++) { int temp = i; int count = 0; while(temp != 0) { temp...原创 2020-03-07 20:04:04 · 940 阅读 · 0 评论 -
超级简单的乘法口诀
for 循环public class Mult { public static void main(String[] args) { int i = 1; int j = 1; for(i = 1; i <= 9; i++) { for(j = 1; j <= i; j++){ System.out.print(" " + j + "*" + i + "=...原创 2020-03-06 20:49:22 · 144 阅读 · 0 评论 -
Java的一些简单运算符
赋值运算符大类型赋值给小类型时,程序编译会错误,需要强制类型转换小类型给大类型赋值,无需强制类型转换。隐式类型转换注意:boolean不能和其他类型进行转换。public class Gift { public static void main(String args[]) { int a = 10; long b = 20L; a = (int)b; //b = a;...原创 2020-02-29 16:35:57 · 92 阅读 · 0 评论 -
java一些简单基本常识
java的数据类型有八种基本数据类型分别为:int long float double short byte boolean引用数据类型:String 数组 枚举 接口变量的命名硬性指标:一个变量名只能包含数字,字母,下划线;数字不可以开头;变量名的大小写必须区分;软性指标:变量名最好具有描述性,见名知意;变量名不宜使用拼音;变量名推荐使用名词;变量名推荐使用小驼峰命名法。变量:运行...原创 2020-02-29 13:52:46 · 146 阅读 · 0 评论 -
java的数据类型
在java中没有64位平台和32位平台之分,一般都数据类型的字节数都是确定的整形int 四个字节 整形long 八个字节 长整形public class Start { public static void main(String args[]) { int a = 10; System.out.println("a = " +a); long b = 20...原创 2020-02-28 19:12:17 · 108 阅读 · 0 评论 -
冯诺依曼体系结构一些了解
冯诺依曼体系结构冯诺依曼体系结构广泛的运用于计算机中,均采用二进制码进行计算。 冯诺依曼体系结构分为输入设备,输出设备,运算器,控制器,内存储器和外存储器。 输入设备:可以简单理解为键盘鼠标之类。 输出设备:屏幕。 运算器和控制器组成cpu。运算器进行算数运算和逻辑运算;控制器进行控制程序。 内存储器:一般我们写的程序在里面进行运行(程序跑的地方) 外存储器...原创 2020-02-28 16:17:52 · 339 阅读 · 0 评论