
面试
文章平均质量分 91
奥耶可乐冰
这个作者很懒,什么都没留下…
展开
-
[Java面试——数据结构和算法]
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,目前可以解密逆向的只有CRC32算法,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密钥的管理与分发问题,适合于分布式网络上使用。消息摘要算法主要应用在“数字签名”领域,作为对明文的摘要算法。何谓数字签名?数字签名主要用到了非对称密钥加密技术与数字摘要技术。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。原创 2023-12-08 21:14:09 · 1642 阅读 · 0 评论 -
[Java面试——Java 新版本]
函数式编程面向对象编程是对数据进行抽象;函数式编程是对行为进行抽象。核心思想: 使用不可变值和函数,函数对一个值进行处理,映射成另一个值。Lambda表达式lambda表达式仅能放入如下代码: 预定义使用了注释的函数式接口,自带一个抽象函数的方法,或者SAM(Single Abstract Method 单个抽象方法)类型。这些称为lambda表达式的目标类型,可以用作返回类型,或lambda目标代码的参数。原创 2023-12-07 22:57:41 · 1194 阅读 · 0 评论 -
【Java面试——JVM和调优】
PC 寄存器用来存储指向下一条指令的地址,即将要执行的指令代码。由执行引擎读取下一条指令。PC寄存器为什么会被设定为线程私有的?多线程在一个特定的时间段内只会执行其中某一个线程方法,CPU会不停的做任务切换,这样必然会导致经常中断或恢复。为了能够准确的记录各个线程正在执行的当前字节码指令地址,所以为每个线程都分配了一个PC寄存器,每个线程都独立计算,不会互相影响。主管 Java 程序的运行,它保存方法的局部变量、部分结果,并参与方法的调用和返回。原创 2023-12-06 22:44:14 · 2644 阅读 · 0 评论 -
【Java面试——JUC全局观、原子类、锁、集合类、线程池、工具类】
CAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,经过调查发现,其实现方式是基于硬件平台的汇编指令,就是说CAS是靠硬件实现的,JVM只是封装了汇编调用,那些AtomicInteger类便是使用了这些封装后的接口。简单解释:CAS操作需要输入两个数值,一个旧值(期望操作前的值)和一个新值,在操作期间先比较下在旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换。原创 2023-12-02 11:43:28 · 969 阅读 · 0 评论 -
【Java面试——并发基础、并发关键字】
Base和Son都有方法test(),但是这并不是一种覆盖,因为private所修饰的方法是隐式的final,也就是无法被继承,所以更不用说是覆盖了,在Son中的test()方法不过是属于Son的新成员罢了,Son进行向上转型得到father,但是father.test()是不可执行的,因为Base中的test方法是private的,无法被访问到。而final域变量b,根据重排序规则,会禁止final修饰的变量b重排序到构造函数之外,从而b能够正确赋值,线程B就能够读到final变量初始化后的值。原创 2023-12-02 11:25:20 · 1198 阅读 · 0 评论 -
【Java面试——基础题】
从一个简单的泛型类看起:class Point{ // 此处可以随便写标识符号,T是type的简称// var的类型由T指定,即:由外部指定public T getVar(){ // 返回值的类型由外部决定return var;public void setVar(T var){ // 设置的类型也由外部决定// 里面的var类型为String类型// 设置字符串// 取得字符串的长度多元泛型class Notepad{ // 此处指定了两个泛型类型。原创 2023-12-01 17:08:45 · 1073 阅读 · 1 评论