- 通过本次课程,实践教学和项目案例驱动,达到企业级软件工程师的水平。1.1Java语言的前世今生一、Java简介JAVA于1995年5月23日正式推出Java之父:詹姆斯·高斯林 (James Gosling)Java有三个版本:JavaSE、JavaEE、JavaME。JavaSE是标准版,主要用于桌面应用软件的编程;JavaEE是企业版,主要用于分布式网络程序的开发;JavaME是微型版,... 通过本次课程,实践教学和项目案例驱动,达到企业级软件工程师的水平。1.1Java语言的前世今生一、Java简介JAVA于1995年5月23日正式推出Java之父:詹姆斯·高斯林 (James Gosling)Java有三个版本:JavaSE、JavaEE、JavaME。JavaSE是标准版,主要用于桌面应用软件的编程;JavaEE是企业版,主要用于分布式网络程序的开发;JavaME是微型版,...
- 1.代理模式的定义代理模式是让一个中介对象代替别的所有对象去完成一项或多项共同的事项,并且还能附加一些中介特有的事项功能。通常代理类虽然具备更多的中介特有的事项功能,但是都是比较固定的。比如在JDBC中或各个框架里,都会存在事务的开启和提交等功能,如果我们直接将事务代码和业务代码写在一起,这样做会使得每一个需要事务的方法都要添加事务代码,造成代码的分散冗余。这时针对这种情况,我们就希望将业务... 1.代理模式的定义代理模式是让一个中介对象代替别的所有对象去完成一项或多项共同的事项,并且还能附加一些中介特有的事项功能。通常代理类虽然具备更多的中介特有的事项功能,但是都是比较固定的。比如在JDBC中或各个框架里,都会存在事务的开启和提交等功能,如果我们直接将事务代码和业务代码写在一起,这样做会使得每一个需要事务的方法都要添加事务代码,造成代码的分散冗余。这时针对这种情况,我们就希望将业务...
- Spring 框架已经成为构建企业级 Java 应用事实上的标准了,众多的企业项目都构建在 Spring 项目及其子项目之上,特别是 Java Web 项目,很多都使用了 Spring 并且遵循着 Web、Service、Dao 这样的分层原则,下层向上层提供服务;不过Petri Kainulainen在其博客中却指出了众多 Spring Web 应用的最大瑕疵。多数有经验的程序开发者都应该... Spring 框架已经成为构建企业级 Java 应用事实上的标准了,众多的企业项目都构建在 Spring 项目及其子项目之上,特别是 Java Web 项目,很多都使用了 Spring 并且遵循着 Web、Service、Dao 这样的分层原则,下层向上层提供服务;不过Petri Kainulainen在其博客中却指出了众多 Spring Web 应用的最大瑕疵。多数有经验的程序开发者都应该...
- Java的序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。需要使用 Java 序列化:想把的内存中的对象状态保存到一个文件中或者数据库中时候;想用套接字在网络上传送对象的时候;想通过RMI(远程方法调用)传输对象的时候。 Java的序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。需要使用 Java 序列化:想把的内存中的对象状态保存到一个文件中或者数据库中时候;想用套接字在网络上传送对象的时候;想通过RMI(远程方法调用)传输对象的时候。
- 反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都1能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。 反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都1能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。
- Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。以下情况需要使用 Java 序列化:想把的内存中的对象状态保存到一个文件中或者数据库中时候;想用套接字在网络上传送对象的时候;想通过RMI(远程方法调用)传输对象的时候。 Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。以下情况需要使用 Java 序列化:想把的内存中的对象状态保存到一个文件中或者数据库中时候;想用套接字在网络上传送对象的时候;想通过RMI(远程方法调用)传输对象的时候。
- 数组(Array),是多个相同类型数据按一定顺序排列的集合数组是引用数据类型,而数组中的元素可以是任何数据类型(基本数据类型和引用数据类型)数组的长度一旦确定,就不能修改我们可以直接通过下标(或索引)的方式调用 一/二维数组的使用:数组元素的默认初始化public class ArrayTest { public static void main(String[] args) { ... 数组(Array),是多个相同类型数据按一定顺序排列的集合数组是引用数据类型,而数组中的元素可以是任何数据类型(基本数据类型和引用数据类型)数组的长度一旦确定,就不能修改我们可以直接通过下标(或索引)的方式调用 一/二维数组的使用:数组元素的默认初始化public class ArrayTest { public static void main(String[] args) { ...
- Java变量 基本数据类型 进制转换 Java变量 基本数据类型 进制转换
- synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步操作是一个无差别的重量级操作,性能也很低。但在 Java 6 的时候,Java 虚拟机 对此进行了大刀阔斧地改进,提供了三种不同的 m... synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步操作是一个无差别的重量级操作,性能也很低。但在 Java 6 的时候,Java 虚拟机 对此进行了大刀阔斧地改进,提供了三种不同的 m...
- synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步操作是一个无差别的重量级操作,性能也很低。但在 Java 6 的时候,Java 虚拟机 对此进行了大刀阔斧地改进,提供了三种不同的 m... synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步操作是一个无差别的重量级操作,性能也很低。但在 Java 6 的时候,Java 虚拟机 对此进行了大刀阔斧地改进,提供了三种不同的 m...
- 方法一:使用安全类,比如 Java. util. concurrent 下的类。方法二:使用自动锁 synchronized。方法三:使用手动锁 Lock。手动锁 Java 示例代码如下:Lock lock = new ReentrantLock();lock. lock();try {System. out. println("获得锁");} catch (Exception e) {//... 方法一:使用安全类,比如 Java. util. concurrent 下的类。方法二:使用自动锁 synchronized。方法三:使用手动锁 Lock。手动锁 Java 示例代码如下:Lock lock = new ReentrantLock();lock. lock();try {System. out. println("获得锁");} catch (Exception e) {//...
- 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方... 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方...
- 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方... 1.继承Thread类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run() 方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。2.实现Runnable接口 (1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方...
- 操作字符串的类有:String、StringBuffer、StringBuilder。String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字... 操作字符串的类有:String、StringBuffer、StringBuilder。String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字...
- final 修饰的类叫最终类,该类不能被继承。final 修饰的方法不能被重写。final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。 final 修饰的类叫最终类,该类不能被继承。final 修饰的方法不能被重写。final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
上滑加载中
推荐直播
-
昇腾AI算法挑战赛-核心算子如何优化?专家带你深度解析2025/11/17 周一 16:00-17:00
王老师 华为算子专家
昇腾AI算法挑战赛进阶赛战鼓催征!本期直播间,我们特邀华为算子专家王老师,为你深度剖析Matmul、wholereducesum等核心算子的底层原理与优化技巧,直击赛题核心。想提升代码效率、冲击更高排名?锁定直播,带你破局!
回顾中 -
AI编码实干派,“码”力全开2026/02/26 周四 15:00-16:30
谈宗玮/于邦旭/丁俊卿/陈云亮/王一男
【中国,深圳,2026年2月26日】,以“AI编码实干派,码力全开”为主题的华为云码道(CodeArts)代码智能体新春发布会在线上成功召开。华为云码道公测版正式发布,为开发者和企业提供具备工程化能力的智能编码解决方案。
回顾中 -
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中
热门标签