java基础
Java基础
一个Java小白
坚持,自律……
人菜就要多学习。生活在优秀的人的身边,就要努力变得更优秀
梦想是当一条咸鱼
展开
-
Java复习(二)----数组
对于数组,我感觉是非常重要的,很多方面都用得到,在这里我会把数组有关的内容写下来。篇幅可能会有点长。什么是数组数组是同一数据类型的集合,数组一旦创建之后,大小就不可改变。元素按线性顺序排列。可以通过元素所在位置的顺序号(下标)做标识来访问每一个元素(下标从0开始,最大到元素个数-1)a[0]a[1]…a[n-1]1020…定义基本类型数组声明数组的方法:数据类型[ ] 数组名 = new 数组类型[大小]例如:int[] arr =.原创 2020-09-29 21:55:02 · 295 阅读 · 1 评论 -
Java复习(三)----三大特征
前面讲了基本数据类型和数组的有关知识点,现在来记录一下Java的三大特征Java的三大特征Java的三大特征是什么呢?封装、继承、多态一、封装1.1、什么是封装?封装就是把同一类事物的共性(包括属性和方法)归到同一类中,并尽可能的隐藏对象的内部实现细节。比如说,狗的属性包括品种,体重等,行为包括吃饭,睡觉等。1.2、为什么要封装即封装的意义1.2.1、为什么要封装能屏蔽方法的复杂性,比如只要知道方法的参数类型就可以使用方法,再说降低模块之间的耦合性,就是模块之间的联系,让之相互独立,能.原创 2020-10-05 13:50:12 · 544 阅读 · 1 评论 -
Java复习(四)----工厂模式详解
最近复习的时候发现了一些以前没怎么学的工厂模式,所以特意去网上找资料看,找了挺久,暂时发现这个博主写的挺好的,很容易入门。这两天代码中同事用到了java工厂模式,所以度娘搜索了下然后自己理解了之后记录在此,希望也可以帮助面对网上各种文档、文章很难理解的像我一样的新手。说到设计模式,想必大家都不陌生,基本上每一个java的初学者都听说过,说实话,结合笔者这一年多的写业务代码的经验来说,平时可能真的用不到这些设计模式或者用到了某个设计模式但是不自知,但是,一旦在代码中用到了某些设计模式的话,首先会让自己.转载 2020-10-08 20:40:32 · 467 阅读 · 0 评论 -
Java复习(五)----异常处理
在计算机程序运行的时候,总会出现各总各样的错误,有一些是人为造成的,有一些是随机出现的。现在我们就来说说Java的异常处理,有啥问题请指出,谢谢。异常处理什么异常Throwable捕获异常try...catch多catch语句finally语句抛出异常throws抛出异常使用throw抛出异常Java常见异常什么异常Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。Java的异常是class,并且从Throwable继承。在一个程.原创 2020-10-11 12:08:26 · 620 阅读 · 2 评论 -
Java复习(六)----反射(一)
什么是反射反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息。对反射更简单的解释就是:Java是个千年难遇的美女,但是美女有很多事情是规定不让你做的。而反射就是一把枪,有枪在手,你想让美女干嘛就干嘛。为什么需要反射一句话概括就是使用反射可以赋予JVM动态编译的能力,否则类的元数据信息只能用静态编译的方式实现,例如热加载,Tomcat的classloader等等都没法支持。反射是为了解决在运行期,对某个实例一无所知的情况下,如何调用其方法。Java的反射机制原创 2020-10-12 10:54:51 · 497 阅读 · 2 评论 -
Java复习(七)----反射(二)
现在我们继续学习反射。我们甘愿忍受眼下的痛苦,是因为我们没有别的选择。通过Class实例调用方法Class类提供了以下几个方法来获取Method:Method getMethod(name, Class…):获取某个public的Method(包括父类)Method getDeclaredMethod(name, Class…):获取当前类的某个Method(不包括父类)Method[] getMethods():获取所有public的Method(包括父类)Method[] getDe.原创 2020-10-12 19:50:18 · 274 阅读 · 1 评论 -
Java复习(一)---基本数据类型
本人之前因为个人原因有半年多没学过Java,现在感觉什么都不会了,所以打算重新学习一边,并在开始这里记录一些自己觉得比较难的或者重要的知识,因为我之前有一点基础,所以我记录的不会太详细。Java的基本数据类型java定义了以下几种基本数据类型:a.整数类型:byte,short,int,longb.浮点数类型:float,doublec.字符类型:chard.布尔类型:booleanJava定义这些基本数据类型有什么区别呢?这就要了解到计算机内存的基本结构了。计算机内存的最小存储单元是字.原创 2020-10-13 14:05:36 · 572 阅读 · 0 评论 -
Java复习(八)----泛型详解
最近复习到泛型,才发现之前对泛型的了解仅仅停留在表面,在CSDN中也有很多大佬发的很好的文章,我在这也记录一下我自己的学习过程,有错误请大家指出。本文参考Java泛型详解 Java泛型详解什么是泛型在了解什么是泛型之前,我们先观察Java标准库提供的ArrayList,他可以看作“可变长度”数组。实际上ArrayList内部就是一个Object[]数组,配合存储一个当前分配的长度,就可以充当“可变数组”public class ArrayList { private Object[] .原创 2020-10-18 18:40:18 · 655 阅读 · 5 评论 -
Java复习(九)----集合详解
什么是集合集合就是由若干个确定的元素所构成的整体。为什么要引入集合在数学中,我们经常遇到集合的概念。如:一个班所有同学构成的集合一个网站的所有商品全体自然数有理数集合…那我们为什么要在计算机引入集合呢?这是因为便于处理一组类似的数据。如:计算所有同学的总成绩列举所有商品的价格和名称…在Java中,如果一个Java对象可以在nebula持有若干个其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合。很显然,Java的数组就可以看作一种集合:String[原创 2020-10-24 16:55:01 · 402 阅读 · 0 评论 -
Java复习(十)----I/O详解(通俗易懂)
什么是I/O,什么是流IO是指Input/Output,即输入和输出。以内存为中心:Input指从外部读入数据到内存,例如,把文件从磁盘读取到内存,从网络读取数据到内存等等。Output指把数据从内存输出到外部,例如,把数据从内存写入到文件,把数据从内存输出到网络等等。在Java中程序中,对于数据的输入/输出 操作以“流”(stream)方式进行;J2SDK提供了各种各样的“流”类,用于获取不同种类的的数据;程序中通过标准的方法输入/输出数据文件里面存着各种各样的数据,我们想读这些数据怎么原创 2020-10-29 22:28:46 · 433 阅读 · 4 评论 -
Java复习(十一)----多线程(一)
线程的基本概念线程是一个程序内部的顺序控制流对于什么是线程,理解好这句话就足够了:线程是一个程序里边不同的执行路径线程和进程的区别在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程,类似的,音乐播放器和Word都是进程。进程和线程的关系就是:一个进程可以包含一个或多个线程,但至少会有一个线程。操作系统调度的最小任务单位其实不是进程,而是线程。两者的区别:进程和线程是包含关系,但是多任务既可以由多进程实现,也可以由单进程内的多线程实现,还可以混合多进程+多原创 2020-11-05 19:14:57 · 320 阅读 · 1 评论 -
Java复习(十二)----多线程(二)
线程同步为了说明白什么是线程同步,我们来看一个小故事: 比如说你赚了点钱,在银行里存了点钱,不多也不少,刚好3000块钱,然后银行给你一个银行卡和一本存折。 有一天,你突然有急事想要用钱,你便拿着存折去银行柜台取钱,这时候工作人员问你打算取多少钱呀,不多,刚好取2000块钱,然后工作人员把这要求输入电脑,这时电脑会去检查你的账户够不够2000块钱,电脑一检查,诶,你有。正常情况下,工作人员便把钱给你,最后把你账户里的钱减为1000块钱。 但是,这时当电脑检查到你有2000块钱,现在已经准备把钱原创 2020-11-08 15:14:16 · 2229 阅读 · 8 评论 -
Java复习(十三)----多线程(三)
生产者消费者问题现在我们要写一个程序,来模拟做馒头和吃馒头,一个不断的往篮子里扔做熟的馒头,一个不断的在那吃。模型如下:现在要求是,写一个程序来模拟这个过程,面向对象,怎么写呢?我们要写考虑里面有哪些类呢?我们分析名字就行了首先我们先把主要的类和main方法写一下:public class ProducerConsumer { public static void main(String[] args) { }}然后写一下馒头类: class WoTou { in原创 2020-11-08 20:01:59 · 1099 阅读 · 5 评论 -
Java复习(十四)----多线程(四)
前段时间有事情,已经好久没有更新过了,现在我们继续来看看多线程的最后一部分ReentrantLock前面我们讲了synchronized关键字来加锁,但这种锁一是很重,二是获取时必须一直等待,没有额外的尝试机制java.util.concurrent.locks包提供的ReentrantLock用于替代synchronized加锁,我们来看一下传统的synchronized代码:public class Test{ private int count; public void .原创 2020-11-22 16:07:06 · 87 阅读 · 1 评论