java
兰知行
这个作者很懒,什么都没留下…
展开
-
Java简单的基本语法知识
主要是记录暑假学习Java的学习过程,首先从基础的语法开始:一:注释注释主要有三种类型单行注释:// +注释的内容多行注释:/* 注释内容 /文件注释:/* 注释内容 /要是想在代码里面注释可以使用/ */二:标识符标识符即为变量、类、方法命名的名字标识符开头只能是字母、下划线、$标识符除开头外其他部分只能由字母、下划线、$、数字组成标识符对大小写敏感。标识符不能与关键字...原创 2019-07-19 20:50:26 · 75 阅读 · 0 评论 -
String类、StringBulider、StringBuffer的使用
一、不可改变的String类在String类中序列都是不可改变的,就是创造以后,里面的值无法进行改变。substring()是对字符串的截取,看上去改变了字符串,其实是建立了一个新的对象,之前的对象根本没有改变。1. String类的下述方法能创建并返回一个新的String对象: concat()、 replace()、substring()、 toLowerCase()、 toUp...原创 2019-07-19 17:20:32 · 150 阅读 · 0 评论 -
Date时间类、DateFormat类、SimpleDateFormat类、Calenda日历类
一、Date时间类我们用long类型来表示时间,longnow=System.currentTimeMillis();使用这个来函数来获取现在的时间。在java中包含一个时间Date类,他的对象表示一个特定精确的时间,精确到毫秒。1. Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒)。2. Date(long date) 分配 Dat...原创 2019-07-19 19:43:21 · 175 阅读 · 0 评论 -
File类的基本用法
一、什么是File类 java.io.File类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。二、文件的创建import java.io.File;public class TestFile1 { public static void main(String[] args) throws Exception { ...原创 2019-07-20 08:26:31 · 246 阅读 · 0 评论 -
Java异常
一、什么是异常在实际工作中,我们遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的数据,数据可能是空的;我们的程序再运行着,但是内存或硬盘可能满了等等。软件程序在运行过程中,非常可能遇到刚刚提到的这些问题,我们称之为异常,英文是:Exception,意思是例外。遇到这些例外情况,或者叫...原创 2019-07-20 10:55:46 · 81 阅读 · 0 评论 -
IO各种流
一、文件字节流FileInputStream通过字节的方式读取文件,适合读取所有类型的文件(图像、视频、文本文件等)。Java也提供了FileReader专门读取文本文件。FileOutputStream 通过字节的方式写数据到文件中,适合所有类型的文件。Java也提供了FileWriter专门写入文本文件。import java.io.*;public class IOtes...原创 2019-07-25 09:29:21 · 61 阅读 · 0 评论 -
Java容器-------List
在生活中容器是用来容纳东西的,在Java中也是,容器其实就是用来容纳和管理数据的。在此之前的数组其实就是一种容器。数组有简单,效率高,可以快速访问的优点,但是同时也有着不能扩容、不灵活的缺点。因此数组不能满足我们的需要,所以我们需要一种更加强大的工具,也就是容器,也叫集合。容器可以用下面的图来表示首先先学习泛型一、泛型泛型的本质就是“数据类型的参数化”。 我们可以把“...原创 2019-07-20 17:48:20 · 81 阅读 · 0 评论 -
Java Timer和Timetask
通过Timer和Timetask,我们可以实现定时启动某个线程。java.util.Timer 在这种实现方式中,Timer类作用是类似闹钟的功能,也就是定时或者每隔一定时间触发一次线程。其实,Timer类本身实现的就是一个线程,只是这个线程是用来实现调用其它线程的。java.util.TimerTask TimerTask类是一个抽象类,该类实现了Runna...原创 2019-08-02 15:59:21 · 200 阅读 · 0 评论 -
dcl单例模式
有时候我们需要对外呈现只有一个对象,简单来说就是讲对象私有化,像数据那样,只能通过get方法得到。这里使用doublechecking来进行该操作,即在get方法里面加入两个判断该对象是否为空,同时为了避免指令重排导致线程获得空对象,加入volatile,而且私有化构造器。public class DoubleChecking { private volatile static D...原创 2019-08-02 16:07:15 · 224 阅读 · 0 评论 -
Java udp网络编程
主要使用两个类▪ DatagramSocket:用于发送或接收数据报包当服务器要向客户端发送数据时,需要在服务器端产生一个DatagramSocket对象,在客户端产生一个DatagramSocket对象。服务器端的DatagramSocket将DatagramPacket发送到网络上,然后被客户端的DatagramSocket接收。DatagramSocket有两种常用的构造函数。一...原创 2019-08-03 09:52:00 · 126 阅读 · 0 评论 -
Java多线程01,基本概念+lambda
一、什么是多线程 多线程是Java语言的重要特性,大量应用于网络编程、服务器端程序的开发,最常见的UI界面底层原理、操作系统底层原理都大量使用了多线程。 我们可以流畅的点击软件或者游戏中的各种按钮,其实,底层就是多线程的应用。UI界面的主线程绘制界面,如果有一个耗时的操作发生则启动新的线程,完全不影响主线程的工作。当这个线程工作完毕后,再更新到主界面上。 我们可...原创 2019-07-26 09:52:40 · 69 阅读 · 0 评论 -
多线程02 线程的一些基本的概念
一、多线程的状态线程有五个状态:新生状态、就绪状态、阻塞状态、运行状态、死亡状态。在每个线程被创建出来的时候都是新生状态,然后调用start方法就会进入就绪状态,在就绪状态下如果用个sleep或者wait方法,那么就会进入阻塞状态,在阻塞状态结束了以后并不会进入运行状态,而是进入就绪状态,等到CPU调用它的时候就会进入到运行状态,等运行状态结束就会进入死亡状态,在这个线程死亡了以后并不会被...原创 2019-07-26 16:45:30 · 57 阅读 · 0 评论 -
Java Hash底层代码的实现
一、Map接口在生活中我们经常成对的储存某些信息,Map就是用来存储“键(key)-值(value) 对”的。 Map类中存储的“键值对”通过键来标识,所以“键对象”不能重复。Map 接口的实现类有HashMap、TreeMap、HashTable、Properties等。下面是Map接口常用的方法:二、HashMapHashMap采用哈希算法实现,是Map...原创 2019-07-23 10:47:24 · 451 阅读 · 0 评论 -
Java线程同步
一、什么是线程同步现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题。 比如:教室里,只有一台电脑,多个人都想使用。天然的解决办法就是,在电脑旁边,大家排队。前一人使用完后,后一人再使用。处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。 这时候,我们就需要用到“线程同步”。 线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等...原创 2019-08-02 10:32:34 · 168 阅读 · 0 评论 -
Java注解
注解(Annotation):内置注解:@Override对父类的方法重写:@Deprecated过时的,废弃的:@SuppressWarning镇压报警信息自定义注解;格式大概为 public @interface 注解名称。@Target是定义注解可以放在那种类型的前面@Target(value=ElementType.TYPE)或者数组@Target(...原创 2019-08-07 08:24:05 · 61 阅读 · 0 评论 -
Java反射机制、动态编译
反射机制Java由于存在反射机制,使得Java变得有些动态,在程序运行的时候可以改变程序的结构。反射机制中主要是调用Class+名称=Class.forname(要调用类的路径),这个Class类就像一面镜子,通过这面镜子我们可以获得我们想要类的信息。还可以使用newinstance方法,Useru=clazz.newInstance();其本质是调用了对象的无参构造方法。当...原创 2019-08-07 09:19:31 · 190 阅读 · 0 评论 -
Java适配器模式
简单来说就是我们平时使用的转化器,当一个类需要实现某种功能,但是却不能直接调用可以实现该功能的方法时,我们可以添加一个适配器,将两个类连接起来。//被适配的类public class Adaptee {public void request(){System.out.println("可以完成客户请求的需要的功能!");}} package com.bjsxt.adapter...原创 2019-08-09 16:32:12 · 66 阅读 · 0 评论 -
Java包装类的基本知识
一、八个基本数据类型对应的包装类Java是面向对象的语言,但不是纯面向对象的,比如基本数据类型就不是对象,但是很多时候我们需要把基本数据类型当做对象来处理,为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。在使用中这八个类型基本相似,所以会一种后面的几种便可以掌握。下面是Int...原创 2019-07-19 16:30:28 · 106 阅读 · 0 评论 -
Java数组的拷贝,删除与扩容
一、数组的拷贝主要是使用函数 arrycopy(object src,int srcpos,object dest, int destpos,int length)其功能是将src数组中的内容从srcpos开始拷贝length个从dest的destops的位置开始。比如数组s1=[0,1,2,3,4,5,6];s2=[0,1,2,3,4,5,6,7]那么可以执行arrycopy...原创 2019-07-19 15:18:04 · 194 阅读 · 0 评论 -
Java抽象类和抽象方法
一、什么是抽象方法使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。二、什么是抽象类包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。抽象类的使用要点: 1. 有抽象方法的类只能定义成抽象类...原创 2019-07-17 11:10:15 · 86 阅读 · 0 评论 -
Java方法的调用
一、方法的运用在Java中方法类似于其他语言中的函数,只不过方法归对象与类管理,在调用方式的时候也必须在对象中调用方法。方法的基本格式为[修饰符1修饰符2…]返回值类型方法名(形式参数列表){Java语句;………}在main函数中调用方法必须先创立一个对象如果不想有返回值那么直接在返回值类型中写void其他的要写与返回值类型一样的名字在...原创 2019-07-16 08:54:26 · 166 阅读 · 0 评论 -
Java递归
递归递归本质上就是自己调用自己,一个递归应该有结束的条件,否则就会一直进行下去,还有需要递归体,递归体就是什么时候需要调用递归。下面是简单的计算n的阶乘用递归来实现:public class Pro4 { public static void main(String[] args) { System.out.println(a(10)); } ...原创 2019-07-16 09:37:04 · 69 阅读 · 0 评论 -
Java对象的初步了解
什么是对象?在编程语言中有面向对象和面向过程编程其中面向过程编程适合于简单的项目,变量较少,便于管理而面向对象则是比较复杂的项目在一个复杂的项目中常常是宏观上用面向对象进行操作,但具体细分的话,基础的还是用面向过程进行实现,比Java中的方法就是面向过程的产物用现实生活中的例子进行类比的话在一个公司的初级阶段,员工较少,都是个干个的,不用管理公司规模较大以后便划分部门,...原创 2019-07-16 10:06:13 · 50 阅读 · 0 评论 -
对象和类的关系以及栈、堆
一、什么是类?类其实就是对象的模板,是对象的抽象,这里的抽象并不是人们常说的抽象,而是把一个事物的特点集中在一起。面向对象编程的本质就是用类来组织代码,用对象来组织数据例如在一个编写一个类后,那么后面的对象都是根据这个类来写的。二、栈、堆、方法区栈是每个线程私有的并不共享。栈存放的是Java里面的各种方法,在每个方法执行完毕后,这个方法便会被清除,一个方法在栈里面会生成栈帧...原创 2019-07-16 11:48:13 · 384 阅读 · 0 评论 -
构造方法以及构造方法的重载
构造方法构造方法的格式,[修饰符] 类名(形参列表){//n条语句}具体与方法类似,属于一种特殊的方法构造方法的名字要与类名相同不用再写返回值,但是其有返回值用关键字new调用。下面是引用的代码public class Point { double x,y; public Point(double _x,double _y){ x=_x...原创 2019-07-16 15:39:39 · 215 阅读 · 0 评论 -
Java垃圾回收机制
Java中的垃圾回收Java中有自己特定的垃圾回收机制,自己会扫描无用的对象,并将其回收在Java中对象分为 年轻态(Eden),持久态(surviver),老年态(old).当一个对象被创建出来的时候,都属于年轻态。当年轻态满了后,Java垃圾回收会对年轻态进行一次扫描,将一些对象会放入持久态,当持久态中的对象被调用十五次以上的时候便会被放入老年态...原创 2019-07-16 15:55:21 · 105 阅读 · 0 评论 -
Java容器set接口、迭代器的使用
Set接口继承自Collection,Set接口中没有新增方法,方法和Collection保持完全一致。我们在前面通过List学习的方法,在Set中仍然适用。因此,学习Set的使用将没有任何难度。Set容器特点:无序、不可重复。无序指Set中的元素没有索引,我们只能遍历查找;不可重复指不允许加入重复的元素。更确切地讲,新元素如果和Set中某个元素通过equals()方法对比为true,则不能加...原创 2019-07-23 16:01:53 · 1463 阅读 · 0 评论 -
Java的值传递以及包机制
一、Java的值传递在Java中只有值传递,在传递给形参的时候并不会改变实参的值,在引用数据类型中,传递是地址,所以当传递给形参以后,实参与形参对应的是一个地址,故如果形参发生改变,那么实参也会发生改变。代码如下:public class Pro5 { int age; String name; public Pro5(int age,String name)...原创 2019-07-16 17:53:43 · 107 阅读 · 0 评论 -
继承与方法的重写
一、继承的使用类是对象的抽象,那么继承便是类的抽象,子类继承父类(除了构造方法),但是有的东西子类虽然继承了但是并不能使用,继承很好的避免了代码的 重复,有利于代码的整洁与方便。在继承中使用 extends,class 子类名 extends 父类名。在子类中再构建新的属性或者方法。instanceof的使用instanceof可以比较左边是否与右边是否是一个类型,包括父类,但...原创 2019-07-16 19:27:04 · 158 阅读 · 0 评论 -
Java新手对接口的简单理解
一、什么是接口接口就是比抽象类还抽象的“类”,可以对子类更加规范的约束,在现实生活中,子类更像是社会中的法律,是每个人的行为的规范,同样,在Java中接口是每个子类的规范,使用接口是面向对象编程的重要内容。二、如何建立接口接口在Java中用interface来表示,即 interface 接口名。同时在接口中也有类似于类的继承,但是在类中是单继承的,而在接口中是可以多继承的,即ex...原创 2019-07-19 08:24:11 · 163 阅读 · 0 评论 -
Java内部类
一、什么是内部类?内部类就是一个类里面的类,内部类可以用修饰符进行修饰,而外部顶级类只能用 public、default修饰。同时内部类在创建的时候是以区别于外部类创建的两个不同的类。二、内部类的类型以及基本的使用内部类分为 内部类、匿名内部类、局部内部类。其中内部类分为 静态内部类、非静态内部类。一、静态内部类静态内部类就是用static修饰的类静态内部类的方法不...原创 2019-07-19 09:10:01 · 52 阅读 · 0 评论 -
Java中的多维数组
一、Java的二维数组在Java中数组也是对象,使用多维数值也可以按着对象来理解。在实际生活中Java最多用到二维数组,在后面有包装后,二维也不是经常使用。二维数组的调用int[][] a=new int[n][];int[n]=new int[a];也可以直接写int[n]=new int[]{a1,a2,a3};或者直接int a[n][n2]={{a1,...原创 2019-07-19 11:46:16 · 615 阅读 · 0 评论 -
IO流的基本概念
一、IO的基本的功能对于任何程序设计语言而言,输入输出(Input/Output)系统都是非常核心的功能。程序运行需要数据,数据的获取往往需要跟外部系统进行通信,外部系统可能是文件、数据库、其他程序、网络、IO设备等等。外部系统比较复杂多变,那么我们有必要通过某种手段进行抽象、屏蔽外部的差异,从而实现更加便捷的编程。java.io包为我们提供了相关的API,实现了对所有外部系统的输入输出...原创 2019-07-24 08:49:15 · 387 阅读 · 0 评论 -
IO四大抽象类
InputStream/OutputStream和Reader/writer类是所有IO流类的抽象父类,我们有必要简单了解一下这个四个抽象类的作用。然后,通过它们具体的子类熟悉相关的用法。·InputStream此抽象类是表示字节输入流的所有类的父类。InputSteam是一个抽象类,它不可以实例化。 数据的读取需要由它的子类来实现。根据节点的不同,它派生了不同的节点流子类 。继承自I...原创 2019-07-24 10:21:45 · 594 阅读 · 0 评论 -
Java封装
一、封装的使用一个程序如果没有被封装,那么这个程序里面数据可以被任意的修改,这会使得程序极其不稳定,带来很多的问题。所以我们在写程序的时候需要封装程序。封装中主要使用下面四种修饰符,即 private、default、protected、public。 同一个类 同一个包中 子类 所有类 p...原创 2019-07-17 09:16:54 · 50 阅读 · 0 评论 -
Java多态的使用
一、什么是多态面向对象有三大基本特征:继承、封装、多态。多态性是OOP中的一个重要特性,主要是用来实现动态联编的,换句话说,就是程序的最终状态只有在执行过程中才被决定而非在编译期间就决定了。这对于大型系统来说能提高系统的灵活性和扩展性。多态可以让我们不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,从而实现更加灵活的编程,提高系统的可扩展性。其中多态是方法的多态,属性...原创 2019-07-17 09:54:22 · 108 阅读 · 0 评论 -
Java数组的基本知识
一、什么是数组数组其实就是对象,是相同数据类型的有序集合,属于引用类型。数组的四个基本特点:1.其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.其元素必须是相同类型,不允许出现混合类型。3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。4.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中...原创 2019-07-17 10:55:13 · 188 阅读 · 0 评论 -
Java单列模式
Java中常用的单列模式也就是两种,单列模式其实就是保证只能出现一个对象,就像任务管理器那样,通常情况下如果创建某个对象特别耗费资源,那么这个时候可以使用单列模式,单列模式包括懒汉式和饿汉式,其中,懒汉式是需要的时候才会new一个对象,而饿汉式是不管需要不需要都会new一个对象,也叫做延时加载与非延时加载。饿汉式的效率高,懒汉式更能节省资源。懒汉式代码public class Dome0...原创 2019-08-07 15:57:56 · 92 阅读 · 0 评论