Java SE
文章平均质量分 85
Java SE
Java老狗
欢迎关注我的公众号:加瓦老狗
展开
-
第十五章 Java新特性
纵观Java这几年的版本变化,在Java被收入Oracle之后,Java以小步快跑的迭代方式,在功能更新上迈出了更加轻快的步伐。基于时间发布的版本,可以让Java研发团队及时获得开发人员的反馈,因此可以看到最近的Java版本,有很多语法层面简化的特性。同时,Java在支持容器化场景,提供低延迟的GC方面(ZGC等)也取得了巨大的进步。孵化器(Incubator)阶段:这是新特性最早的开发和试验阶段,此时新特性只能作为一个单独的模块或库出现,而不会包含在Java SE中。原创 2024-07-28 11:49:01 · 353 阅读 · 0 评论 -
第十四章 Stream API
从JDK1.8开始,Java语言引入了一个全新的流式Stream API,StreamAPI把真正的函数式编程风格运用到Java语言中,使用StreamAPI可以帮我们更方便地操作集合,允许开发人员在不改变原始数据源的情况下对集合进行操作,这使得代码更加简洁、易读和可维护。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询,也可以使用Stream API来并行执行的操作。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。原创 2024-07-28 11:47:07 · 234 阅读 · 0 评论 -
第十三章 Lambda表达式
Java从诞生之日起就一直倡导“一切皆对象”,在Java语言中面向对象(OOP)编程就是一切,但是随着Python和Scala等语言的崛起和新技术的挑战,Java也不得不做出调整以便支持更加广泛的技术要求,即Java语言不但支持OOP还支持OOF(面向函数编程)。JDK1.8引入Lambda表达式之后,Java语言也开始支持函数式编程,但是Lambda表达式不是Java语言最早使用的,目前C++、C#、Python、Scala等语言都支持Lambda表示。面向对象的思想。原创 2024-07-28 11:46:03 · 282 阅读 · 0 评论 -
第十二章 网络编程
网络编程是指利用计算机网络实现程序之间通信的一种编程方式。在网络编程中,程序需要通过网络协议(如 TCP/IP)来进行通信,以实现不同计算机之间的数据传输和共享。我们开发的网络应用程序位于应用层,TCP和UDP属于传输层协议,在应用层如何使用传输层的服务呢?在应用层和传输层之间,则是使用套接Socket来进行分离。套接字就像是传输层为应用层开的一个小口,应用程序通过这个小口向远程发送数据,或者接收远程发来的数据。原创 2024-07-28 11:45:04 · 226 阅读 · 0 评论 -
第十一章 注解
什么是注解?注解是JDK1.5才引入的。注解可以标注在 类上,属性上,方法上 等。注解可以做到在不改变代码逻辑的前提下在代码中嵌入补充信息。注解与注释注释:给程序员看的,编译器编译时会忽略注释。注解:给编译器看的,或给其它程序看的,程序根据有没有这个注解来决定不同的处理方式。注解的重要性框架是如何实现的:框架 = 反射 + 注解 + 设计模式。自定义注解使用 @interface 来定义注解。默认情况下注解可以出现在类上、方法上、属性上、构造方法上、方法参数上等......原创 2024-07-28 11:43:43 · 394 阅读 · 0 评论 -
第十章 反射机制
Java反射机制是指在运行时动态获取类的信息或动态调用对象的方法、修改属性等操作。主要核心就是Class类、Constructor类、Field类、Method类等API。反射机制主要应用于框架开发、动态代理、ORM框架、JDBC驱动等方面。通过反射机制,程序员能够获得在编译期间不被知晓的类、属性、方法等信息。但是反射机制的性能较低,常常被认为是一种牺牲性能换取灵活性的实现方式。原创 2024-07-28 11:42:58 · 310 阅读 · 0 评论 -
第九章 多线程
什么是进程?什么是线程?它们的区别?进程是指操作系统中的一段程序,它是一个正在执行中的程序实例,具有独立的内存空间和系统资源,如文件、网络端口等。在计算机程序执行时,先创建进程,再在进程中进行程序的执行。一般来说,一个进程可以包含多个线程。线程是指进程中的一个执行单元,是进程的一部分,它负责在进程中执行程序代码。每个线程都有自己的栈和程序计数器,并且可以共享进程的资源。多个线程可以在同一时刻执行不同的操作,从而提高了程序的执行效率。原创 2024-07-28 11:42:07 · 269 阅读 · 0 评论 -
第八章 IO流
什么是IO流?水分子的移动形成了水流。IO流指的是:程序中数据的流动。数据可以从内存流动到硬盘,也可以从硬盘流动到内存。Java中IO流最基本的作用是:完成文件的读和写。IO流的分类?根据数据流向分为:输入和输出是相对于内存而言的。输入流:从硬盘到内存。(输入又叫做读:read)输出流:从内存到硬盘。(输出又叫做写:write)根据读写数据形式分为:字节流:一次读取一个字节。适合读取非文本数据。例如图片、声音、视频等文件。(当然字节流是万能的。什么都可以读和写。字符流:一次读取一个字符。原创 2024-07-28 11:40:41 · 188 阅读 · 0 评论 -
第七章 集合
主要掌握LinkedList,ArrayList,Vector,TreeSet,HashSet,LinkedHashSet。原创 2024-07-28 11:39:07 · 215 阅读 · 0 评论 -
第六章 常用类
将当前字符串中所有的target替换成replacement,返回一个新的字符串。从当前字符串的fromIndex下标开始往左搜索,获取当前字符串中str字符串的最后一次出现处的下标。从当前字符串的fromIndex下标开始往右搜索,获取当前字符串中str字符串的第一次出现处的下标。获取当前字符串中str字符串的最后一次出现处的下标。获取字符串常量池中的字符串,如果常量池中没有,则将字符串加入常量池并返回。判断字符串是否为空字符串,如果length()是0就是空字符串。原创 2024-07-28 11:37:29 · 320 阅读 · 0 评论 -
第五章 异常
自定义异常两步:* 第一步:编写了类继承RuntimeException或者Exception* 第二步:提供两个构造方法,一个无参数的,一个带有String参数的。并且在构造方法中调用super(String)*/System.out.println("用户["+name+"]的信息正在保存....");throw new IllegalNameException("无效名字异常,名字长度应该在[6-12]位之间");原创 2024-07-28 11:36:16 · 202 阅读 · 0 评论 -
第四章 数组
若有某个趋势函数f(n)【f(n)代表了时间复杂度的趋势】,使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。推算过程:假设该循环的执行次数为x次(也就是i的取值为2x),就满足了循环的结束条件,即满足了2x等于n,通过数学公式转换后,即得到了x = log2n,也就是说最多循环log2n次以后,这个代码就结束了,因此这个代码的时间复杂度为:O(log2n)。(二)例如,在T(n)=4n2+2n+2中,T(n)的数量级函数f(n)=n2。原创 2024-07-28 11:34:18 · 423 阅读 · 0 评论 -
第三章 面向对象
元空间中存储的是类的原信息,字节码等。元空间是Java8之后引入的,元空间可以看做是JVM规范中方法区中的实现所有使用运算符new的对象,都存储在堆内存中。原创 2024-07-28 11:32:57 · 345 阅读 · 0 评论 -
第二章 Java基础语法
③解决了负数溢出问题:在原码中,负数的表示范围比正数少1,这样在进行减法运算时容易出现负数溢出的情况,而在补码中,负数的表示范围与正数相同,可以避免负数溢出的问题。②解决了0的正负问题:在原码中,0有两个表示,+0和-0,这样会导致计算结果不唯一,而在补码中,0只有一种表示,即全0,可以避免这个问题。例如,将二进制数0b101100右移2位,即为0b1011,相当于将44除以2的2次方(即4),得到11。②两者之间的关系是,1 byte = 8 bit,即8个比特(bit)组成一个字节(byte)。原创 2024-07-28 11:31:32 · 566 阅读 · 0 评论 -
第一章 Java开发环境搭建
将HelloWorld.java文件在当前目录下生成docs目录,里面有帮助文档,提取出了HelloWorld.java中的author以及version,编码方式utf-8。rd abc,删除当前路径下的abc目录。以下命令可以提取生成帮助文档。.class不是二进制文件。JDK:java运行工具包。JRE:java运行环境。JVM:java虚拟机。原创 2024-07-28 11:28:07 · 429 阅读 · 0 评论