![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javase
五度鱼Java
五度鱼学Java
展开
-
Java基础进阶注解
注解,或者叫做,英文单词是:Annotation注解Annotation是一种。怎么自定义注解呢?语法格式?注解怎么使用,用在什么地方?注解还可以出现在注解类型上。JDK内置了哪些注解呢?java.lang包下的注释类型:不用掌握:SuppressWarnings 指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。元注解什么是元注解?常见的元注解有哪些?原创 2022-09-12 10:07:59 · 6253 阅读 · 0 评论 -
Java基础进阶反射-类加载器和双亲委派机制
专门负责加载类的命令/工具。JDK中自带了3个类加载器启动类加载器:rt.jar扩展类加载器:ext/*.jar应用类加载器:classpath假设有这样一段代码:代码在开始执行之前,会将所需要类全部加载到JVM当中。通过类加载器加载,看到以上代码类加载器会找String.class文件,找到就加载,那么是怎么进行加载的呢?1、首先通过“启动类加载器”加载。注意:启动类加载器专门加载:C:\Program Files\Java\jdk1.8.0_101\jre\lib\rt.jar。原创 2022-09-12 09:28:21 · 308 阅读 · 0 评论 -
Java基础进阶反射
通过java语言中的反射机制可以操作字节码文件。优点类似于黑客。(可以读和修改字节码文件。)通过反射机制可以操作代码片段。(class文件。)反射机制相关的重要的类有哪些?java.lang.Class:代表整个字节码,代表一个类型,代表整个类。java.lang.reflect.Method:代表字节码中的方法字节码。代表类中的方法。java.lang.reflect.Constructor:代表字节码中的构造方法字节码。代表类中的构造方法java.lang.reflect.Field:代表原创 2022-09-11 18:48:18 · 6979 阅读 · 0 评论 -
Java基础进阶多线程-生产者和消费者模式
1、什么是“生产者和消费者模式”?2、3、。。,,只是通知,原创 2022-09-11 16:58:01 · 7706 阅读 · 0 评论 -
Java基础进阶多线程-守护线程和定时器
注意:主线程main方法是一个用户线程。守护线程用在什么地方呢?原创 2022-09-11 16:44:58 · 6936 阅读 · 0 评论 -
Java基础进阶多线程-死锁
两个线程共享两个对象o1,o2线程1先把o1锁住,再把o2锁住线程2先把o2锁住,再把o1锁住此时程序会静止不动。原创 2022-09-11 16:30:25 · 6104 阅读 · 0 评论 -
Java基础进阶多线程-线程安全和synchronized关键字
线程同步就是线程排队了,线程排队了就会牺牲一部分效率,没办法,数据安全。当多线程并发的环境下,有共享数据,并且这个数据还会被修改,此时就存在。doOther方法执行的时候需要等待doSome方法的结束吗?doOther方法执行的时候需要等待doSome方法的结束吗?synchronized后面小括号中传的这个“数据”是相当关键的。doOther方法执行的时候需要等待doSome方法的结束吗?doOther方法执行的时候需要等待doSome方法的结束吗?而服务器已经将线程的定义,线程对象的创建,线程。原创 2022-09-11 16:21:13 · 8099 阅读 · 0 评论 -
Java基础进阶线程的生命周期
4、阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中 止自己的执行,进入阻塞5、状态 死亡:线程完成了它的全部工作或线程被提前强制性地中止或出现异常导致结束。要想实现多线程,必须在主线程中创建新的线程对象。2、就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已 具备了运行的条件,只是没分配到CPU资源。1、新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建 状态。原创 2022-09-11 13:57:11 · 5794 阅读 · 0 评论 -
Java基础进阶多线程-四种创建方式
思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完 放回池中。调用start方法开启一个新的栈空间,只要新的栈空间开出来,start()方法就结束了。启动一个分支线程,在JVM中开辟一个新的栈空间,这段代码任务完成之后,瞬间就结束了。run方法在分支栈的栈底部,main方法在主栈的栈底部。背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程, 对性能影响很大。启动成功的线程会自动调用run方法,并且run方法在分支栈的栈底部(压栈)。好处:提高响应速度(减少了创建新线程的时间)原创 2022-09-11 11:00:33 · 6351 阅读 · 0 评论 -
Java基础进阶多线程概述
CPU的处理速度极快,多个线程之间频繁切换执行,跟人来的感觉是:多个事情。不能够做到真正的多线程并发,但是可以做到给人一种“多线程并发”的感觉。对于单核的CPU来说,在某一个时间点上实际上只能处理一件事情,但是由于。线程A和线程B频繁切换执行,人类会感觉音乐一直在播放,游戏一直在运行,一根钢针扎到手上,到最终感觉到疼,这个过程是需要“很长的”时间的,在。我在窗口1购票,你可以在窗口2购票,你不需要等我,我也不需要等你。人类的眼睛产生了错觉,感觉是动画的。一个是垃圾回收线程,一个是执行main方法的主线程。原创 2022-09-11 10:01:54 · 6383 阅读 · 0 评论 -
Java基础进阶网络编程-URL
URL网络编程。原创 2022-09-11 09:45:20 · 6344 阅读 · 0 评论 -
Java基础进阶网络编程-TCP和UDP协议
2、TCP/IP 以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得 名,实际上是一组协议,包括多个具有不同功能且互为关联的协议。3、IP(Internet Protocol)协议是网络层的主要协议,支持网间互连的数据通信。4、TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即 物理链路层、IP层、传输层和应用层。5、TCP协议(类似电话):使用TCP协议前,须先建立TCP连接,形成传输数据通道。原创 2022-09-10 21:57:30 · 7732 阅读 · 0 评论 -
Java基础进阶网络编程概述
三、通信要素一:IP和端口号1、IP:唯一的标识 Internet 上的计算机(通信实体)2、在Java中使用InetAddress类代表IP3、IP分类:IPv4 和 IPv6;万维网 和 局域网4、域名: www.baidu.com www.mi.com www.sina.com www.jd.com5、本地回路地址:127.0.0.1 对应着:localhost。原创 2022-09-10 21:27:09 · 6228 阅读 · 0 评论 -
Java基础进阶IO流-IO+Properties的联合应用
IO+Properties的联合应用。非常好的一个。将来只需要修改这个文件的内容,java代码不需要改动,不需要重新编译,服务器也不需要重启。就可以拿到动态的信息。类似于以上机制的这种文件被称为配置文件。,但这不是必须的。这种以.properties结尾的文件在java中被称为:属性配置文件。其中Properties是专门存放属性配置文件内容的一个类。原创 2022-09-10 21:19:59 · 156 阅读 · 0 评论 -
Java基础进阶IO流-序列化和反序列化
2、参与序列化和反序列化的对象,必须实现Serializable接口。这个接口当中什么代码都没有。那么它起到一个什么作用呢?,java虚拟机看到这个类实现了这个接口,可能会对这个类进行特殊待遇。Serializable这个标志接口是给java虚拟机参考的,4、序列化版本号有什么用呢?......java语言中是采用什么机制来区分类的?张三编写了一个类:com.bjpowernode.java.bean.Student implements Serializable。原创 2022-09-10 21:14:09 · 6031 阅读 · 0 评论 -
Java基础进阶IO流-标准输出流
【代码】Java基础进阶IO流-标准输出流。原创 2022-09-10 20:54:39 · 8403 阅读 · 0 评论 -
Java基础进阶IO流-DataInputStream,DataOutputStream数据流
DataOutputStream写的文件,只能使用DataInputStream去读。并且读的时候你需要提前知道写入的顺序。读的顺序需要和写的顺序一致。才可以正常取出数据。原创 2022-09-10 20:45:58 · 7356 阅读 · 0 评论 -
Java基础进阶IO流-BufferReader,BufferWriter字符缓冲流
使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组。当一个流的构造方法中需要一个流的时候,这个被传进来的流叫做:节点流。外部负责包装的这个流,叫做:包装流,还有一个名字叫做:处理流。带有缓冲区的字符输入流。原创 2022-09-10 20:36:18 · 2044 阅读 · 0 评论 -
Java基础进阶IO流-File类
【代码】Java基础进阶IO流-File类。原创 2022-09-10 20:21:55 · 104 阅读 · 0 评论 -
Java基础进阶IO流-文件复制
【代码】Java基础进阶IO流-文件复制。原创 2022-09-10 20:03:59 · 6655 阅读 · 0 评论 -
Java基础进阶IO流-FileReader,FileWriter字符流
【代码】Java基础进阶IO流-FileReader,FileWriter字符流。原创 2022-09-10 19:56:11 · 6138 阅读 · 0 评论 -
Java基础进阶IO流-FileOutputStream输出流
文件字节输出流,负责写。从内存到硬盘。原创 2022-09-06 09:50:39 · 222 阅读 · 0 评论 -
Java基础进阶IO流-FileInputStream字节输入流
【代码】Java基础进阶IO流-FileInputStream字节输入流。原创 2022-09-06 09:43:29 · 1177 阅读 · 0 评论 -
Java基础进阶IO流概述
3、Java中的IO流都已经写好了,我们程序员不需要关心,我们最主要还是掌握,在java中已经提供了哪些流,每个流的特点是什么,每个流对象上的常用方法有。调用流对象的哪个方法是读,哪个方法是写。通过IO可以完成硬盘文件的读和写。转换流:(将字节流转换成字符流)1、IO流,什么是IO?原创 2022-09-06 09:28:14 · 5885 阅读 · 0 评论 -
Java基础进阶集合-Collections工具类
java.util.Collection 集合接口java.util.Collections 集合工具类,方便集合的操作。原创 2022-09-06 09:09:09 · 1819 阅读 · 0 评论 -
Java基础进阶集合-Comparable接口,Comparator比较器案例
定义一个Employee类该类包括:private 成员变量 name ,age,birthday,其中birthday为MyDate类的对象并为每一个属性定义getter setter方法创建该Employee类的5个对象,并把这些对象放入TreeSet集合中,分别按以下两种方式对集合中的元素进行排序,并遍历输出(1)使Employee实现Comparable接口,并按name排序,字典表顺序(2)创建TreeSet时传入Comparator对象,按生日日期的对员工进行先后顺序排序。原创 2022-09-06 08:53:11 · 383 阅读 · 0 评论 -
Java基础进阶TreeSet集合-Comparable,Comprator接口
对于自定义的类型来说,TreeSet可以排序吗?以下程序中对于Person类型来说,无法排序。因为没有指定Person对象之间的比较规则谁大谁小并没有说明以下程序运行时出现ClassCastException异常出现异常的原因是:person类没有实现java.lang.Compareable接口。原创 2022-09-05 14:39:24 · 372 阅读 · 0 评论 -
Java基础进阶Map-Properties集合
1、Properties是线程安全的,因为继承Hashtable2、Properties存储元素的时候也是采用key和value的形式存储3、Properties的key和value只支持String类型,不支持其它类型4、Properties被称为属性类。原创 2022-09-05 14:21:52 · 6801 阅读 · 0 评论 -
Java基础进阶Map-Hashtable集合
1、Hashtable集合底层是哈希表数据结构2、是非线程安全的,其中方法都带有synchronized关键字,效率低3、Hashtable的key和value不允许为null4、Hashtable集合初始化容量11,默认加载因子是:0.75f5、Hashtable集合扩容是:原容量*2 + 1。原创 2022-09-05 14:15:35 · 6821 阅读 · 0 评论 -
Java基础进阶Map-HashMap集合
假设将所有的hashCode()方法返回值固定为某个值,那么会导致底层哈希表变成了纯单向链表。并且equals方法返回如果是true,hashCode()方法返回的值必须一样。那么对于同一个单向链表上的节点来说,他们的哈希值都是相同的。拿put(k,v)举例,什么时候equals不会调用?单向链表:在随机增删方面效率较高,在查询方面效率很低。数组:在查询方面效率很高,随机增删效率方面效率很低。拿get(k)举例,什么时候equals不会调用?equals方法有可能调用,也有可能不调用。,这也是官方推荐的。原创 2022-09-05 13:58:18 · 7529 阅读 · 0 评论 -
Java基础进阶集合-map集合
1、Map和Collection没有继承关系。map1集合对象。原创 2022-09-04 11:18:52 · 6866 阅读 · 0 评论 -
Java基础进阶Set-TreeSet集合
TreeSet集合存储元素特点:1、无序不可重复的,但是存储的元素可以自动按照大小顺序排序!2、无序:这里的无序指的是存进去的顺序和取出来的顺序不同。并且没有下标。3、。原创 2022-09-04 10:57:49 · 323 阅读 · 0 评论 -
Java基础进阶Set-HashSet集合
Set集合是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。Set接口主要实现了两个实现类无序(存储进去的数据和取出的数据不一致)原创 2022-09-04 10:54:57 · 143 阅读 · 0 评论 -
Java基础进阶泛型
1、JDK5.0之后推出的新特性:泛型2、泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的。(运行阶段泛型没用!)3、使用了泛型好处是什么?4、泛型的缺点是什么?原创 2022-09-03 23:06:52 · 6218 阅读 · 0 评论 -
Java基础进阶List-Vector集合
Vector:1、底层也是一个数组。2、初始化容量:103、怎么扩容的?5、Vector中所有的方法都是线程同步的,都带有synchronized关键字,是线程安全的。效率比较低,使用较少了。6、怎么将一个线程不安全的ArrayList集合转换成线程安全的呢?....原创 2022-09-03 22:57:02 · 292 阅读 · 0 评论 -
Java基础进阶List-LinkedList集合
在以后的开发中,如果遇到随机增删集合元素的业务比较多时,建议使用LinkedList链表的缺点:不能通过数学表达式计算被查找元素的内存地址,每一次查找都是从头节点开始遍历,直到找到为止。所以LinkedList集合检索/查找的效率较低,ArrayList:把检索发挥到极致LinkedList:把随机增删元素发挥到极致加元素都是往末尾添加,所以ArrayList用的比LinkedList多。原创 2022-09-03 22:51:53 · 7763 阅读 · 0 评论 -
Java基础进阶结合foreach循环和位运算
1、集合使用foreach循环foreach循环遍历方式又称增强for循环foreach有一个。原创 2022-09-03 22:36:50 · 298 阅读 · 0 评论 -
Java基础进阶List-ArrayList集合
List下的ArrayList集合原创 2022-09-03 22:27:18 · 6748 阅读 · 0 评论 -
Java基础进阶集合-Collection接口
关于java.util.Collection接口中常用的方法。什么是集合?有什么用?1、Collection中能存放什么元素?没有使用“泛型”之前,Collection中可以存储Object的所有子类型使用了“泛型”之后,Collection中只能存储某个具体的类型集合后期学习“泛型”语法。目前先不用管。Collection中什么都能存,只要是Object的子类型就行。(集合中不能直接存储基本数据类型,也不能存储java对象,只能存储java对象的内存地址)原创 2022-09-02 13:37:46 · 6346 阅读 · 0 评论 -
Java基础重写方法的异常情况
【代码】Java基础重写方法的异常情况。原创 2022-09-02 13:27:38 · 596 阅读 · 0 评论