Java
Boml小弟自学Java笔记,希望能帮助到各位
无所事事的程序员
时间留下的痕迹
展开
-
Java---Lambda表达式
Lambda表达式的使用:1,格式: ->:lambda操作符或箭头操作符 左边:lambda形参列表(其实就是接口中的抽象方法的形参列表) 右边:lambda体(其实就是重写的抽象方法的方法体)2,本质: 作为函数式接口的实例3,如果一个接口中,只声明了一个抽象方法,则此方法就称为函数式接口 我们可以在一个接口上使用:@FunctionalI...原创 2020-04-30 15:29:16 · 122 阅读 · 0 评论 -
Java中的单例模式
编程中会遇到的一些名词单例模式(懒汉式):Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”单例模式有两种不同的实现方式:饿汉式单例模式(Eager Singleton)和懒汉式单例模式(Lazy Singleton)相比于饿汉模式,懒汉模式要复杂的...原创 2020-04-12 01:01:33 · 89 阅读 · 0 评论 -
Java--代理
静态代理举例interface ClothFactory{ void productCloth();}//代理类class ProxyClothFactory implements ClothFactory{ private ClothFactory factory; public ProxyClothFactory(ClothFactory factory...原创 2020-04-11 16:02:34 · 103 阅读 · 0 评论 -
Java--反射机制
public class Test { //反射之前,对于Person的操作 public void test(){ Person person=new Person("Tom",12); //在person类外部,不可以通过person类的对象调用内部的私有结构 person.getAge(); } @o...原创 2020-04-10 01:06:23 · 102 阅读 · 0 评论 -
Java--String类的使用
1,String声明final的,不可被继承 2,Sting实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小 3,String内部定义了final char[] value用于存储字符串数据 4,String:代表不可变的字符序列,简称:不可变性。 体现: ...原创 2020-04-09 18:07:42 · 152 阅读 · 0 评论 -
Java--interface
原创 2020-04-05 15:35:41 · 75 阅读 · 0 评论 -
Java--List
ListList:存储有序的,可重复的数据 --》”动态“数组ArrayList:作为List接口的主要实现类;线程不安全,效率高;底层使用Object[] 存储LinkerList:对于频繁的插入,删除操作,使用此类的效率比ArrayList高;底层使用双向链表存储Vector:作为List接口的古老实现类,线程安全,效率低;底层使用Object[]存储Arr...原创 2020-01-22 14:37:49 · 143 阅读 · 0 评论 -
Java--泛型
泛型的使用总结: * 1,集合接口或集合类在jdk5.0时都修改为带泛型的结构 * 2,在实例化集合类时,可以指明具体的泛型类型 * 3,指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法,构造器)使用到类的泛型位置,都指定为实例化的泛型类型 * 比如add(E e)---->实例化以后:add(Integer e) * 4,注意:泛型的类型必须是类,不能...原创 2020-01-26 14:07:26 · 138 阅读 · 0 评论 -
Java--Collections工具类
Collections是y一个操作Set,List,Map等集合的工具类排序操作:reverer(List):反转List中的元素种类shuffle(List):对list集合元素进行随机排序sort(List):根据元素的自然排序对指定的List集合按升序排序sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序(定制排序)s...原创 2020-01-24 13:44:08 · 152 阅读 · 0 评论 -
Java--Map
Map的实现类的结构:Map接口:双列集合,用来存储一对(key-value)HashMap:作为Map的主要实现类:线程不安全的,效率高;能存储null的key和value |--LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历 原因:在于原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素 对...原创 2020-01-24 01:04:36 · 162 阅读 · 0 评论 -
Java--Set
Collection–Set接口Set:存储无序的,不可重复的数据–》高中讲的”集合“1,HashSet:作为List接口的主要实现类;线程不安全,可以存储null值2,LinkedHashSet:作为HashSet的子类,遍历其内部数据时,可以按照添加的数据遍历3,TreeSet:可以按照添加的对象的指定属性,进行排序Set接口中没有额外定义新的方法,使用的都是collectio中声明...原创 2020-01-22 19:54:08 · 146 阅读 · 0 评论 -
Java--foreach循环(增强for循环)
foreach循环(增强for循环)jdk5.0 新增foreach循环,用于遍历集合,数组//遍历集合 Collection coll=new ArrayList(); coll.add(123); coll.add(456); coll.add(new String("Tom")); coll.add(false); ...原创 2020-01-22 10:35:21 · 137 阅读 · 0 评论 -
Java--Iterator迭代器
Iterator迭代器使用Iterator接口遍历集合元素Iterator对象成为迭代器(设计模式的一种)主要用于遍历Collection集合的元素。Iterator仅用于遍历集合集合对象每次调用iterator()方法都得到一个全新的迭代对象内部的方法:hasNext()和next() @Test public void test1(){ Col...原创 2020-01-21 14:35:27 · 101 阅读 · 0 评论 -
Java--Collection接口中的使用
Collection接口中的使用接下来用一系列的方法进行测试,用注释来说明各方法的用途:(1)代码: @Test public void test1(){ Collection coll=new ArrayList(); //add(Object obj):将元素添加到集合coll中 coll.add("AA"); ...原创 2020-01-21 13:51:52 · 156 阅读 · 0 评论 -
Java--集合概念
集合集合框架的概述1,集合,数组都是对多个数据进行存储操作的结构,简称Java容器说明:此时的存储,主要是指内存层面的存储,不涉及到持久的存储(也就是硬盘上的存储)数组在存储多个数据方面的缺点:》一旦初始化以后,其长度不可修改》数组提供的方法非常有限,对于添加,删除操作数据等操作,非常不便,同时效率不高》获取数组中实际元素的个数需求,数组没有现成的属性或方法可用》数组存储数据的特...原创 2020-01-21 03:33:43 · 121 阅读 · 0 评论 -
Java--多线程(2)Runnable
创建多线程的方式二:Runnable接口1,创建一个实现了Runnable接口的类2,实现类去实现Runnable中的抽象方法:run()3,创建实现类对象4,将此类作为参数传递到Thread类的构造器当中,创建Thread类的对象5,通过Thread类的对象调用start()public class TestRunnable { public static void ma...原创 2020-01-18 02:13:17 · 92 阅读 · 0 评论 -
Java--多线程(1)Thread
多线程的创建一:继承于Thread类1,创建一个继承于Thread类的子类2,重写Thread类的run()3,创建Thread类的子类对象4,通过此类对象调用start()Thread类的常用方法:void start();启动线程,并执行对象run()方法run();线程在被调度的时候使用String getName();返回线程的名称void setName(St...原创 2020-01-18 01:55:58 · 162 阅读 · 0 评论 -
Java--网络编程(6)URL常用方法
url:统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。(说简单点就是类似于“种子”)。获取URL的协议名:public String getProtocol()获取主机名:public String getHost()获取URL的端口号:public String getPort()获取URL的...原创 2020-01-17 22:13:37 · 156 阅读 · 0 评论 -
Java--网络编程(5)UDP编程
其实UDP和TCP的代码的差别不大,个人觉得也就是将其数据包装好去发送;还有就是,用TCP时,先启动客户端会握手失败。而UDP中,不会出现异常,但数据并不会被接收端收到。发送端: //发送端 @Test public void sender(){ DatagramSocket socket= null; try { ...原创 2020-01-17 21:03:01 · 121 阅读 · 0 评论 -
Java--网络编程(4)服务器端的反馈
服务器端的反馈我们上一节是客户端将图片发送给服务器,之后服务端将图片保存在本地。接下来拓展一个问题,当服务器端接收到图片时,客户端不知道服务器端收到没,这时候我们将上一节的代码进行拓展,让服务器端发送反馈给客户端。客户端代码: @Test public void Client(){ FileInputStream fis= null; Out...原创 2020-01-17 19:24:37 · 409 阅读 · 0 评论 -
Java--网络编程(3)接收图片保存到本地
将接收到的图片保存到相对地址在这里客户端要发送一个图片给服务端,那么客户端就必须得先读入自己有的图片,所以需要输入流。服务器端需要把图片保存起来,所以需要加个输出流。public class TCPSave { @Test public void Client(){ FileInputStream fis= null; OutputStrea...原创 2020-01-17 18:27:05 · 622 阅读 · 0 评论 -
Java--网络编程(2)发送与接收
服务器端和客户端客户端发消息给服务器端,服务器端接收到数据,将其数据显示在控制台上。服务器端代码: //服务端 @Test public void Server(){ ServerSocket ss= null; Socket socket= null; InputStream is= null; Byt...原创 2020-01-17 12:41:37 · 266 阅读 · 0 评论 -
Java--网络编程(1)InetAddress实例化
实例化InetAddress:1,getByName(String host)2,getLocalHost两个常用方法:1,获取本机的地址 :inet=InetAddress.getLocalHost();2,获取域名:inet=InetAddress.getHostName();...原创 2020-01-16 22:01:54 · 232 阅读 · 0 评论 -
Java--转换流(处理流)
转换流的使用举个例子说明:当我们的文件里面含有中文英文数字是,我们使用字节流将文件内容在内存中显示,英文和数字显示正常,而中文却却显示乱码。这时候我们可以使用转换流将其转化为字符流显示在内存中。1,处理流:转换流的使用2,转换流:属于字符流InputStreamReader:将一个字节的输入流转换成子字符的输入流OutputStreamWriter:将一个字节的输出流转换成子字符的输...原创 2020-01-16 18:34:20 · 924 阅读 · 0 评论 -
Java--缓冲流
缓冲流BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter缓冲流(处理流)处理流:“套接”在已有流的基础上缓冲流是在原有流的基础上,进行包装作用:提供流的读取,写入的速度提高读写速度的原因:内部提供了一个缓冲区/** * 缓冲流 * BufferedInputStream * Buffe...原创 2020-01-16 17:18:57 · 198 阅读 · 1 评论 -
Java--File字节流实现二进制文件的拷贝
File字节流实现二进制文件的拷贝其实和拷贝文本文件的方式差不多。有区别的是单位不一样所使用的流也不一样。这里概括下:对于文本文件(.txt,.java,.cpp,c),使用字符流处理对于非文本文件(.png,.jpg,mp3,mp4,avi,doc,.ppt…),使用字节流处理使用字节流处理文本文件,是可能出现乱码的 @Test public void InOutStr...原创 2020-01-16 16:02:24 · 1074 阅读 · 2 评论 -
Java--FileReader/FileWriter
FileReader字符输入流+访问文件==FileReader当我们要对文件进行读入操作时,我们可以使用FileReader进行操作。具体的操作的步骤用代码来一步步介绍:为了完成操作,我们要事先再相对路径创建一个txt文件(我创建了一个hello.txt)hello.txt内容是:HelloWorld123 1,File file=new File("hello....原创 2020-01-16 02:29:51 · 288 阅读 · 0 评论 -
Java--IO流原理及流的分类
Java IO原理I/O是input和output的缩写。I/O是非常使用的技术,用于处理设备之间的数据传输。如读写及网络通讯等。Java程序中,对于数据的输入输出操作以“流(stream)”的方式进行java.io包下提供了各种“流”类的接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据输入input:读取外部数据(磁盘,光盘等存储设备的数据)到程序(内存)中输出output...原创 2020-01-15 22:38:11 · 138 阅读 · 0 评论 -
Java--IO流:File
File类I:iuput(输入流)O:output(输入流)此文写的类都在io包下File类的使用1,File类的一个对象,代表一个文件或一个文件目录(文件夹)2,File类声明在java.io包下3,常用构造器了解一些知识相对路径:相较于某个路径下指明的路径绝对路径:包含盘符在内的文件或文件目录的路径(完整的写完)路径分隔符和系统有关:–》windows和DOS系统默认使...原创 2020-01-15 18:35:57 · 181 阅读 · 0 评论 -
Java常见的异常
拆箱:实例转化为数值装箱:数值转化为实例原创 2020-01-12 19:26:01 · 94 阅读 · 0 评论 -
拆箱与装箱
拆箱:实例转化为数值装箱:数值转化为实例原创 2020-01-12 19:15:14 · 81 阅读 · 0 评论 -
线程的同步(补充)
线程的同步(补充同步方法)这种情况也会出现错误,主要原因是:锁(同步监视器)不一样public class WindowQuestion { static int t=10; public static void main(String[] args) { CarCompany c=new CarCompany(); CarCompany c2...原创 2020-01-12 17:51:39 · 95 阅读 · 0 评论 -
线程的同步:安全问题(JAVA)
线程的同步:安全问题(JAVA)在我学习多线程这一块知识点的时候,我遇到了一个问题,接下来,我将用一个卖车的例子来描述我遇到的问题:主类:public class WindowQuestion { public static void main(String[] args) { CarCompany c=new CarCompany(); Thre...原创 2020-01-12 01:59:18 · 418 阅读 · 0 评论