IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java错题归纳day3 -> 正文阅读

[Java知识库]Java错题归纳day3

1. JAVA的垃圾回收机制

JAVA的垃圾回收机制:
java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。当对象的引用变量被赋值为null,可能被当成垃圾。

2. 一般关系数据模型和对象数据模型之间有以下对应关系

  • 表对应类;
  • 记录对应对象;
  • 表的字段对应类的属性;

3. Java中的工具

  • jar ——》将许多文件组合成一个jar文件
  • javac ——》编译
  • javadoc ——》它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档
  • javah ——》把java代码声明的JNI方法转化成C\C++头文件

4. 关于包装类

  • 无论如何,Integer与new Integer不会相等。不会经历拆箱过程,
  • 两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false
    java在编译Integer i2 = 128的时候,被翻译成-> Integer i2 = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存
  • 两个都是new出来的,都为false
  • int和integer(无论new否)比,都为true,因为会把Integer自动拆箱为int再去比

5. 类的加载

类的加载包括:加载,验证,准备,解析,初始化。

6.加锁机制

  • 只对写操作加锁,不对读操作加锁,会造成读到脏数据
  • CopyOnWrite的核心思想是利用高并发往往是读多写少的特性,对读操作不加锁,对写操作,先复制一份新的集合,在新的集合上面修改,然后将新集合赋值给旧的引用
  • 分段加锁,只在影响读写的地方加锁,锁可以用读写锁,可以提高效率

题目:一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是分段加锁

7. 将对象序列化

Java在序列化时不会实例化static变量和transient修饰的变量,因为static代表类的成员,transient代表对象的临时数据,被声明这两种类型的数据成员不能被序列化

8. final、finally、finalize三个关键字的区别

  • final是修饰符(关键字)可以修饰类、方法、变量
  • finally在异常处理的时候使用,提供finally块来执行任何清除操作
  • finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作

9. 线程共享与线程私有

线程共享:

  • 全局变量
  • 静态变量
  • 文件等公用资源
  • 方法区

线程私有:

  • 程序计数器

10.关于线程局部存储TLS(thread local storage)

  • 是解决多线程中的对同一变量的访问冲突的一种技术
  • TLS会为每一个线程维护一个和该线程绑定的变量的副本
  • Java平台的java.lang.ThreadLocal是TLS技术的一种实现

11. 关于多线程和多进程

1、一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程(通常说的主线程)。
2、资源分配给进程,同一进程的所有线程共享该进程的所有资源。
3、线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
4、处理机分给线程,即真正在处理机上运行的是线程。
5、线程是指进程内的一个执行单元,也是进程内的可调度实体。
6、线程之间共享进程获得的数据资源,所以开销小,但不利于资源的管理和保护;而进程执行开销大,但是能够很好的进行资源管理和保护。

12.运行时常量池

运行时常量池(Runtime Constant Pool)是方法区的一部分。Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池(Constant Pool Table),用于存放编译器生成的各种字面量符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:38:35  更:2022-05-13 11:38:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:53:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码