Pontos de teste comuns para gramática em Java

1 estático não pode modificar variáveis ​​locais

// 如下代码会报错
public class Test {
    
    
    public static void main(String args[]) {
    
    
        static int z=2;
        System.out.println(z);
    }
}
/**
解释:
被static修饰的变量称为静态变量,静态变量属于整个类;
而局部变量属于方法,只在该方法内有效。
*/

2 Métodos para resolver conflitos de hash em Java

1.开放地址法
2.链地址法(拉链法)  HashMap
3.再散列
4.建立一个公共溢出区

3 sincronizado 和 volátil

synchronized既可以保证可见性,又可以保证原子性,
synchronized不是修饰变量的 它修饰方法或代码块或对象;
volatile不能保证原子性,保证有序性,可见性;
由于有些时候对 volatile的操作,不会被保存,说明不会造成阻塞。
不可用与多线程环境下的计数器。

4 Método de construção

构造函数不能被继承,构造方法只能被显式或隐式的调用。
构造方法没有返回值类型。

5 coleção

线程安全: Vector,Stack,HashTable,Eenumeration;
			Properties,StringBuffer。ConcurrentHashMap
线程不安全:LinkedList,ArrayList,Set,HashMap。

6 atribuição nula

null表示没有地址;null可以赋值给引用变量,
不能将null赋给基本类型变量,例如int、double、float、boolean。

7 Socket 和 ServerSocket

ServerSocket (int port) 服务端liga a porta da porta, chama accept () para ouvir e esperar que o cliente se conecte, e retorna um soquete em uma fila de conexão.
Socket (endereço InetAddress, porta int) serve para criar 客户端um fluxo de soquete para se conectar ao host, onde InetAddress é a classe usada para registrar o host e a porta especifica a porta.

8 métodos estáticos

静态方法属于类本身,可以使用类名调用。
static块和方法不能出现this和super。
实例对象也可以调用静态方法。
静态方法不可以使用非静态变量。
静态内部类才可以声明静态方法

9 finais

final不能修饰接口;
final和abstract不能同时使用。

10 métodos de modificação sincronizados

修饰非静态方法,锁的是this对象
修饰静态方法,锁的是class对象

11 ResultSet

ResultSet跟普通的数组不同,索引从1开始而不是从0开始

12 direitos de acesso

Insira a descrição da imagem aqui

13 variáveis ​​locais

局部变量在该变量被声明并赋值时创建,而不是在该方法被执行时创建。
局部变量在使用前必须被初始化。

14 variáveis ​​de membro e métodos de membro

类的成员变量包括实例变量和类变量(静态变量),成员方法包括实例方法和类方法(静态方法)
Java的静态方法属于类的成员,实例方法属于对象的成员。

15 Interface, classe abstrata, método de construção

接口没有构造方法,所以不能实例化,
抽象类有构造方法,但是不是用来实例化的,是用来初始化的。
接口中可以有变量,但是无论你怎么写,最后都是public static final的。
抽象类中可以有静态方法,接口中也可以有。
接口中可以有带方法体的方法。(Java 1.8)
接口中可以有非抽象的方法,比如default方法(Java 1.8)。

Interface 16, corpo do método

jdk1.8后接口中用static或default修饰的方法可以有方法体

17 Transformação obrigatória

Java中的byte,short,char进行计算时都会提升为int类型。

18 Hash colisão

ThreadLocal使用开放寻址法解决哈希冲突;
HashMap使用链表法解决哈希冲突。

19 Classe interna local

局部内部类是放在代码块或方法中的,不能有访问控制修饰符,
且不能用static修饰。

20 portas

接口可以多继承

21 switch

switch语句后的控制表达式只能是byte、short、char、int整数类型及其包装类和枚举类型,
不能是long,float,double和boolean类型和object类型。String类型是java7开始支持。

22 resumo

普通变量不能用abstract修饰,abstract一般修饰方法和类

23 variáveis ​​locais

局部变量,没有像成员变量那样类加载时会有初始化赋值,
所以要使用局部变量时,一定要显式的给它赋值,也就是定义时就给它数值。

24 Compartilhamento de discussão e discussão privada

共享:java堆,方法区, 全局变量,静态变量,文件
私有:java虚拟机栈,程序计数器,本地方法栈

25 transitórios

使用transient修饰的变量不会被序列化

26 JVM

JVM 内存可简单分为三个区:

1、堆区(heap):用于存放所有对象,是线程共享的(注:数组也属于对象)

2、栈区(stack):用于存放基本数据类型的数据和对象的引用,是线程私有的(分为:虚拟机栈和本地方法栈)

3、方法区(method):用于存放类信息、常量、静态变量、编译后的字节码等,是线程共享的(也被称为非堆,即 None-Heap)

Java 的垃圾回收器(GC)主要针对堆区

27 A eficiência da replicação de dados

复制的效率System.arraycopy>clone>Arrays.copyOf>for循环

28 Heap em java

Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。

在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。
新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。

29 código ASCII

ASCII码是ANSI码的子集;
ANSI通常使用 0x00~0x7f 范围的1 个字节来表示 1 个英文字符,即ASCII码;

不同 ANSI 编码之间互不兼容。
在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;
在繁体中文Windows操作系统中,ANSI编码代表Big5;
在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。

30 JVM

jvm中没有进程的概念 ,但是jvm中的线程映射为操作系统中的进程,对应关系为1:1。
 在jvm中 是使用监视器锁来实现不同线程的异步执行,在语法的表现就是synchronized  。

31 Constant

常量(final)不管在接口中还是类中必须在声明时初始化!

32 final

被fianl修饰的变量不会自动改变类型,当2个final修饰相操作时,结果会根据左边变量的类型而转化。

33 piscina constante de tempo de execução

运行时常量池大小受方法区大小的影响;
存放了编译时期生成的各种字面量;
存放编译时期生成的符号引用。

34 CMS Garbage Collector

CMS垃圾回收器在初始标记、重新标记阶段是没用用户线程参与的

35 Thread libera recursos de bloqueio

sleep()方法不会释放“锁标志”;
yield()不会释放锁,只是通知调度器自己可以让出cpu时间片,但只是建议,调度器也不一定采纳;
wait()方法会释放掉它所占有的“锁标志”;
join()有资格释放锁资源其实是通过调用wait()来实现的。

36 jre jre se o programa foi concluído

所有的前台线程执行完毕

37 O significado de alguns métodos de servlet

getParameter()是获取POST/GET传递的参数值;
getInitParameter获取Tomcat的server.xml中设置Context的初始化参数
getAttribute()是获取对象容器中的数据值;
getRequestDispatcher是请求转发。

38 Rastreamento de Sessão

有四种方法可以实现会话跟踪技术:
URL重写、隐藏表单域、Cookie、Session。

Fila 39 em Java

LinkedBlockingQueue是一个可选有界队列,不允许null值;
PriorityQueue是一个无界队列,不允许null值,入队和出队的时间复杂度是O(log(n));
LinkedBlockingQueue是一个线程安全的阻塞队列;
PriorityQueue是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。

40 parâmetros de configuração de memória JVM

-Xmx:最大堆大小
-Xms:初始堆大小
-Xmn:年轻代大小
-XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值
	年轻代5120m, Eden:Survivor=3,Survivor区大小=1024m(Survivor区有两个,即将年轻代分为5份,每个Survivor区占一份),总大小为2048m。
-Xms初始堆大小即最小内存值为10240m

41 para a frente 和 redirecionar

执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址;
执行redirect时,服务器端告诉浏览器重新去请求地址;
forward是内部重定向,redirect是外部重定向。

42 Obtenha o valor do cookie na solicitação http

request.getHeader
request.getCookies

43 Cinco princípios básicos de orientação a objetos

单一职责原则(SRP)
开放封闭原则(OCP) 
里氏替换原则(LSP) 	
依赖倒置原则(DIP) 
接口隔离原则(ISP)

Acho que você gosta

Origin blog.csdn.net/Awt_FuDongLai/article/details/109021883
Recomendado
Clasificación