java编程
Jeson-Sun
学无止境
展开
-
Java设计模式--单例模式
一、单例模式简介单例模式是Java中最简单的设计模式之一。这种设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模式类负责创建自己的对象,同时确保只有一个对象被创建,提供了一个访问其唯一对象的方式,可以直接访问,不需要实例化这个对象。二、单例模式的要素单例模式类只能有一个实例,需要私有其构造方法,确保只有自己能创建实例。单例模式类需要给其他对象提供一个访问其实例的全局方法。三、单例模式的简单实现方式1.饿汉式饿汉式是在单例类初始化加载时就创建一个单例对象供外部使用。但这个方式会原创 2021-03-25 14:16:34 · 105 阅读 · 0 评论 -
Java四大函数式接口
新时代的程序员:lambda表达式,链式编程,函数式接口,Stream流式计算1.什么是函数式接口?只有一个抽象方法的接口。2.Java四大函数式接口2.1 Function函数式接口Function函数式接口,有一个输入参数,有一个输出实例:package com.lee.Java四大函数接口;import java.util.function.Function;public class FunctionDemo { public static void main(S原创 2021-03-24 00:40:58 · 259 阅读 · 0 评论 -
JAVA集合类不安全
1.ArrayList集合不安全package com.lee.集合不安全;import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;/* java.util.ConcurrentModificationException,因为并发下ArrayList不安全,ArrayList就是一个可扩容的数组*//* 解决方案: 1.使用Vector,因为它是并发安全的;为什么呢?因为Vector底层是原创 2021-03-22 15:58:43 · 103 阅读 · 0 评论 -
JVM(详细易懂)
JVM1.JVM的位置JVM它是运行在在操作系统之上,说白了它就相当于是操作系统上的一个软件。操作系统又在硬件体系之上,它们相互之间联系。2.JVM体系结构.java文件:java源代码Class File:Java Class文件(字节码文件)类加载器:通过一个类的全限定名来获取其定义的二进制字节流(Class字节码),将这个字节流所代表的静态存储结构转化为方法去的运行时数据接口,根据字节码在java堆中生成一个代表这个类的java.lang.Class对象。方法区:属于共享内存区原创 2020-12-27 23:01:20 · 215 阅读 · 0 评论 -
Java注解和反射(详细)
1.注解—Annotation1.1什么是注解注解就是源代码的元数据,通熟的讲就是代码中的标签。1.2注解的作用不是程序本身,但可以对程序做出解释。可以被其他程序读取1.3注解的格式注解是以"@+注释名"注解在什么地方使用可以附加在packpackage,class,method,filed等上面,相当于给他们添加了额外的辅助信息。2.反射2.1动态语言和静态语言动态语言:是一类在运行的时候能改变其结构的语言,例如新的函数,对象,甚至代码可以被引进。主要的语言有Py原创 2020-12-26 15:08:39 · 583 阅读 · 0 评论 -
Java多线程(详细最全)
**一.1.程序 进程 线程**程序:程序是指令和数据的一个有序集合,其本身没有任何运行的含义,是一个静态的概念。进程:进程是程序执行的一个过程,它是一个动态的概念,是系统资源分配的单位。例如:我们的播放器,游戏等等线程:线程是CPU调度和执行的单位,例如:我们程序中的main()被称为主线程,为系统的入口,用于执行整个程序。小结:一个进程至少包括一个线程,不然就没有存在的意义。在程序运行时,即使没有创建自己的线程,后台仍然还会有很多线程,例如:main()线程,gc线程等原创 2020-12-25 14:31:12 · 348 阅读 · 0 评论 -
Java集合框架(详细)
集合什么是集合:集合可以看做一种容器,什么容器呢?用来存储数据对象信息的容器。集合与数组的区别:数组也是用来存储数据的,但它俩的区别在于数组的长度是不可以变的,数组不能用来存储带有映射关系的数据;而集合的长度可变,经常用来存储不确定数量的数据,集合也可以用来存储带有映射关系的数据。(主要是通过Map接口)数组可以用来存储基本数据类型数据,也可以存储对象信息;但集合只能用来存储对象信息。集合框架:定义:通俗一点来说,就是由各种集合类所构成的框架。集合框架图:(这里我引用了别人画的框架图原创 2020-12-10 15:54:49 · 151 阅读 · 0 评论 -
Java IO流(详细)
IO流流:可以理解为是一个数据的序列,输入流代表从一个源读取数据,输出流表示将数据写入一个目标中。什么是IO流:用来输出输入的流,也可以理解为IO流就是以流的方式来进行输出输入。水源地是产水的地方(相当于是源)自来水厂的水从哪来呢?从水源地输入。(相当于IO流中的输入流)自来水厂的水要去哪呢?他将输出到用户手中。(相当于IO流中的输出流)缓冲区:一个用于基本数据类型的容器。为什么我们想要水就会有水呢?那是因为用户和自来水厂之间有一个储水池。同样Java中也有一个储水池,叫做缓冲区。原创 2020-12-09 21:46:22 · 962 阅读 · 0 评论 -
JAVA异常
异常:Java中的异常指程序中的一些错误,但并不是所有的错误都是异常,因为有的错误是可以避免的。例:当程序当中因为少写了一个分号,这个时候就会运行结果就会出现一个错误-Java.lang.Error;而当我们输出10/0是就会出现一个异常-java.lang.ArithmeticException,因为0不能作为被除数。要理解Java中异常处理是如何工作的,我们就需要了解一下3种异常检查性异常(IOException):通俗来说,检查性异常就是在编译时能够捕捉到的异常。例如打开不存在的文件等引发的原创 2020-12-08 21:32:47 · 88 阅读 · 0 评论 -
JAVA接口
什么是接口:官方语言:接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。我的理解:它是一种特殊的类,特殊在它里面全是由全局常量和公共抽象方法组成,接口它是解决Java语言无法多继承的一种方法,但它更多的则是用来制定标准。(何为标准,标准就是类需要实现我这个接口,那就必须先实现我里面设置的某些方法)为什么要用接口:接口被用来描述一种抽象。接口可以解决Java当中的多继承。原创 2020-12-08 15:07:30 · 363 阅读 · 0 评论 -
Java多态
多态:JAVA中的多态即同种行为有多种不同表现形态。通俗一点来说就是使用同一个接口,使用不同的实例而执行不同的操纵。多态意义何在:消除类型之间的耦合关系可扩充性灵活性接口性通俗一点:既可以使用子类强大的功能,又可以抽取父类的共性。多态存在的必要条件:存在继承存在重写向上转型(父类引用指向子类对象)*重点理解,这是多态的关键上代码:package java_demo.多态;public class Duot { public static void main(St原创 2020-12-08 00:07:35 · 117 阅读 · 0 评论 -
JAVA封装
封装:什么是封装,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。通俗一点来说就是把类中的某些信息进行隐藏,从而使外部程序不能直接对这些信息进行直接的访问,只能通过类中定义的方法对这些隐藏的信息进行操作和访问。目的:使其他类只能通过操控类中的对象来直接达到目的,不能看到具体的实现和属性,从而提高了程序的安全性和便利性。隐藏信息,实现便利。封装的实现步骤:通过访问限制符修改类中属性的可见性,从而限制对类中属性的访问。 public class原创 2020-12-07 22:09:20 · 4323 阅读 · 1 评论 -
什么是Java中的递归方法
递归:递归指的是在函数的定义当中调用自身函数的方法举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’"其实递归思想就和这个故事相差不大。语法格式如下:public void digui(){ digui();}public static void main(String args[]原创 2020-12-06 23:10:46 · 576 阅读 · 2 评论 -
Java使用递归求解斐波那契数列
斐波那契数列:指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368……注意:此时我们需要注意的是该数列第一项是0,第二项是1,接下来的每一项则是前两项之和思路:这个题我们需要用到递归的方法,首先我们需要先解决数列前两项已知的项,我们首先定义一个静态函数feibonaqie(), 在函数当中,我们先利用一个if语句去判断前两项,如原创 2020-12-06 22:56:42 · 6818 阅读 · 2 评论