Puntos de prueba comunes para la gramática en Java

1 estática no puede modificar variables locales

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

2 Métodos para resolver conflictos de hash en Java

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

3 sincronizados 和 volátiles

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

4 Método de construcción

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

5 Colección

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

6 asignación nula

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

7 Socket 和 ServerSocket

ServerSocket (puerto int) 服务端vincula el puerto del puerto, llama a accept () para escuchar y esperar a que el cliente se conecte, y devuelve un socket en una cola de conexión.
Socket (dirección InetAddress, puerto int) es para crear 客户端un flujo de socket para conectarse al host, donde InetAddress es la clase utilizada para registrar el host y el puerto especifica el puerto.

8 métodos estáticos

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

9 final

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

10 método de modificación sincronizada

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

11 Conjunto de resultados

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

12 Derechos de acceso

Inserte la descripción de la imagen aquí

13 variables locales

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

14 variables de miembro y métodos de miembro

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

15 Interfaz, clase abstracta, método de construcción

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

16 interfaz, cuerpo del método

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

17 Transformación obligatoria

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

18 Colisión de hash

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

19 Clase interna local

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

20 puertos

接口可以多继承

21 interruptor

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

22 resumen

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

23 variables locales

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

24 hilo compartido y hilo privado

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

25 transitorio

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

26 JVM

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

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

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

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

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

27 La eficiencia de la replicación de datos

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

28 montón en 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 Constante

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

32 final

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

33 grupo de constantes en tiempo de ejecución

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

Recolector de basura 34 CMS

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

35 Thread Release bloquean los recursos

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

36 jre juzgar si el programa está terminado

所有的前台线程执行完毕

37 El significado de algunos métodos de servlet

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

38 Seguimiento de sesiones

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

39 cola en Java

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

40 parámetros de configuración de la memoria JVM

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

41 reenviar 和 redirigir

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

42 Obtenga el valor de la cookie en la solicitud http

request.getHeader
request.getCookies

43 Cinco principios básicos de la orientación a objetos

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

Supongo que te gusta

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