无奈为力º🍭
lxjaigxtb
努力不一定成功,但努力一定有收获。
关注数: 3
粉丝数: 7
发帖数: 579
关注贴吧数: 134
AI应用&Java全端开发同步班来喽
嵌入式STM32教程!从基础到进阶,最适合初学者! #嵌入式#
什么是CAS锁 CAS锁可以保证原子性,思想是更新内存是会判断其内存的值是否被修改了,如果没有被修改就直接更新,如果被修改了,就得重新去获取值,知道更新为止。这样是有缺点的: 1.只能支持一个变量的原子操作,不能保证整个代码块的原子操作 2.CAS频繁的失败会造成CPU的开销打 3.会出现ABA问题
Java的内存模型 JMM屏蔽了各种硬件和操作系统的内存访问差异,实现让Java程序在各平台都能够达到一致的内存访问效果,它定义了Java如何将程序中的变量在主存中读取 具体定义:所有变量都在主存中,主存是线程的共享区域,每个线程都有自己独有的工作内存,线程想要操作变量必须从主存中copy一份到自己的工作区域,每个独立内存区域相互隔离。 所以这个时候读写存在延迟,且不是原子操作,所以就出现了一些列的线程安全操作。比如 原子性、可见性、有序性。
抽象类和接口的区别 继承:抽象类是只能单继承的,接口是可以多实现的 属性:属性修饰符也不一样,抽象累可以是public protect 默认不写 还有final 修饰,但是接口只能是public static final修饰 构造方法:抽象类是可以进行实例化的,而接口是不能进行实例化 方法:抽象类既可以抽象的方法,也可以具体的方法,接口只有抽象的方法,而且子类必须实现
Java有几种创建线程的方式 new 一个Thread 继承Runnable类 使用Callable 使用线程池
Java线程、进程、协程的区别 进程:进程是操作系统分配系统资源和内存空间的最小单位。进程是独立的一块空间,所以资源和内存空间的切换是特别消耗资源的。 线程:线程也叫做轻量级的进程,是操作系统调用执行的最小单位。线程的资源是依赖于他的父进程,所以他的资源是共享的,线程的切换需要转换到内核态开销相对于小一些。 协程:协程是一种轻量级的线程,协程是直接在用户态就可以控制,具有对内核态来说是不可见的,所以协程的上下文切换更加的节约资源消耗。
it培训吧吧主竞选:NO.0000号候选人
hashCode()与 equals()之间的关系 在 Java 中,每个对象都可以调⽤⾃⼰的 hashCode()⽅法得到⾃⼰的哈希值(hashCode),相当于对象的指纹信息,通常来说世界上没有完全相同的两个指纹,但是在 Java 中做不到这么绝对,但是我们仍然可以利⽤hashCode 来做⼀些提前的判断,⽐如: 1.如果两个对象的 hashCode 不相同,那么这两个对象肯定不同的两个对象 2.如果两个对象的 hashCode 相同,不代表这两个对象⼀定是同⼀个对象,也可能是两个对象 3.如果两个对象相等,那么他们的 hashCode 就⼀定相同
接口和抽象类有什么区别? 1.接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类。 2.接口可以多继承,抽象类不行。 3.接口定义方法,不能实现,默认是 public abstract,而抽象类可以实现部分方法。 4.接口中基本数据类型为 public static final 并且需要给出初始值,而抽类象不是的。
为什么要有包装类 Java是面向对象的语言,设计理念就是“一切皆是对象”。但是8种基本数据类型却不属于对象,为了解决这个问题,Java为每个基本数据类型都定义了一个对应的引用类型,叫做包装类。 自动装箱与自动拆箱是JDK1.5提供的功能。 自动装箱:可以把一个基本类型的数据直接赋值给对应的包装类型; 自动拆箱:可以把一个包装类型的数据直接赋值给对应额基本类型; 应用场景:例如某个方法的参数是包装类型,调用时我们所使用的数据却是基本类型的数据,这时可以不做任何处理,直接将这个基本类型的值传入给方法即可。
java基本数据类型所占的内存空间 byte:1字节(8位),数据范围是 -2^7 ~ 2^7-1; short:2字节(16位),数据范围是 -2^15 ~ 2^15-1; int:4字节(32位),数据范围是 -2^31 ~ 2^31-1; long:8字节(64位),数据范围是 -2^63 ~ 2^63-1; float:4字节(32位),数据范围是 -3.4*10^38 ~ 3.4*10^38; double:8字节(64位),数据范围是 -1.8*10^308 ~ 1.8*10^308; char:2字节(16位),数据范围是 \u0000 ~ \uffff; boolean:不同的JVM有不同的实现机制,没有固定的参数。
Java访问权限 Java语言中共有三种访问修饰符:public、private、protected; 在使用这些修饰符修饰目标时,一共可以形成四种访问权限,public、private、protected、default(不加任何修饰符)。 修饰成员变量/方法时: private:该成员可以被该类内部成员访问; default:该成员可以被该类内部成员访问,也可以被同一包下的其他类访问; protected:该成员可以被该类内部成员访问,也可以被同一包下的其他类访问,还可以被它的子类访问; public:该成员可以被任意类访问。 修饰类时: default:该类可以被同一包下的其他类访问; public: 该类可以被任意包下,任意类访问。
学习java怎么样 如题
在网页中应该使用奇数还是偶数的字体 (1)偶数字号相对更容易和web设计的其他部分构成比例关系。比如:当我用了14px的正文字号,我可能会在一些地方用14×0.5=7px的margin,在另一些地方用14×1.5=21px的标题字号。 (2)浏览器缘故,低版本的浏览器ie6会把奇数字体强制转化为偶数,即13px渲染为14px。 (3)系统差别,早期的Windows里,中易宋体点阵只有12和14、15、16px,唯独缺少13px。
It教育吧
各种指针都有什么? NULL指针 NULL用于指示指针未指向有效位置。理想情况下,如果在声明时不知道指针的值,则应将指针初始化为NULL。 当由它指向的内存在程序中间被释放时,我们应该使指针为NULL。 悬空指针 悬空指针是没有指向正确内存位置的指针。当删除或释放对象时,如果不修改指针的值或者不置为NULL,就会出现悬空指针。 这时这个指针指向的内存可能被分配给了其他变量就会造成错误。所以是比较危险的。 野指针 就是只声明没有被初始化过的指针,他可能指向任何内存。
gcc的编译过程? gcc编译过程分为4个阶段:预处理、编译、汇编、链接。 预处理:头⽂件包含、宏替换、条件编译、删除注释 编译:主要进⾏词法、语法、语义分析等,检查⽆误后将预处理好的⽂件编译成汇编⽂件。 汇编:将汇编⽂件转换成 ⼆进制⽬标⽂件 链接:将项⽬中的各个⼆进制⽂件+所需的库+启动代码链接成可执⾏⽂件
static const等等的用法(重点) 首先说说const的用法(绝对不能说是常数) 1)在定义的时候必须进行初始化 2)指针可以是const 指针,也可以是指向const对象的指针 3)定义为const的形参,即在函数内部是不能被修改的 4)类的成员函数可以被声明为常成员函数,不能修改类的成员变量 5)类的成员函数可以返回的是常对象,即被const声明的对象 6)类的成员变量是常成员变量不能在声明时初始化,必须在构造函数的列表里进行初始化
主要浅谈下C/C++和PHP语言的区别 1)PHP弱类型语言,一种脚本语言,对数据的类型不要求过多,较多的应用于Web应用开发,现在好多互联网开发公司的主流web后台开发语言,主要框架为mvc模型,如smarty,yaf,升级的PHP7速度较快,对服务器的压力要小很多,在新浪微博已经有应用,对比很明显。 2)C/C++开发语言,C语言更偏向硬件底层开发,C++语言是目前为止我认为语法内容最多的一种语言。C/C++在执行速度上要快很多,毕竟其他类型的语言大都是C开发的,更多应用于网络编程和嵌入式编程。
call、apply和bind的区别? 这三个都是用来定义上下文的,call、apply会指定上下文并执行函数;而bind终身定死上下文但是不执行函数,并返回新的函数。 其中call和apply传入参数的形式有别,call是单独罗列,逗号隔开参数;apply是数组。 函数.call(上下文对象,参数,参数,参数); 函数.apply(上下文对象,[参数,参数,参数]);
CSS 选择器权重如何计算 就近原则:直接选中的,一定比继承的权重大。 一样近,比权重: id是100,class是10,标签是1, 总数权重一样谁写在下面听谁的。 行内 > 内嵌 = 外联 > 导入 !important能够提升权限,但是不能提升继承的 class="a b c" 和挂载顺序无关,看写的顺序
display:none; 和visibility:hidden;的区别 display:none; 彻底消失,释放空间。可能引发页面的reflow回流(重排)。 visibility:hidden; 就是隐藏,但是位置没释放,好比opacity:0; 不引发页面回流。
const解释一下其作用 const修饰类的成员变量,表示常量不可能被修改 const修饰类的成员函数,表示该函数不会修改类中的数据成员,不会调用其他非const的成员函数 const函数只能调用const函数,非const函数可以调用const函数
new、delete、malloc、free之间的关系 new/delete,malloc/free都是动态分配内存的方式 1)malloc对开辟的空间大小严格指定,而new只需要对象名 2)new为对象分配空间时,调用对象的构造函数,delete调用对象的析构函数 既然有了malloc/free,C++中为什么还需要new/delete呢? 运算符是语言自身的特性,有固定的语义,编译器知道意味着什么,由编译器解释语义,生成相应的代码。 库函数是依赖于库的,一定程度上独立于语言的。编译器不关心库函数的作用,只保证编译,调用函数参数和返回值符合语法,生成call函数的代码。 malloc/free是库函数,new/delete是C++运算符。对于非内部数据类型而言,光用malloc/free无法满足动态对象都要求。new/delete是运算符,编译器保证调用构造和析构函数对对象进行初始化/析构。但是库函数malloc/free是库函数,不会执行构造/析构。
#define和const的区别 1)#define定义的常量没有类型,所给出的是一个立即数;const定义的常量有类型名字,存放在静态区域 2)处理阶段不同,#define定义的宏变量在预处理时进行替换,可能有多个拷贝,const所定义的变量在编译时确定其值,只有一个拷贝。 3)#define定义的常量是不可以用指针去指向,const定义的常量可以用指针去指向该常量的地址 4)#define可以定义简单的函数,const不可以定义函数
C++中指针和引用的区别 1)指针是一个新的变量,存储了另一个变量的地址,我们可以通过访问这个地址来修改另一个变量; 引用只是一个别名,还是变量本身,对引用的任何操作就是对变量本身进行操作,以达到修改变量的目的 2)引用只有一级,而指针可以有多级 3)指针传参的时候,还是值传递,指针本身的值不可以修改,需要通过解引用才能对指向的对象进行操作 引用传参的时候,传进来的就是变量本身,因此变量可以被修改
C和C++的区别 1)C是面向过程的语言,是一个结构化的语言,考虑如何通过一个过程对输入进行处理得到输出;C++是面向对象的语言,主要特征是“封装、继承和多态”。封装隐藏了实现细节,使得代码模块化;派生类可以继承父类的数据和方法,扩展了已经存在的模块,实现了代码重用;多态则是“一个接口,多种实现”,通过派生类重写父类的虚函数,实现了接口的重用。 2)C和C++动态管理内存的方法不一样,C是使用malloc/free,而C++除此之外还有new/delete关键字。 3)C++中有引用,C中不存在引用的概念
大数据的五个V是什么? 卷(Volume)-卷表示卷,即以高速率增长的数据量,即以PB为单位的数据量 速度(Velocity)–速度是数据增长的速度。社交媒体在增长数据的速度中起着重要作用。 多样性(Variety)–多样性是指不同的数据类型,即各种数据格式,例如文本,音频,视频等。 准确性(Veracity)–准确性是指可用数据的不确定性。由于大量数据带来不完整和不一致,因此会出现准确性。 价值(Value)–价值是指将数据转化为价值。通过将访问的大数据转化为价值,企业可以产生收入。 注意: 这是大数据采访中提出的基本且重要的问题之一。如果您看到面试官有兴趣了解更多信息,则可以选择详细解释五个V。但是,如果有人询问“大数据”一词,甚至可以提及这些名称。
你对“大数据”一词有什么了解? 大数据是与复杂和大型数据集相关的术语。关系数据库无法处理大数据,这就是为什么使用特殊的工具和方法对大量数据执行操作的原因。大数据使公司能够更好地了解其业务,并帮助他们从定期收集的非结构化和原始数据中获取有意义的信息。大数据还使公司能够根据数据做出更好的业务决策。
根据叶子节点的内容,索引类型分为主键索引和非主键索引。 主键索引的叶子节点存的整行数据,在InnoDB里也被称为聚簇索引。 非主键索引叶子节点存的主键的值,在InnoDB里也被称为二级索引。
索引的三种常见底层数据结构以及优缺点 三种常见的索引底层数据结构:分别是哈希表、有序数组和搜索树。 哈希表这种适用于等值查询的场景,比如 memcached 以及其它一些 NoSQL 引擎,不适合范围查询。 有序数组索引只适用于静态存储引擎,等值和范围查询性能好,但更新数据成本高。 N 叉树由于读写上的性能优点以及适配磁盘访问模式以及广泛应用在数据库引擎中。 扩展(以 InnoDB 的一个整数字段索引为例,这个 N 差不多是 1200。棵树高是 4 的时候,就可以存 1200 的 3 次方个值,这已经 17 亿了。考虑到树根的数据块总是在内存中的,一个 10 亿行的表上一个整数字段的索引,查找一个值最多只需要访问 3 次磁盘。其实,树的第二层也有很大概率在内存中,那么访问磁盘的平均次数就更少了。)
关系型数据库的优点 容易理解,因为它采用了关系模型来组织数据。 可以保持数据的一致性。 数据更新的开销比较小。 支持复杂查询(带 where 子句的查询)
在一个静态方法内调用一个非静态成员为什么是非法的? 由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静态变量,也不可以访问非静态变量成员。
invokedynamic 指令是干什么的? Java 7 开始,新引入的字节码指令,可以实现一些动态类型语言的功能。Java 8 的 Lambda 表达式就是通过 invokedynamic 指令实现,使用方法句柄实现。
HashMap和HashTable的区别 两者父类不同、对外提供的接口不同、对null的支持不同、安全性不同、初始容量大小和每次扩充容量大小不同、计算hash值的方法不同
it培训吧吧主竞选:NO.0002号候选人
已知 AList = [1,2,3,1,2],对 AList 列表元素去重,写具体过程 list(set(AList))
一个编码为 GBK 的字符串 S,要将其转成 UTF-8 编码的字符串 a= S.encode(gbk).decode(utf-8,‘ignore’) print(a)
在给 Py 文件命名的时候需要注意什么? 给文件命名的时候不要和标准库库的一些模块重复,比如 abc。 另外要名字要有意义,不建议数字开头或者中文命名。
如何给变量加注释? 可以通过变量名:类型的方式如下 a: str = this is string type
xrange 和 range 的区别? xrange 是在 Python2 中的用法,Python3 中只有 range xrange 用法与 range 完全相同,所不同的是生成的不是一个 list 对象,而是一个生成器。
Python 的解释器种类以及相关特点? CPython c 语言开发的,使用最广的解释器 IPython 基于 cPython 之上的一个交互式计时器,交互方式增强功能和 cPython 一样 PyPy 目标是执行效率,采用 JIT 技术。对 Python 代码进行动态编译,提高执行效率 JPython 运行在 Java 上的解释器,直接把 Python 代码编译成 Java 字节码执行 IronPython 运行在微软 .NET 平台上的解释器,把 Python 编译成 . NET 的字节码。
为什么要使用克隆?如何实现对象克隆?深拷贝和浅拷贝区别是什么
java 中 IO 流分为几种? (1)按流划分,可以分为输入流和输出流; (2)按单位划分,可以分为字节流和字符流; 字节流:inputStream、outputStream; 字符流:reader、writer;
接口和抽象类有什么区别? (1)接口 接口使用interface修饰; 接口不能实例化; 类可以实现多个接口; ①java8之前,接口中的方法都是抽象方法,省略了public abstract。②java8之后;接口中可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现; (2)抽象类 抽象类使用abstract修饰; 抽象类不能被实例化; 抽象类只能单继承; 抽象类中可以包含抽象方法和非抽象方法,非抽象方法需要有方法体; 如果一个类继承了抽象类,①如果实现了所有的抽象方法,子类可以不是抽象类;②如果没有实现所有的抽象方法,子类仍然是抽象类。
普通类和抽象类有哪些区别? 抽象类不能被实例化; 抽象类可以有抽象方法,只需申明,无须实现; 有抽象方法的类一定是抽象类; 抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类; 抽象方法不能声明为静态、不能被static、final修饰。
String 类的常用方法都有那些? equals、length、contains、replace、split、hashcode、indexof、substring、trim、toUpperCase、toLowerCase、isEmpty等等。
大数据学完之后能从事哪方面工作?
如何将字符串反转? 添加到StringBuilder中,然后调用reverse()。
css等高布局(假等高)互补的内外边距 .parent{ overflow: hidden;}.left, .right{ margin-bottom: -10000px; padding-bottom: 10000px;}
什么是自省 自省是运行时判断一个对象类型的能力。 python一切皆对象,用type, id, isinstance获取对象类型信息。 自省,也可以说是反射,自省在计算机编程中通常指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。
display:none; 和visibility:hidden;的区别是什么? display:none; 彻底消失,释放空间。能引发页面的reflow回流(重排)。 visibility:hidden; 就是隐藏,但是位置没释放,好比opacity:0; 不引发页面回流。
大数据就业面广吗?
xrange 和 range 的区别? xrange 是在 Python2 中的用法,Python3 中只有 range xrange 用法与 range 完全相同,所不同的是生成的不是一个 list 对象,而是一个生成器。
CSS的主要版本有哪些? 主要有:CSS 1,CSS 2,CSS 2.1,CSS 3,CSS 4几个版本
CSS全称是什么? CSS英文全称:Cascading Style Sheets,也就是层叠样式表。是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
解释型和编译型编程语言 解释型语言是在运行程序的时候才翻译,每执行一次,要翻译一次,效率较低。 编译型就是直接编译成机型可以执行的,只翻译一次,所以效率相对来说较高。
学大数据都可以从事哪些工作?
C++这么难,为什么我们还要学习C++?
1
下一页