首页
学习
活动
专区
工具
TVP
发布

Java核心技术2 高级特性 学习笔记(2

参考:Java核心技术2 高级特性 第二章 对象序列化是以特殊的文件格式存储对象数据的。当存储一个对象时,这个对象所属的类也必须存储。...某些数据域是不可以被序列化的,java有一种很简单的机制来防止这种域被序列化,就是将它们标记成是transient的。如果这些域属于不可序列化的类,也需要将它们标记成transient。...如果使用的是Java语言的enum接口,就不必担心序列化,它能够正常工作。 即使构造器是私有的,序列化机制也可以创建新的对象! 为了解决这个问题,必须定义称为readResolve的特殊序列化方法。...java.nio包使内存映射变得简单,需要做的: 首先,从文件中获得一个通道(channel),通道是用于磁盘文件的一种抽象,它使我们可以访问诸如内存映射、文件加锁机制以及文件间快速数据传递等操作系统特性...需要注意的几点: 在某些系统中,文件加锁仅仅是建议性的,如果一个应用未能得到锁,它仍旧可以向被另一个应用并发锁定的文件执行写操作 在某些系统中,不能再锁定一个文件的同事将其映射到内存中 文件锁是由整个Java

63020
您找到你想要的搜索结果了吗?
是的
没有找到

Java核心技术2 高级特性 学习笔记(4)

参考:Java核心技术2 高级特性 第八章 三种用于处理代码的技术: 脚本API使得调用诸如JavaScript和Groovy这样的脚本语言代码 可以使用编译器API在应用程序内部编译Java代码...注解处理器可以在包含注解的Java源代码和类文件上进行操作。...注解不会改变程序的编译方式,Java编译器对于包含注解和不包含注解的代码会生成相同的虚拟机指令。...(2)测试、日志、事务语义等代码的自动生成。 在Java中,注解是当做一个修饰符来使用的,被置于被注解项之前,中间没有分号。...语言模型API,可以使用语言模型API来分析源码级的注解,与呈现类和方法的虚拟机表示形式的反射API不同,语言模型API让我们可以根据Java语言的规则去分析Java程序。

64910

Java核心技术2 高级特性 学习笔记(5)

参考:Java核心技术2 高级特性  第九章 Java技术提供了三种确保安全的机制: 语言设计特性(对数组的边界进行检查,无不受检查的类型转换,无指针算法等)。...类加载器 Java编译器会为虚拟机转换源指令,虚拟机代码存储在以.class为扩展名的类文件,每个类文件都包含某个类或者接口的定义和实现代码。...(2)如果指定类拥有类型为另一个类的域,或者是拥有超类,那么这些类文件也会被加载(加载某各类所依赖的所有类的过程称为类的解析)。...在Oracle的Java语言实现中,扩展类加载器和系统类加载器都是用Java来实现的。它们都是URLClassLoader类的实例。...默认情况下,有两个位置可以安装策略文件: Java平台主目录的java.policy文件 用户主目录的 .java.policy文件 数字摘要 消息摘要 消息摘要是数据块的数字指纹,例如,所谓的SHA1

59420

Java核心技术2 高级特性 学习笔记(6)

参考:Java核心技术2 高级特性 第十二章 建议只有在必需的时候才使用本地代码,特别是在以下三种情况下,也许可以使用本地代码: 你的应用需要访问的系统特性和设备是通过Java平台无法实现的 已经有大量的测试过和调试过的用另一种语言编写的代码...,并且知道如何将其导出到所有的目标平台上 通过基准测试,发现所编写的Java代码比用其他语言编写的等价代码慢很多 Java有一个用于和本地C代码进行互操作的API,称为Java本地接口(JNI)。...将一个本地方法连接到Java程序中: (1)在Java类中声明一个本地方法 (2)运行javah以获得包含该方法的C声明的头文件 (3)用C实现该本地方法 (4)将代码置于共享类库中 (5)在Java程序中加载该类库

42620

Java核心技术2 高级特性 学习笔记(3)

参考:《Java核心技术2 高级特性 》第三章 XML是一种非常有用的描述结构化信息的技术。 XML格式能够表示层次结构,这比属性文件的平面结构更加灵活。...解析XML文档,Java提供了两种XML解析器: 文档对象模型(Document Object Model,DOM)解析器这样的属性解析器,将读入的XML文档转换为树结构 XML简单API(Simple...使用XPath来定位信息 使用XPath执行下列操作比普通的DOM方式要简单的多: (1)获得文档节点 (2)枚举它的子元素 (3)定位某个元素 (4)定位其子节点中名字为xx的节点 (5)定位其子节点中的...text节点 (6)获取其数据 Java类库提供的流机制解析器,老而弥坚的SAX解析器和添加到Java SE6中的更现代化的StAX解析器。

61130

Java 2 图形设计Ⅱ- SWING》第2章 Swing的基本知识

有关绘制和更新AWT组件的更多信息,请参见《Java 2 图形设计,Ⅰ:AWT》。 ...例2-4 使用GJApp类    import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  import java.util...无论何时扩展了一个容口并重载了它的paint方法,都必须显式地调用super.paint(),这样,容器中的轻量组件才能重新绘制(注:有关轻量组件的更多信息,请参见《Graphic Java》第1)。...例2-9列出了图2-8所示的小应用程序的代码  例2-9 使用重量弹出式菜单    import javax.swing.*;  import java.awt.*;  import java.awt.event...例2-12 列出了图2-11所示的小应用程序的代码  例2-12把重量组件添加到Swing内部窗体中    import java.awt.*;  import java.awt.event.*;  import

2.3K20

Java 19会发布2个新特性,不动了

源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析...Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction 源码解析 Eureka 和 Hystrix 源码解析 Java...其中前者 Vector API 是一个表达向量计算的 API,它将在下一个 Java 版本中进行第四次孵化;后者提议的功能是将 JDK 移植到开源的 Linux/RISC-V 指令集架构(ISA)。...加入方式,长按下方二维码噢: 已在知识星球更新源码解析如下: 最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB

32010

2-Docker容器数据

(宿主机与网络机器)间如何进行文件交互 Docker容器之间如何进行文件的交换 面对以上问题,Docker提供了数据的概念,数据是宿主机中的一个目录或文件,当容器与数据目录绑定(挂载)后,双方对数据的修改会立即同步...,数据与容器不是一一对应的关系,一个数据可以挂载多个容器,一个容器也可以被挂载多个数据 数据的作用 保证容器数据的持久化 实现容器与宿主机之间的文件交换 实现Docker容器之间的文件交换 配置数据...只需要指定多个-v参数即可 两个容器需要交换文件时,可以挂载到同一个数据下 数据容器 多个容器之间进行文件共享有多种方法,其中一种是将所有容器都挂载到一个数据上,但这样比较繁琐,并且不便于管理,除了这种方式还可以通过数据容器的方式进行多个文件之间的共享...方法就是创建一个容器,挂载到一个数据上,随后让其他容器继承自该容器,这个容器被称为数据容器 # 创建容器,挂载到一个数据上(这里只给了数据的路径,则容器路径会自动分配) docker run...c2 --volumes-from c1 centos:latest docker run -it --name c3 --volumes-from c1 centos:latest

32320

吐血整理 | Java并发编程 72

2、 线程和进程有什么区别? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。...32、 有三个线程T1,T2,T3,怎么确保它们按顺序执行(确保main()方法所在的线程是Java程序最后结束的线程)?...为了确保三个线程的顺序你应该先启动最后一个(T3调用T2,T2调用T1),这样T1就会先完成而T3最后完成。 33、 Thread类中的yield方法有什么作用?...OrderProcessor,QuoteProcessor or TradeProcessor 这种名字比 Thread-1.Thread-2 and Thread-3 好多了,给线程起一个和它要完成的任务相关的名字...(2) 时间片轮转调度策略 有些系统的线程调度采用时间片轮转(round-robin)调度策略。这种调度策略是从所有处于就绪状态的线程中选择优先级最高的线程分配一定的CPU时间运行。

51420

Java SE | 每日作业day10

1.2 思路 (1)定义老师类(姓名,年龄,教书()); (2定义学生类(姓名,年龄,学习()); (3)定义测试类,写代码测试; (4)共性抽取父类,定义人类(姓名,年龄); (5)定义老师类,继承人类...2 第二题 1.1 训练描述 请采用继承的思想实现猫和狗的案例,并在测试类中进行测试。...(2)运行结果部分 ? 第二题 (1)代码部分: 定义Animal类 ? 定义Dog类继承Animal类 ? 定义Cat类继承Animal类 ? 定义测试类 ? (2)运行结果部分: ? ?...本文章将以“指导面试,智取Offer”为宗旨,为广大Java开发求职者扫清面试道路上的障碍,成为面试官眼中的精英,朋友圈里的大神。...在面试场上“胸有成竹”,坦然面对每个面试官的“拷问”,做到进可攻“项目经理、项目总监”等高级职务,视之为翘首可及;退可守“Java工程师、Java测试工程师”等职务,视之为探囊取物。

47830

Java SE | 每日作业day15

2 第二题 1.1 训练描述 键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符。...1.2 操作步骤 (1)键盘录入字符串; (2)遍历字符串,将每个字符存储到集合中; (3)将集合中重复的字符去掉; (4)创建新集合,遍历老集合,获取老集合中的元素,判断新集合中是否包含这个元素,如果不包含...(2)运行结果部分: ? 第二题 (1)代码部分: ? (2)运行结果部分: ? ?...本文章将以“指导面试,智取Offer”为宗旨,为广大Java开发求职者扫清面试道路上的障碍,成为面试官眼中的精英,朋友圈里的大神。...在面试场上“胸有成竹”,坦然面对每个面试官的“拷问”,做到进可攻“项目经理、项目总监”等高级职务,视之为翘首可及;退可守“Java工程师、Java测试工程师”等职务,视之为探囊取物。

36830
领券