![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习笔记
学习笔记
zhuzZi
这个作者很懒,什么都没留下…
展开
-
Java笔记----反射及动态代理
一、获取Class对象的四种方法 //方式一:调用运行时类的属性: .class Class class1 = Person.class; //方式二:通过运行时类的对象,调用getClass() Person p = new Person("hah", 12); Class class2 = p.getClass(); //方式三:调用Class的静态方法,forName(String classPath)原创 2020-08-14 18:13:15 · 161 阅读 · 0 评论 -
Java笔记----TCP、UDP、URL示例
在Java中使用InetAddress类代表IP本地回路地址: 127.0.0.1 对应着: localhost如何实例化InetAddress:两个方法:getByName(String host) 、getLocalHost()两个常用方法: getHostName() / getHostAddress()端口号:正在计算机上运行的进程。要求:不同的进程有不同的端口号范围:被规定为一个16位的整数0~65535。一、TCP步骤:客户端:创建客户端InetAddres.原创 2020-08-14 15:57:49 · 149 阅读 · 0 评论 -
Java笔记----File类和IO流(二)
对于图片视频等文件用前面的字符流Reader和Writer是不行的,得用下面的字节流。一、FileInputStream和FileOutputStream四步走套路,直接上代码@Test public void test(){ FileInputStream fileinputStream = null; FileOutputStream fileOutputStream = null; try { //1.创建File类原创 2020-08-14 15:16:44 · 119 阅读 · 0 评论 -
Java笔记----File类和IO流(一)
一、File类及其常用方法File 类的使用:File类的一个对象,代表一个文件或一个文件目录File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、 文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用I0流来完成。后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的”终点". /* 1.如何创建File类的实例File(String filePath) File原创 2020-08-14 14:48:16 · 141 阅读 · 0 评论 -
Java笔记----Set接口
Set接口特点及其实现类:1.Set接口: 存储无序的、不可重复的数据HashSet:作为Set接口的主要实现类;线程不安全的;可以存储null值LinkedHashSet: 作为HashSet的子类; 遍历其内部数据时,可以按照添加的顺序遍历对于频繁遍历的操作,LinkedHashSet效率比HashSet高。Set.TreeSet:可以按照添加对象的指定属性,进行排序。2.可用方法:Set接口作为Collection接口的子接口,并没有额外定义方法,使用的都是Collection中声明过的原创 2020-08-10 11:23:27 · 209 阅读 · 0 评论 -
Java笔记----Map接口(非源码向)
初学者,先看结论,再用源码去印证结论,更高效。冲冲冲!!!一、Map接口及其实现类特点:Map:双列数据,存储key-value对的数据 —类似于高中的函数: y = f(x)HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和valueLInkedHashMap:继承自HashMap。保证在遍历的元素的时候,可以按照添加的顺序实现遍历,因为在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素,对于频繁的遍历操作,此类执行效率高于HashM原创 2020-08-10 16:02:00 · 83 阅读 · 0 评论 -
Java笔记----集合概览
偷了两天懒,把前面的回顾一下,顺便记一记,嘿嘿。一、集合框架概述1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt, .jpg, .avi,数据库中2.1 数组在存储多个数据方面的特点: .一旦初始化以后,其长度就确定了.数组一旦定义好,数组的类型也就确定了。我们也就只能操作指定类型的数据了。比如: String[] arr;int[] arr1;0bject[] arr2;2.2 数组在存储多个数据原创 2020-08-10 10:04:30 · 96 阅读 · 0 评论 -
Java笔记----枚举类
CSDN–在线笔记本,我又来了,记录学习过程中的点点滴滴!!!JKD 5.0以前—自定义枚举类以前的真的和类没啥区别,直接上代码,感觉没啥好说的。public class EnumTest { public static void main(String[] args) { System.out.println(Season.SPRING.toString()); }}/*自定义枚举类 */class Season{ //1.声明Season对象的属性原创 2020-08-05 23:50:13 · 110 阅读 · 0 评论 -
Java笔记--String入门、StringBuffer、StringBuilder
随手记,冲冲冲!!!1.String入门知识String声明为final的, 不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String内部定义了final char[] value用于存储字符串数据String:代表不可变的字符序列。简称:不可变性。体现:当对字符事重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值当对现有的字符串进行连接操作时,也需要重新指定内存区原创 2020-08-05 00:12:11 · 90 阅读 · 0 评论 -
Java线程安全问题的三种解决方式
新的一天,回顾一下昨天的问题!首先从问题引入:有三个窗口共同卖100张票,使用实现Runnable接口的方式问题:在买票的过程中,出现了重票、错票。原因:当一个线程在操作ticket过程中,操作尚未完成,其他线程参与进来,也操作车票---->出现了线程安全问题。如何解决:当一个线程a操作ticket时,其他线程不能参与进来,直到a操作完ticket时,其他线程线程才可以开始操作ticket。这种情况即使线程a出现了阻塞,也不能被改变。这就涉及到同步机制来解决线程安全问题:同步代码块同原创 2020-08-04 10:26:46 · 393 阅读 · 0 评论 -
创建线程的四种方式--常用方法--生命周期
把CSDN当一个在线笔记本吧,哈哈哈加上新特性中的创建方法,共有四种,暂时没去了解。多线程的创建:方式一:继承Thread类步骤:创建一个继承于Thread类的子类重写Thread类的run() --> 将此线程执行的操作声明在run()中创建子类的对象通过此对象调用start()问题:一:启动一个线程,必须调用start(),不能调用run()的方式启动线程。start两个作用:①启动当前线程,②并调用run()方法。二:如果想再启动一个线程,必须重新创建一个Thread子原创 2020-08-02 15:28:46 · 1022 阅读 · 0 评论 -
Java笔记----List接口
List接口及其实现类特点:存储有序的、可重复的数据。ArrayList :jdk1.2,查询操作效率高,根据脚标找;作为List接口的主要实现类;线程不安全的,效率高;底层使用Object[] elementData存储。LinkedList :jdk1.2,对于频繁的插入、删除操作,使用此类效率比ArrayList高;底层使用双向链表存储。Vector :jdk1.0,List的古老实现类,线程安全的,效率低;底层使用Object[] elementData存储。源码分析结论:ArrayL原创 2020-08-10 10:37:24 · 121 阅读 · 0 评论 -
Java笔记----代码块
将之前写的笔记全都搬到线上来咯,慢慢沉淀,加油!!!代码块作用:用来初始化类、对象修饰符:只能用static修饰分类:静态代码块 vs 动态代码块静态代码块内部可以有输出语句随着类的加载而执行,而且只执行一次作用:初始化类的信息顺序执行,只能调用静态的属性和方法非静态代码块内部可以有输出语句随着对象的创建而执行每创建一个对象, 就执行一次非静态代码块作用:可以在创建对象时,对 对象的属性等进行初始化顺序执行,属性和方法都可以调用结合代码块,深入理解属性可以赋值的位原创 2020-08-02 15:51:35 · 165 阅读 · 0 评论