JAVA面试题

java面试题 当线程 A 持有独占锁a,并尝试去获取独占锁 b 的同时,线程 B 持有独占锁 b,并尝试获取独占锁 a 的情况下,就会发生 AB 两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。 阅读详情

1 throws与throw的区别

解析:throws和throw是异常处理时两个常见的关键字,初级程序员常常容易正确理解throw和throws的作用和区别,说明已经能比较深入理解异常处理。Throw用来抛出异常,如果执行了throw语句,程序将发生异常,进入到异常处理机制。Throws用来声明异常,说明这个方法可能会发生某些类型的异常,那么编译器将强制在调用这个方法的时候处理异常。API中的很多方法都使用了throws声明了异常,所以使用这些方法时编译器会提示需要处理异常。  
参考答案:throw用来在方法体内抛出异常,而throws用来在方法声明处声明异常。这两个关键字有着一定的联系。如果一个方法中使用了throw关键字抛出了异常,那么要么立即用try/catch语句进行捕获,要么就是用throws进行声明,否则将出现编译错误。然而, 
并不是只有使用了throw关键字之后才能使用throws关键字,语法上来说,任何一个方法都可以直接使用throws关键字,抽象方法也可以使用。 

2 collection接口与map接口

解析:Collection和Map是Java集合框架中两个基本集合类型,要区别不同的集合首先要从Collection和Map开始。 

参考答案:Collection接口是传统的集合接口,可以把单个对象存储进来。而Map接口是映射接口,存储的是键值对。 

 

3 list与set的区别

解析:List和Set是Collection接口的两个子接口,也是使用最多的两种集合类型。程序员应该熟悉这两个接口的基本特征,能够更准确地选择正确的集合类型。 
参考答案:List实现了列表类型的集合,List中的元素是有序(ordered)的,每个元素根据放入集合的顺序而对应一个索引值, 可以根据这个索引值返回集合原宿。而Set实现了不重复元素集合,即Set中的元素不能够重复,重复的元素将无法添加到集合中。

 

4 list都有哪些实现

解析:List是用的较多的集合类型,List是一个接口,具体使用List集合类型时,需要使用时实现类。List接口的每个实现类也都实现了不同的数据结构,各自具有不同的特征,其中最常用的是List实现类。

 参考答案:List接口中有以下几个常用实现

1 ArrayList:实现了动态数组的特征。

2 LinkedList: 实现了链表的数据结构,LinkedList也可以用作栈或者队列。

3 Vector:向量。

4 ArrayList  

Vector类的功能 ArrayList都可以实现,区别在于Vector是现行同步的。

 

5 如何创建线程对象

解析:Java 语言能够支持多线程编程,将线程封装成Thread类型的对象,只要创建Thread类型的对象,就能够便捷地启动线程、执行线程体。程序员首先必须掌握创建线程的常用方法。 
参考答案:Java语言中经常使用两种方法创建线程。①创建Thread类的子类,在子类中覆盖Thread类的run方法,实现线程的运行体,只要创建该子类对象就是线程对象。②创建Runable接口的实现类,在实现类中覆盖接口中的run方法,实现线程的运行体。使用Thread(Runable)构造方法可以创建线程对象,参数是Runable接口实现类的实例。

 

6  什么是泛型,作用?

解析:泛型是JDK5中增加的特性,API中有大量的泛型接口、泛型类及泛型方法等。程序员需要了解泛型的作用,尤其在使用集合框架时,往往需要使用到泛型。 
参考答案:泛型的本质就是参数化类型,也就是说把数据类型指定为一个参数。在需要声明数据类型的地方,就可以不指定具体的某个类型,而是使用这个参数。这样一来,就能够在具体使用时再指定具体类型,实现了参数的“任意化”。泛型的好处是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

 

7 自动装箱?拆箱?

解析:自动装箱/拆箱指的是八个包装器类与八个基本类型的转换问题。然而。这个特征却需要谨慎使用,因为虽然表面上看起来非常方便,而实质上依然需要创建对象、进行转换等操作,使用不恰当会降低性能。 

参考答案:自动装箱指的是可以直接将基本数据类型转换为包装器类型,自动拆箱指的是可以直接将包装器类型转换为基本数据类型,如下代码所示:

int m=100; 

Integer  im=m; 

int  n=im;  

 

上诉代码中,直接将m赋值给包装器对象im,这就是自动装箱,然后直接将im赋值给基本数据类型n,这就是自动拆箱。虽然表面上看代码简洁方便,然而本质上装箱时候依然使用new创建了对象,而拆箱时也依然调用了方法进行运算。因此,不要在没有必要的时候,频繁使用装箱拆箱,会降低性能。


1 String = 与 new 的不同

使用“=”赋值不一定每次都创建一个新的字符串,而是从“字符串实例池”中查找字符串。使用“new”进行赋值,则每次都创建一个新的字符串。

 

2 String与StringBuffer

String类是不可变类,字符串一旦初始化后,就不能被改变。而StringBuffer类是可变类,字符串值可以呗改变。常常在实际应用中看到累死这样的代码:String s=new(“hello”);s+=”world”,这两句代码首先创建一个字符hello,然后将world追加到hello结尾并重新赋值给变量s。然后,这个过程实际上是这样的:首先创建一个StringBuffer对象,然后用StringBuffer类的append方法追加字符串,最后对StringBuffer对象调用toString方法合成字符串返回。可见,使用+号连接字符串时,本质上是使用了可变的StringBuffer类,经变动肯定性能效率受到影响,所以建议需要追加字符串时,可以考虑直接使用StringBuffer类。参考答案:String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。

 

3 StringBuffer 与 StringBiulder的区别

StringBuffer是线程安全的字符串缓冲,而StringBuilder不是线程安全的。

 

4 包装器类型?

包装类器包括Byte、Short、Integer、Long、Float、Double、Character、Boolean等类,主要用来对byte、short、integer、long、float、double、character、boolean这八种基本数据类型进行包装,使其称为引用类型。

 

5 JAVA参数传递

解析:值传递时编写应用时不可避免的操作。例如某方法声明形式是public void f(int x){},写方法是,必须为其传递一个int类型的实际参数,如f(10)。又如public  void g(Employee)。那么使用该方法时,必须为其传递一个Employee类型的实际参数,例如g(new Employee())。所以,对于初级程序员来说,了解Java语言的值传递规则非常重要。Java语言是本类型传递的值,例如f(10),仅仅把10复制给形式参数x,是值的拷贝。而引用类的传递时引用,即虚地址,例如g(new Employee())是把实际参数的虚地址传递给形式参数e,也就是说实际参数和形式参数的虚地址相同,物理上是同一个对象。参考答案:基本数据类型传递的是值,引用类型传递的是引用,即虚地址。

 

6 static修饰属性或者方法

static修饰属性或方法后,属性和方法不在属于某个特定的对象,而是所有共享,也可以说是static成员不依赖某个对象,在类加载时就被初始化。Static修饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。 

 

7 == 操作符的作用

解析:实际编程中,==是非常常用的操作符。很多初级程序员会使用这样的代码if(s==”save”0{},结果会发现,即使当字符串s的值为save时,if条件依然不能被执行。是==在比较引用类型时,比较的是两个对象的虚地址,而不是内容。要比较两个对象的内容是否相同,往往需要使用equal方法,例如if(s.equals(“save”)){}。==比较基本类型时,将比值的二进制是否相等,例如(x==0.5){}。值得注意的是,与空指针null值进行比较,往往用==进行,例如if(s==null||s.equals(“”)),表示如果字符串是空指针或者空串。 参考答案:==可以用来比较基本类型或者引用类型。比较基本类型时,==用来比较二进制的值,比较引用类型时,用来比较对象的虚地址。

 

8 && 与 & 的不同

解析:实际编程中,常常需要使用“与”或者“或”的逻辑。其中&&和&存在一定区别&&可能发生各路问题,例如if(s!=null&&s.length()==6)中,如果要的值为null,那么第一表达式的值为false,返回值肯定是false,不会计算第二个表达式的值,这就是短路。然而使用&,例如if(s!=null&s.length()==6),假设s的值为,null,返回值肯定是false,但是会判断第二个表达式的值,将发生空指针异常。实际工作中,经常使用&&操作符。 
参考答案:&&会发生短路问题,当第一个表达式的值为false时,将直接返回结果为false而不会判断第二个表达式的值。而&不会发生短路问题,即使第一个表达式的值是false,会判断第二个表达式的值。

 

9 依赖 与 关联 的关系

解析:关联关系和依赖关系是非常常见的两种关系,二者的区别也很明显,程序员了解二者的区别能够更深入的理解面向对象的思想。 
参考答案:依赖关系是一种瞬时关系,A依赖B,指的是A的某个行为的参数是B的类型,也就是说,A要想实现这个行为,必须依赖B的实例,A关联B,是一种长久的关系。B作为A的属性存在,只要实例化一个A的对象,就会为这个A的对象实例化一个B的对象,作为它的属性使用,可以在A中任何需要使用B的地方使用B。 

 

10 JAVA的继承

解析:继承是面向对象语言的一大特征,主要作用是重复使用,子类通过继承父类,能够重复使用父类的属性和方法。指的注意的是,有两个策略都可使实现重复使用,一个是关联,一个是继承,实际编程中,关联用的更多。因为子类继承父类后,相当于父类中的细节将暴露给子类。初级程序员一定不要随意使用继承,避免滥用继承。 参考答案:继承主要为了能够重复使用父类中的成员。Java语言中的继承是单继承,也就是说一个类最多只能继承一个父类。 

 

11 super的作用

解析:使用一些IDE生成代码时,常常会在构造方法中见到super这个关键字。顾名思义,super是和父类有关的一个关键字,熟悉super的用法对熟练掌握继承很有必要。 

参考答案:如super():表示调用父类中的每一参考的构造方法:又如super(10);表示调用父类中的具有一个整型参数的构造方法。第二种用法是在子类中调用父类中的成员,如super.f();意思是调用父类中的f()方法。

 

12 final的作用

final修饰符是一个用途非常广泛的修饰符,可以修饰类,方法,以及属性。 

参考答案:final类是不能够被继承的类,称为终极类,如String类就是final类,不能有子类。final修饰方法后,是终极方法,不能被子类覆盖,但是可以被子类继承使用。final类不能被继承,final方法不能被覆盖,final属性不能被改变。

 

13 object类的作用,都有什么方法。

解析:Object类是一个非常重要的类,是所有类的父类,包括数组在内,也就是对一个Java类,不管是API中定义的,还是自定义的类,都直接或间接的继承了Object类。所以,如果有一个方法f(Object o),那么可以传递给这个方法任意一个类的对象,包括%%%%。因为所有对象都可以说是Object类型。 
参考答案:Object类是多有类的直接或间接的父类。

常用方法:toString()  equals finalize()

 

14 Object类的equals与hashcode方法

解析:在Object类中,equals方法比较对象的引用值,也就是只有物理上是同一对象的两个引用,在使用equals方法返回true。hashCode方法返回一个对象的内在地址的十六进制值。由于Object类是所有类的父类,所以任意类中都拥有这两个方法,并都可以进行覆盖。尤其是操作Set,Map对象时集合元素类的equals方法和hashCode方法非常必要,因为Set和Map判断元素是否重%%%是依靠这两个方法进行。一般的原则是:如果存在X和Y两个对象,调用X.equals(Y)相同时,那么调用hashCode方法返回值也应该相同;如果X.equals(Y)返回false时,那么调用hashCode方法返回值可能相同,也可能不同。值得注意的是,只要你覆盖了equals方法,一定%%%则覆盖hashCode 方法。在实际工作中,很多IDE环境都支持覆盖equals和hashCode 方法。 

参考答案:Oject类中的equals方法用来比较两个引用值,hashCode用来返回引用的内地址的十六进制数值。在Set以及Map集合中,判断两个元素是否重复时,往往需要使用这两个方法。这两个方法往往被子类覆盖,覆盖的规则是:如果存在x和y两个对象,调用x.equals(y)返回true时,那么调用hashCode方法的返回值也该相同;如果x.equals(y)返回false时,那么调用hashCode方法返回的值可能相同,也可能不同。

 

15 接口与抽象类

解析:接近欧的概念是一个设计层面的概念,初级程序员往往不会自己定义接口,但是会使用接口,理解接口的概念非常必要。接口定义了实现类的规范,即what to do的部分,所有实现类必须按照这个规范进行实现。 
参考答案:接口的特点是不能定义变量(只能定义静态常量static final 修饰,博友说JDK8已经修正,这个没有尝试,期待参考),而且所有方法都是抽象方法。而抽象类中可以有变量,也不强制必须有抽象方法。

 

16 类的继承与接口的实现

解析:类继承父类与类实现接口,本质上其实是一样的。都是将父类或者接口作为模板,在这个模板上进行扩展或者重写。程序员在实际编程中,常常需要继承父类或者实现接口。 
参考答案:类继承父类只是单继承,也就是一个子类最多只有一个父类;而类实现接口可以多实现,就是一个子类可以同时实现多个接口,并覆盖所有接口中的所有抽象方法。

 

17 comparable接口的作用

解析:comparable接口是在实际编程中常常使用的接口,该接口定义了comareTo(Object o)方法,用来定义对象的比较逻辑。这个接口常常在其他API中会强制使用,例如Arrays类的sort(Object[])方法,就强制数组元素必须实现Comparable接口,与这个接口类似的 另外一个接口是Comparator。  
参考答案:Comparable接口定义了compareTo(Object o)方法,可以用来实现对象的比较逻辑,这个接口常常在其他API中强制使用,用来规范对象的比较逻辑

今天参加笔试,里面有设计模式,和一些基础题!

印象最深的是:什么不是Object的函数,我蒙的finalize,哎,无知!

还问了,接口与抽象类的不同,还有多线程的实现方式!下面基本都有。

另外还问了,观察者模式,设计模式,我一点不会,看来要下功夫了!

1.  面向对象编程的三大特性是什么,请简要阐述

(1).继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继 承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增 加新的方法使之更适合特殊的需要。

(2).封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

(3).多态性:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

2.  String 和StringBuffer的区别

JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据这个String类提供了数值不可改变字符串而这个StringBuffer类提供的字符串进行修改当你知道字符数据要改变的时候你就可以使用StringBuffer典型地,你可以使用StringBuffers来动态构造字符数据

3.  说出ArrayList,Vector, LinkedList的存储性能和特性

     ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized思路方法(线程安全) ,通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项前后项即可,所以插入速度较快

4.  Collection 和 Collections的区别

    Collection是集合类的上级接口,继承与他的接口主要有Set 和List.  Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

5.  HashMap和Hashtable的区别

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于HashtableJAVA中文站社区门户oC)| g| ax ,HashMap允许将Null作为一个entryde key 或者value,而Hashtable不允许 HashMap把Hashtable的contains思路方法去掉了,改成containsvalue和containsKey因为contains思路方法容易让人引起误解Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

    最大的区别是,Hashtable的思路方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的思路方法实现同步,而HashMap 就必须为的提供外同步。

    Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

6.  final, finally, finalize的区别

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。 

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

7.  Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

重载(Overload):

(1)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。
        (2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
        (3)重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

重写(Override):

      (1)  父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
    (2) 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
   (3)子类函数的访问修饰权限不能少于父类的

重写方法的规则:
1.参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.
2.返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载.
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常.例如,
父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常.


而重载的规则:
1.必须具有不同的参数列表;
2.可以有不同的返回类型,只要参数列表不同就可以了;
3.可以有不同的访问修饰符;
4.可以抛出不同的异常;


重写和重载的区别在于:

重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值.

用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般.

Overloaded的方法是可以改变返回值的类型。

8.  error和exception有什么区别?

 error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 
    exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

9.  abstract class和interface有什么区别?

1.abstractclass 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

2.在abstractclass 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

  3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。

  4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。

  5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

  6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。

  7.接口中的方法默认都是 public,abstract 类型的。

10. List,Set, Map是否继承自Collection接口

  List,Set是继承自Collection,Map不是。

 

11. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

swtich中只能用byte short int char

 

12. char型变量中能不能存贮一个中文汉字?为什么?

能够定义成为一个中文的,因为java中以unicode编码,一个char占16个bit,所以放一个中文是没问题的。

 

13. 多线程有几种实现方法,都是什么?哪一种方式比较优秀?同步有几种实现方法,都是什么?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 

实现Runnable接口比较好,因为实现类可以实现多个接口,而只能继承一个类。

同步的实现方面有两种,分别是synchronized,wait与notify

14.  java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类

字节流,字符流。字节流继承与inputStream/outputStream,字符流继承于inputStreamReader/outputSteamWriter。


tuxedo事务处理 一、什么是事务 二、事务处理系统的X/Open DTP 模式 三、Tuxedo服务程序和RM的连接 四、Tuxedo事务管理器 五、事务处理应用程序开发及管理 立即下载

相关推荐

时间同步中 TOD 与GPRMC和IRIG-B的区别

时间同步中 TOD 与GPRMC和IRIG-B的区别

ftdlk的博客 1725

2016亚信笔试题

简答题 Struts框架会使用不同的共享资源区来存储对象,共享资源区都有一个lifetime和visibilty规划,请列举出四种不同的作用域并说明作用范围,并简述转发与重定向的差异: JSP标准提供了三种独立的向JSP添加代码的技术,请列举两种 某省的计费帐务系统已设计完成,包括计费子系统(C++编写),销帐子系统(C++编写),前台WEB子系统。现客户已确定采用了tuxedo和weblogic中

TroyFish的博客 6371

Office LTSC 2021/2024专业部署:ODT+config.xml标准化实战

Office部署本质上是企业终端软件生命周期管理的关键环节,其核心原理在于通过声明式配置驱动安装、激活与组件裁剪。Office Deployment Tool(ODT)作为微软官方命令行引擎,配合config.xml这一DSL契约文件,实现可版本控制、可审计、可回滚的自动化交付。该方案技术价值突出体现在稳定性保障(如LTSC长期支持通道)、合规性强化(不绕过授权机制)及运维提效(批量部署、离线支持)。典型应用场景覆盖教育机房批量装机、政企终端标准化、医疗HIS工作站部署等对功能冻结与系统确定性要求严苛的环境

diaocuiguo2493的博客 558

List、Set、Map 是否继承来自 Collection 接口?存储元素时,有何差异?

List、Set、Map 是否继承来自 Collection 接口?存储元素时,有何差异

qqfig的专栏 1775

F5 GTM DNS 实战指南:智能DNS的监控与健康检查机制

本文深入解析F5 BIG-IP GTM智能DNS的核心机制,重点阐述其监控与探针两大功能如何协同工作。监控器负责深度检查服务器应用健康,确保服务可用性;探针则实时测量网络路径质量,实现基于延迟的智能流量调度。文章通过实战配置步骤,指导如何构建逻辑架构、建立iQuery通信、配置业务级健康检查及探针,从而构建高可用、高性能的全局负载均衡解决方案。

weixin_29240711的博客 469

【Ultrascale+ MPSOC学习记录】10、PS端以太网使用lwip

还是参考ALINX教程,学习PS端以太网如何使用,从教程中可以看到,开发板使用了一个xilinx默认不支持的phy JL2121,所以需要修改lwip的库源码。

ryo891012的博客 880

面试1

要对绝对地址0x100000赋值,我们可以用 (unsigned int*)0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行 ,应该怎么做? 【标准答案】*((void (*)( ))0x100000 ) ( ); 首先要将0x100000强制转换成函数指针,即: (void (*)())0x100000 然后再调用它: *((void (*)())0x10...

TuxedoLinux的博客 254

谁还攥着旧的类加载器:Metaspace OOM 的元数据记账、类卸载条件与泄漏定位解析

MetaSpace区是JVM内存管理中的关键部分,负责存储类元数据。随着Java 8的推出,MetaSpace取代了PermGen区,但其灵活性也带来了新的挑战,尤其是在动态类加载和频繁类更新的场景下,容易导致MetaSpace内存溢出(OOM)问题。本文探讨了MetaSpace OOM的根本原因,包括类加载器泄漏、内存管理不当和GC效率低下等,并提供了一系列调优策略和解决方案,帮助开发者有效排查和防止此类问题的发生,确保应用程序的稳定性和高可用性。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 15万+

性能测试面试题

1,EBCDIC translation有什么用? 答:能够使部分数据显示它在16进制和ASCII码的格式,并标明偏移量,应用于数据关联 2,编译器和解释器有什么区别? 答:编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机   器语言来运行此程序,速度很快;   而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行

hualusiyu的专栏 1103

计算机视觉(角点检测)- 1 - Harris角点检测

计算机视觉(角点检测)-1.1 Harris角点检测学习前言 学习前言   今天更新一下计算机视觉的东西吧,哈哈哈o( ̄︶ ̄)o   关于角点检测呢,就是检测图像中角点的算法,常见的有四种常见的算法:Moravec角点检测算法、 Harris角点检测算法、Shi-Tomasi 算法、FAST角点检测算法,不过常用的就两种吧——Harris角点检测算法、Shi-Tomasi 算法(反正我基本上就只用到这两种,先着重介绍前面两种,后面再花世界介绍吧)(~ ̄▽ ̄)~ ...

qq_40374812的博客 1万+

10、硬件工程师笔试面试——继电器(2025版本)

在设计电路时,应综合考虑SSR的优势和局限性,确保选择合适的型号,并采取适当的设计措施来优化性能和可靠性。继电器的主要功能是利用较小的电流或电压来控制较大电流或电压的电路,实现信号的放大和隔离。在处理继电器故障时,应综合考虑电源、线圈、触点和负载等因素,及时进行故障诊断和处理,以确保电路系统的稳定性和安全性。由于汽车电子系统的复杂性,继电器的设计和选择必须考虑到系统的特定要求,包括电流容量、电压等级、环境条件(如温度、湿度、振动)以及所需的保护和隔离功能。确定线圈的工作电压或电流,以及吸合电压或电流。

XU157303764的博客 3733

操作系统面试题

1、线程与进程的区别联系 2、进程通信方式有哪些? 3、同步的方式有哪些? 4、ThreadLocal与其它同步机制的比较 5、进程死锁的条件 第一题: (1)线程是进程的一个实体,一个进程可以拥有多个线程,多个线程也可以并发执行。一个没有线程的进程也可以看做是单线程的,同样线程也经常被看做是一种轻量级的进程。并且进程可以不依赖于线程而单独存在,而线程则不然。 (2)进程是并发...

weixin_30718391的博客 335

微信删除的聊天记录怎么恢复(2024年最新攻略合集)

随着微信对我们生活中方方面面的渗透,微信已然从一款简单的社交软件过渡成为现时代的一种生活方式,而微信中的聊天记录就是我们和朋友之间历程的最好证明。对此,今天我们来聊聊微信删除的聊天记录怎么恢复的问题。

m0_70960708的博客 944

JAVA 面试背 通过_java面试题背不下来怎么办?java面试题总结

Language》一书的附录中给出了一个Java关键字列表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字)。最近有很多java人员反映,说java面试题太多根本就背不下来,这可急坏了他们,毕竟要去面试java工作的,那么接下来,我们就来给大家讲解一下java面试题背不下来的解决方法。可以正确编译,因为s1+= 1;

m0_74825409的博客 1405

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java面试题

Java面试题(01)Java面试题(02)Java面试题(03)Java面试题(04)Java面试题(05)Java面试题(06)Java面试题(07)Java面试题(08)Java面试题(09)Java面试题(10)Java面试题(11)Java面试题(12)Java面试...

心底善良小剥皮de博客 4314

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java面试题(最新最全Java面试题汇总)

Java面试题(最新最全Java面试题汇总)JAVA相关基础知识Java面试题集-Java面试题,J2EE面试题集J2EE面试题集(附答案)Java常见面试题集--面试题全面综合(一)Java常见面试题集--面试题全面综合(二)Java面试题集(欢迎大家踊跃提供) 最全的C/C++面试题集(C/C++试题和部分答案)最全的C/C++面试题集(最全的C/C++试题集和答案)(续)一道有趣的C#考试题

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 3023

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java 入门面试题

基础:JDK 和 JRE 的区别== 和 equals 的区别基本类型和包装类对象使用 == 和 equals进行比较的结果?什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题?hashCode()相同,equals() 也一定为 true吗?final 在 java 中的作用final finally finalize()区别finally语句块一定执行吗?final 与 static 的区别return 与 finally 的执行顺序对返回值的影响String对象中的replace和replaceA

m0_74824755的博客 1166

最新Java面试题,常见面试题及答案汇总

Java最新常见面试题 + 答案汇总 原文地址:https://blog.youkuaiyun.com/sufu1065/article/details/88051083 1、面试题模块汇总 面试题包括以下十九个模块: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate...

JustDI0209的博客 568

2020最新Java面试题

@TOC1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和 ...

java开发郭靖 3050

【面试题】-java面试题总目录

前言:先吐槽一下面试吧,相信不少人都有这样的经历,其实你对某项技术已经掌握的很OK了,但在面试的时候却未必能发挥到很好,让面试官觉得你确实已经很好的掌握该技术,也就是说你实际对该技术掌握的程度有90%,但面试时表现出来的却只有30%甚至更少,这可能是表达能力的问题,但也可能很大程度是因为你没有刷面试题,有些平时几乎很少会用到地方没有涉及到刚好被问到了.就好生活中有些人开车开得很好,甚至是一些开车多...

老汉健身的博客 578

Java经典面试题

这份面试题,包含的内容了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。下面一起来看 208 道面试题,具体的内容。以下是网上整理的非常全面的面试题,当然,绝大多数人不可能全部用到,但是都罗列在此,大家可根据自己的情况,选择对应的模块进行阅读。

2401_87878486的博客 1337

java面试题_2019 最新 200 道 Java 面试题

2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的“功课”,首先我研究了几乎所有大厂的面试题,还和负责招聘工作的几个朋友,详细的探讨了 Java 面试所要涉及的知识点,于是就有了今天大家看到的这 200 多道面试题。为什么要公开这些面试题?原因一:身边从事 Java 开发的人员越来越多,我的表...

weixin_39734458的博客 154

大厂JAVA面试题

精心整理的近几年国内大厂的一些java面试题,希望对大家有所帮助

狗剩没有饭吃 1400

Java面试题集锦

 Java面试题集锦 2017-09-26 阿木侠 Java知音 Java知音 Java知音 微信号 Java_friends 功能介绍 致力打造一个有情怀的Java相关技能推送号 这是整理之后的面试题,本来都是已经发过的,后台不断有小伙伴留言想我去把这些集中到一块儿看着方便,最近一直挺忙就一直没动手,今天终于抽出空来整理了,顺手把推荐书籍

java_2017_csdn的博客 3450
上一篇: Swing JComponent类
下一篇: 网络
TuxedoLinux
博客等级 码龄9年 268粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值