Java核心卷1 学习

java核心技术卷1基础知识整理 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar 阅读详情
1. 类所包含的类型变量:
  • 实例变量: 是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。分配了内存空间后会给所有的成员变量一次初始化,没有赋值的会给成员变量对应类型的值,数据类型不同则默认值不同。
  • 局部变量: 在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。用的时候是直接入栈的,如果没有赋值,这个变量就没有初始值,也就无法操作。
  • 类变量: 类变量也声明在类中,方法体外,但是西药用static修饰。
  • final变量: final修饰的变量如果是基本数据类型,则其数值一旦在初始化后不能进行更改;如果是引用数据类型,则对其初始化后不能指向另一个指针。
  • 2. Java线程同步中关键字synchronized详述
    synchronized关键可以修饰函数、函数内语句。无论它加上方法还是对象上,它取得的锁都是对象,而不是把一段代码或是函数当作锁。
    
    1. 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一段时间只能有一个线程得到执行,而另一个线程只有等当前线程执行完以后才能执行这块代码。
    2. 当一个线程访问object中的一个synchronized(this)同步代码块时,其它线程仍可以访问这个object中是其它非synchronized (this)代码块。
    3. 这里需要注意的是,当一个线程访问object的一个synchronized(this)代码块时,其它线程对这个object中其它synchronized (this)同步代码块的访问将被阻塞。
    4. 以上所述也适用于其它的同步代码块,也就是说,当一个线程访问object的一个synchronized(this)同步代码块时,这个线程就获得了object的对象锁。而且每个对象(即类实例)对应着一把锁,每个synchronized(this)都必须获得调用该代码块儿(可以函数,也可以是变量)的对象的锁才能执行,否则所属线程阻塞,方法一旦执行就会独占该锁,直到从方法返回时,也释放这个锁,重新进入可执行状态。这种机制确保了同一时刻对于每一个对象,其所有声明为synchronized的成员函数中至多只有一个处于可执行状态(因为至多只有一个线程可以获取该对象的锁),从而避免了类成员变量的访问冲突。
    3. Struct1 与 Struct2

    1.Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。
    2. Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
    从Servlet 依赖分析:
    3. Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。
    4. Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。
    从action线程模式分析:
    5. Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
    6. Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

Java核心技术卷1+卷2第8版完整学习指南 Java语言由Sun Microsystems于1995年正式发布,是一种面向对象、跨平台、多线程支持的高级编程语言。其设计初衷是为了实现“一次编写,到处运行”(Write Once, Run Anywhere)的目标,这得益于Java虚拟机(JVM)机制的支撑。随着技术演进,Java不断迭代升级,从最初的Java 1.0到如今的Java 11,每个版本都带来了语法增强、性能优化和新特性支持。 阅读详情

相关推荐

JAVA核心卷JAVA核心卷JAVA核心卷

JAVA核心卷JAVA核心卷JAVA核心卷

java核心技术卷I

java核心技术卷I

buxiangmafan的博客 2480

java核心卷答案(含源代码完整版)

Java核心卷I课后习题完整源代码,需要的同学可以下载。

《java核心卷Ⅰ》知识点总结

Java主张一切皆对象的思想,但是基本数据类型并不是对象,于是就有了包装类的概念。其中装箱就是将一个基本数据类型包装成其对应的包装类,拆箱就是反过来将包装类拆成对应的基本数据类型数据。根据转换时是否使用方法,装箱又称为自动拆装箱和手动拆装箱手动装箱有两种方式:使用包装类构造器、包装类的valueOf方法;手动拆箱有一种:包装类的xxxValue方法。

扎哇太枣糕的笔记博客 1085

coreJava:Java核心技术卷

coreJava Java核心技术卷

告别LM2596!用LM5175打造400W自动升降压数控电源(附完整电路图与代码)

本文详细介绍了如何利用LM5175芯片设计400W自动升降压数控电源,替代传统的LM2596方案。通过四开关Buck-Boost拓扑结构,LM5175实现了高达98%的转换效率和400W大功率输出,支持无缝升降压切换。文章涵盖芯片选型、电路设计、PCB布局及STM32数控实现,为工程师提供完整的实践指南。

weixin_27032989的博客 598

Java核心技术 读书笔记

面向对象编程OOP是现在的主流,Java是完全面向对象的。OOP由对象构成,每个对象中有对用户公开的特定功能部分,也有隐藏的实现部分。结构化编程是先考虑算法的设计,再去考虑数据的存储方式。OOP则是先考虑数据的存储方式,再考虑操作数据的算法。使用Java中预先定义的Data类来介绍类的使用方法。现在介绍如何设计复杂应用程序所需要的各种主力类。这些类没有main方法,但是有自己的数据域和实例方法(实例方法不是静态方法)。这些类自己不能运行,通过设计的目的是被调用。

qq_45651829的博客 1282

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 277

高并发,你真的理解透彻了吗?

高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在...

武哥漫谈IT 2233

UFSV3.1-RPMB实现与测试

UFS RPMB功能验证与测试指南 本文介绍了UFS(通用闪存存储)中RPMB(重放保护内存块)的功能验证与测试方法。主要内容包括: RPMB基础配置: 在Linux系统中查看RPMB设备节点 读取RPMB单元描述符获取配置信息 配置RPMB区域大小(16MB)和使能状态 RPMB特性验证: 获取单次写最大请求(16KB) 测试未编程认证密钥时的读写操作 验证认证密钥编程过程 测试用例: 包含4个测试用例,验证RPMB在不同状态下的行为 提供了详细的命令行操作和预期结果 本文可作为UFS RPMB功能验证。

小码哥的博客 1254

学Simulink--机器人基础关节控制场景实例:基于Simulink的无刷直流电机(BLDC)关节六步换相位置控制仿真

本文详细介绍了基于Simulink的BLDC六步换相位置控制仿真方法,针对机器人关节的低成本控制需求。重点阐述了霍尔定位、六步换相和位置闭环三大核心原理,通过Simulink建模实现了从霍尔信号处理到位置环控制的全流程。仿真结果表明,该系统可实现0.3°的定位精度和80ms的响应时间,满足教育机器人等应用场景需求。文章还提供了核心代码模块和参数设置方法,并探讨了转矩脉动抑制、无传感器控制等进阶优化方向,为低成本机器人关节驱动提供了实用解决方案。

amy_mhd的博客 152

JAVA核心技术卷1学习笔记2

jiayue's BLOG 174

皮肤病识别 - 使用DenseNet或EfficientNet模型在ISIC数据集上进行皮肤病识别任务

在本篇博客中,我们探讨了如何使用 DenseNet 和 EfficientNet 模型在 ISIC 数据集上进行皮肤病识别任务。我们加载了数据集,并进行了预处理。然后我们使用 Keras 构建了两个不同的模型,并训练和评估了它们。最后,我们使用训练好的模型对新的皮肤病图像进行了预测。

斌擎科技 1305

JAVA 核心技术卷1学习笔记(1)

JAVA 核心技术卷1学习笔记(1) 总体概述

jiayue's BLOG 196

某验SVG图标验证码识别思路(非训练)

本文提出了一种无需训练的某验SVG图标验证码识别方法。通过分析SVG文件结构,使用正则表达式提取静态图标数据,并借助CairoSVG库转换为PNG格式。随后采用坐标定位方式裁剪出12个固定位置的图标,最后利用ResNet50提取特征,通过余弦相似度匹配目标图标。该方法避免了训练目标检测模型,实现了高效准确的验证码识别。关键步骤包括SVG文件预处理、图标定位裁剪和基于预训练模型的相似度比对。

九月镇灵将的博客 419

光学系统仿真软件:OSLO_(13).衍射光学元件设计v1

目标函数是设计DOE的关键步骤之一。目标函数可以是一个具体的光强分布,也可以是一个特定的波前形状。在仿真软件中,目标函数通常用数学表达式或数据文件来定义。假设我们需要设计一个二元相位掩模,使其在特定位置生成三个焦点。我们可以定义一个目标函数来描述这三个焦点的光强分布。# 定义目标函数"""定义一个多焦点目标函数:param x: 横坐标:param y: 纵坐标:param z1: 第一个焦点的深度:param z2: 第二个焦点的深度:param z3: 第三个焦点的深度。

kkchenjj的博客 1003

java核心技术卷1学习思维导图

java核心技术卷1学习思维导图 java对象与类基础知识 面向对象java 继承 面向对象java 接口和内部类 异常、日志、断言和调试 泛型程序设计 集合

qq_43527345的博客 368

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java核心技术卷1卷2第十版CoreJava高清资源介绍:Java学习者的必备宝典

Java核心技术卷1卷2第十版CoreJava高清资源介绍:Java学习者的必备宝典 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在Java学习者的书单中,一定不会缺少《Java核心技术 卷1卷2 第十版 Core Java 高清》这部重量级作品。它是一部全面涵盖Java语言核心技术的经典教材,无论是初学者还是资深开发者,都能从中受益匪浅。 项目技术分析 《Java...

gitblog_06761的博客 651

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

《java核心技术 卷1 第十版》PDF资源介绍:一本不可或缺的Java学习宝典

《java核心技术 卷1 第十版》PDF资源介绍:一本不可或缺的Java学习宝典 【下载地址】java核心技术卷1第十版PDF资源介绍 《Java核心技术 卷1 第十版》是一份高质量的Java学习资源,采用清晰的目录结构编排,方便读者快速查找所需内容。PDF版本为可复制粘贴的文本格式,极大提升了阅读与学习效率。无论您是初...

gitblog_06755的博客 265

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java核心技术卷1学习笔记2

Java核心技术卷1学习笔记2 1.输入与输出 1.打印输出到标准输出流,调用System.out.println;读取标准输入流System.in,需要构造Scannery对象,并与标准输入流System.in关联。如: Scanner in=new Scanner(System.in); 2.nextLine方法将输入一行;nextInt方法读取一个整数;nextDouble方法读取下一个浮...

weixin_44458246的博客 207

java核心技术卷1学习java基础

java核心技术卷1学习 java基础 有c++基础 java中所有件数都属于某个类的方法,main方法必须有个外壳类并且必须是静态的.main方法正常退出,返回0,如果需要返回其他代码,调用system.exit方法 java中/**/注释不能嵌套 java中数值类型占据的字节数量与平台无关 浮点数值采用二进制系统表示,二进制系统无法精确表示1/10 java中,数值和指针不能代替布尔值 声明一个变量后,必须用赋值语句对变量进行显式初始化 final声明常量 位运算符:>> << 

qq_43527345的博客 322

《JAVA核心卷1》学习笔记一

初步认识equals与==的区别: ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同 ==是指对内存地址进行比较 , equals()是对字符串的内容进行比较 ==指引用是否相同, equals()指的是值是否相同 用一张图可以简要的表现他们之间的关系: == ==与equals()比较 ...

weixin_37729009的博客 1415

Java核心技术卷1学习笔记1

Java核心技术卷1学习笔记1 1.一个简单Java程序 Java区分大小写,大小写拼写错误程序无法运行 类是构建所有Java应用程序和applet的构建块。Java应用程序中的内容必须放在类中。 源代码的文件名必须与公共类的名字相同,并用.java作为拓展名。 2.数据类型 Java是一种强制类型语言,必须为每一个变量声明一种语言。Java中共有8种基本类型,4种整形,2种浮点型,1种用于表...

weixin_44458246的博客 331
上一篇: 设计模式 观察者模式
下一篇: leetcode55 跳跃游戏
Geoooo
博客等级 码龄9年 41粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值