大致苦鱼uHe
大致苦鱼uHe
关注数: 7
粉丝数: 25
发帖数: 522
关注贴吧数: 93
sleep和wait区别 sleep 属于 Thread类,wait属于Object类 wait会释放掉锁,sleep不会释放锁 wait必须在同步代码方法和同步代码块中,sleep没有这一个限制 wait()要调用notify()或notifyall()唤醒,sleep()自动唤醒
Go如何查看运行时调度信息 有 2 种方式可以查看一个程序的调度GMP信息,分别是go tool trace和GODEBUG
“引用”与指针的区别是什么? 引用是C++的概念在C中叫取地址符号 本质:引用是别名,指针是地址 指针是独立的可以指向空值,这时我们为指针分配了内存。而引用必须初始化指定的对象自始至终只能依附于同一个变量,他只是别名。标准没有规定引用要不要占用内存,也没有规定引用具体要怎么实现,具体随编译器
指针常量与常量指针 int * const p //指针常量:指针在前,常量在后 这个p只能指向一个位置,而不能指向其他位置。指向的变量值可以改变。 const int *p = &a; //常量指针 : 常量在前,指针在后 指向的变量值不能改变,但是可以改变这个指针指向的位置。
什么是野指针 野指针不是NULL指针,是未初始化或者未清零的指针,它指向的内存地址不是程序员所期望的,可能指向了受限的内存。 成因: 1)指针变量没有被初始化 2)指针指向的内存被释放了,但是指针没有置NULL 3)指针超过了变量了的作用范围,比如b[10],指针b+11
C++标准库vector以及迭代器 每种容器类型都定义了自己的迭代器类型,每种容器都定义了一对命名为begin和end的函数,用于返回迭代器。 迭代器是容器的精髓,它提供了一种方法使得它能够按照顺序访问某个容器所含的各个元素,但无需暴露该容器的内部结构,它将容器和算法分开,让二者独立设计。
C++中指针和引用的区别 1)指针是一个新的变量,存储了另一个变量的地址,我们可以通过访问这个地址来修改另一个变量; 引用只是一个别名,还是变量本身,对引用的任何操作就是对变量本身进行操作,以达到修改变量的目的 2)引用只有一级,而指针可以有多级 3)指针传参的时候,还是值传递,指针本身的值不可以修改,需要通过解引用才能对指向的对象进行操作
如何减少重绘和回流 通过className或cssText一次性修改样式, 而非一个一个改 离线模式: 克隆要操作的结点, 操作后再与原始结点交换, 类似于虚拟DOM 避免频繁直接访问计算后的样式, 而是先将信息保存下来 绝对布局的DOM, 不会造成大量reflow div不要嵌套太深, 不要超过六层
对单位px、em、rem、vh、vw的理解 px物理像素,绝对值;em相对于父级的大小,相对值;rem相对于html的大小,相对 值;vh相对于屏幕的高度,相对值;vw相对于屏幕的宽度,相对值
什么是内存泄漏?面对内存泄漏和指针越界,有哪些方法? 动态分配内存所开辟的空间,在使用完毕后未手动释放,导致一直占据该内存,即为内存泄漏。 方法:malloc/free要配套,对指针赋值的时候应该注意被赋值的指针是否需要释放;使用的时候记得指针的长度,防止越界
#include<file.h> #include "file.h" 的区别 前者是从标准库路径寻找 后者是从当前工作路径
如何实现6px大小的字 font‐size:12px; transform: scale(.5)
如何垂直水平居中一个元素 .parent{ display:flex; justify‐content: center; align‐items: center; }
为什么需要 redo log? redo log 主要用于 MySQL 异常重启后的一种数据恢复手段,确保了数据的一致性。 其实是为了配合 MySQL 的 WAL 机制。因为 MySQL 进行更新操作,为了能够快速响应,所以采用了异步写回磁盘的技术,写入内存后就返回。但是这样,会存在 crash后 内存数据丢失的隐患,而 redo log 具备 crash safe 的能力。
MySQL 是如何判断一行扫描数的? MySQL 在真正开始执行语句之前,并不能精确地知道满足这个条件的记录有多少条。 而只能根据统计信息来估算记录数。这个统计信息就是索引的“区分度。
Serial 与 Parallel GC 之间的不同之处? Serial 与 Parallel 在 GC 执行的时候都会引起 stop-the-world。它们之间主要不同 serial 收集器是默认的复制收集器,执行 GC 的时候只有一个线程,而parallel 收集器使用多个 GC 线程来执行。
对象分配内存是否线程安全? 对象创建十分频繁,即使修改一个指针的位置在并发下也不是线程安全的,可能正给对象 A 分配内存,指针还没来得及修改,对象 B 又使用了指针来分配内存。 解决方法:① CAS 加失败重试保证更新原子性。② 把内存分配按线程划分在不同空间,即每个线程在 Java 堆中预先分配一小块内存,叫做本地线程分配缓冲 TLAB,哪个线程要分配内存就在对应的 TLAB 分配,TLAB 用完了再进行同步。
如何使用生成式的方式生成一个字典,写一段功能代码。 需求 3: 把字典的 key 和 value 值调换; d = {‘a’:‘1’, ‘b’:‘2’} print({v:k for k,v in d.items()})
合并字典方法很多,可以使用 a.update(b) 或者下面字典解包的方 a = {A:1,B:2} b = {C:3,D:4} print({**a,**b})
例举 Python 对象的命名规范,例如方法或者类等 类:总是使用首字母大写单词串,如 MyClass。内部类可以使用额外的前导下划线。 变量:小写,由下划线连接各个单词。方法名类似 常量:常量名所有字母大写 等
类型注解是什么? PEP 484 引入了类型提示,这使得可以对 Python 代码进行静态类型检查。 在使用 Ide 的时候可以获取到参数的类型,更方便传入参数。使用格式如下 def foo(num: int) -> None: print(f接收到的数字是:{num}) 介绍下这个简单例子,我们可以在函数的参数部分使用参数名+:+类型,来指定参数可以接受的类型,这里的话就是 num 参数为 int 类型,然后后面->接的是返回值的类型。这里返回值为 None,然后通过 fstring 格式化字符串输出传入的数字。
说说Java Bean的命名规范 JavaBean 类必须是一个公共类,并将其访问属性设置为 public JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,此构造器也应该通过调用各个特性的设置方法来设置特性的缺省值。 一个javaBean类不应有公共实例变量,类变量都为private 持有值应该通过一组存取方法(getXxx 和 setXxx)来访问:对于每个特性,应该有一个带匹配公用 getter 和 setter 方法的专用实例变量。
在 Java 中,为什么不允许从静态方法中访问非静态变量? 静态变量属于类本身,在类加载的时候就会分配内存,可以通过类名直接访问; 非静态变量属于类的对象,只有在类的对象产生时,才会分配内存,通过类的实例去访问; 静态方法也属于类本身,但是此时没有类的实例,内存中没有非静态变量,所以无法调用。
什么是反射? 所谓反射,是java在运行时进行自我观察的能力,通过class、constructor、field、method四个方法获取一个类的各个组成部分。 在Java运行时环境中,对任意一个类,可以知道类有哪些属性和方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于反射机制。
python生成器(generator) 生成器(generator)可以简单理解为懒人版本的迭代器。 它相比于迭代器的优势是,生成器并不会像迭代器一样占用大量内存。比如声明一个迭代器:[i for i in range(100000000)]就可以声明一个包含一亿个元素的列表,每个元素在生成后都会保存到内存中。但实际上我们也许并不需要保存那么多东西,只希望在你用 next() 函数的时候,才会生成下一个变量,因此生成器应运而生,在python中的写法为(i for i in range(100000000))
如何将字符串反转?
python如何传递参数 准确地说,Python 的参数传递是赋值传递 (pass by assignment),或者叫作对象的引用传递(pass by object reference)。Python 里所有的数据类型都是对象,所以参数传递时,只是让新变量与原变量指向相同的对象而已,并不存在值传递或是引用传递一说。 根据对象的引用来传递,根据对象是可变对象还是不可变对象,得到两种不同的结果。如果是可变对象,则直接修改。如果是不可变对象,则生产新对象,让形参指向新对象
如何触发BFC,以及BFC的作用 BFC:块级格式化上下文block formatting context,是一个独立渲染区域。规定了内部box如何布局,并且与这个区域外部毫不相干。 触发:float的值不是none;position的值不是static或者relative;display的值是inline-block、block、table-cell、flex、table-caption或者inline-flex;overflow的值不是visible。 作用:避免margin重叠;自适应两栏布局;清除浮动。
前端好学还是java好学?
Python 的解释器种类以及相关特点? CPython c 语言开发的,使用最广的解释器IPython 基于 cPython 之上的一个交互式计时器,交互方式增强功能和 cPython 一样PyPy 目标是执行效率,采用 JIT 技术。对 Python 代码进行动态编译,提高执行效率JPython 运行在 Java 上的解释器,直接把 Python 代码编译成 Java 字节码执行IronPython 运行在微软 .NET 平台上的解释器,把 Python 编译成 . NET 的字节码。
为什么需要CSS? CSS最早是在1997年开发的,它是Web开发人员定义其创建的网页外观的一种方式。它旨在允许开发人员将 网站代码的内容和结构与视觉设计分开,这在此之前是不可能实现的。结构和样式的分离使HTML可以执行其最初基于的更多功能-内容标记,而不必担心页面本身的设计和布局,这通常称为“外观”页面。
Python3 中有六个标准的数据类型 Number(数字)(包括整型、浮点型、复数、布尔型等) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典)
找it培训机构看一下这几个方面 口碑、师资、课程、考核制度等
css标签选择器 结构:标签名 { css属性名: 属性值; } 作用:通过标签名,找到页面中所有这类标签,设置样式
SpringBoot与SpringCloud 区别? SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架,SpringCloud依赖于SpringBoot。
css ID选择器标签 所有标签上都有id属性 id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的 一个标签上只能有一个id属性值 一个id选择器只能选中一个标签
c语言关键字 sizeof C语言中的sizeof是用来计算变量或者使用类型创建的变量大小,单位是字节。
自学前端还是Java还是大数据会比较好?
培训好还是自学好?
C语言程序结构有三种 顺序结构,循环结构(三个循环结构),选择结构(if和switch);2.main函数:每个C语言程序中main函数是有且只有一个。读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
css ID选择器 结构:#id属性值 { css属性名: 属性值; } 作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式
参加IT培训是否要去一线城市?
vue单向数据绑定 语法:v-bind:href ="xxx" 或简写为 :href 点:数据只能从 data 流向页面
CSS引入方式?
C语言的具体结构 简单来说,一个C程序就是由若干头文件和函数组成。
开发 计算机语言 BASIC 早期的机械语言 C C++:系统开发、驱动开发、嵌入式开发(写板子) (驱动程序:需要转换各个厂家设备之间的指令,让厂家设备之间互通) 前端: JS php css html
语言的五大特性 1、万物皆对象2、程序就是多个对象彼此调用方法的过程3、从内存角度而言,每个对象都是由其它更基础的对象组成的4、每一个对象都有类型,都可以进行实例化5、同一类型的对象可以接收相同的消息
css文本 a.文本颜色 color:颜色设置的几种方式1.英文 如: pink4.十六进制 如: #ff0000b.文本对齐text-align: left | right | centerc.文本修饰text-decoration: none | underline | line-throughd.文本缩进text-indent: 2em
最新前沿技术 物联网、大数据、云计算、移动互联网、虚拟现实、人工智能。
java接口 在Java中接口不仅仅是程序开发过程中“约定”,更是更加抽象化的抽象类。
css复合选择器 a.后代选择器 (空格 如: ul li)b.子代选择器 ( > 如: ol > li)c.并集选择器 ( , 如: div,span)d.交集选择器 (什么都没有 如: li.second)
java方法的重写 子类从父类继承的某个实例方法无法满足子类的功能需要时,需要在子类中对该实例方法进行重新实现,这样的过程称为重写,也叫做覆写、覆盖。
css对于li 子元素 flex-basis 主轴中基准值,主轴是x轴,相等于widthflex-grow 主轴中剩余空间分配所占据份数flex-shrink 主轴中如果有亏损,所占亏损的份数flex 速写
super关键字 super代表的是父类对象,使用方式:super.属性名、super.方法名();用于在子类中调用父类被隐藏的同名实例变量super([参数列表])用于在子类的构造方法中调用父类的构造方法
css3怪异盒子(边框盒子) box-sizing:border-box;盒子所占的宽度 = width (包含了border + padding + 内容实际宽)
Java this关键字 this是一种特殊的引用,指向当前对象
在html中引入css的三种方法: (1) 将css规则直接填写在style属性中(2) 将样式嵌入到style标签中(3) 将样式写在.css文件中,再通过link标签将这个文件引入到html中
java对象属性的赋值 属性:对象名.属性名、对象名.属性名 = 数据;
css3文字阴影 text-shadow:5px 5px 5px #bfa;(水平阴影 垂直阴影 模糊半径 阴影颜色)
java数组声明的三种方式 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数据,数据,…,数据};数据类型[] 数组名 = new 数据类型长度[] {数据,数据,…,数据};
1
下一页